Понимание Lightning Network, часть 3: завершение головоломки и закрытие канала

Понимание Lightning Network, часть 3: завершение головоломки и закрытие канала

Сеть Lightning Network была самой ожидаемой технологической инновацией, которую развернули поверх Биткоина.

Платежный уровень, впервые предложенный Джозефом Пуном и Таджем Драйей способен поддерживать практически неограниченное количество оффчейн-транзакций между пользователями практически бесплатно — при этом используя безопасность, предлагаемую Биткоином.

Но мало кто полностью понимает, как «будущее микроплатежей» должно расширить возможности Биткоина.

В этой серии из трех статей Bitcoin Magazine излагает основные компоновочные блоки (модули) сети Lightning Network и показывает, как они сочетаются друг с другом для реализации этого грядущего уровня протокола.

В первой статье этой серии мы рассмотрели основные компоновочные блоки (модули) и объяснили, как они используются для создания двунаправленных платежных каналов. Во второй статье объяснялось, как формируется сеть и как контракты с хешлоками и таймлоками (HTLC) связывают вместе разные каналы в сети. В этой третьей и последней статьи серии объясним, как HTLC размещаются внутри двунаправленных платежных каналов, чтобы транзакции могли происходить полностью вне блокчейна.

Сеть Lightning Network

На данный момент Элис и Боб открыли двунаправленный платежный канал, в который каждый из них перечислил по пять биткоинов. Они совершили две транзакции туда-обратно, и при текущем состоянии канала Элис и Боб могут потребовать пять биткоинов для себя, «сбросив канал» в блокчейн.

Теперь они хотят включить HTLC в канал. Это делается для того, чтобы гарантировать, что если Кэрол потребует биткоин от Боба в обмен на принадлежащее ей числовое значение, Бобу взамен гарантируется биткоин от Элис.

Как и в предыдущем шаге, Элис и Боб оба начинают с создания новой транзакции-обязательства. Во многом эти транзакции-обязательства очень похожи на предыдущие транзакции-обязательства. Они включают в себя обычные входные и выходные данные на адрес с мультиподписью и таймлоком CSV (CheckSequenceVerify), а также и специальным хешлоком. Аналогично, как и в предыдущем шаге, Элис и Боб обмениваются своими старыми секретными ключами, чтобы эффективно аннулировать старый канал. После обмена и Элис, и Боб могут подписать свои половины транзакций-обязательств и потенциально поместить их в блокчейн в любое время.

Всем знакомая картина. Кроме одного изменения. Транзакции-обязательства Элис и Боба теперь включают один новый выходной результат стоимостью один биткоин. (Это дает баланс 4-5-1; четыре для Элис, пять для Боба, один для нового выходного результата.)

Этот новый выходной результат по сути является HTLC. И это даже круче, чем все остальные выходные данные, потому что есть три способа разблокировать его.

Во-первых, новый выходной результат (как в транзакциях-обязательствах Элис, так и в транзакциях Боба) освобождает биткоин при условии, что подпись Боба и числовое значение будут включены в последующую транзакцию. Таким образом, независимо от того, подписывает и передает ли Элис или Боб транзакцию-обязательство, только Боб может разблокировать этот выходной результат, если он включит числовое значение. Но есть одно небольшое различие между двумя транзакциями-обязательствами: если Боб сбрасывает канал, задействуется таймлок CSV. Ему нужно будет подождать 1000 блоков. (Если Элис сбрасывает канал, он сможет немедленно получить этот биткоин.)

Причина, по которой Боб должен ждать 1000 блоков, если он сбрасывает канал, очень похожа на ту, что мы видели раньше: это позволяет Элис истребовать этот биткоин на случай, если Боб когда-либо попытается подписать и передать старое состояние канала. Вот тут-то и появляется второй способ разблокировать выходной результат. Элис может «украсть» средства, если она предоставит (самый новый) секретный ключ Боба.

В эту игру могут играть двое: если Элис когда-либо попытается обмануть и транслировать этот канал, когда он уже устарел, Боб может потребовать этот биткоин, используя секретный ключ Элис. (Ему даже не нужно было бы указывать числовое значение).

И, в-третьих, как и в случае с любым другим HTLC, обе транзакции-обязательства также включают в себя обычный резервный тайм-аут CLTV для Элис. Если Боб не включит числовое значение, скажем, через две недели (например, потому что он не получил его от Кэрол), Элис может потребовать свои биткоины обратно. Опять же, для этой опции не имеет значения, сбрасывает ли канал Элис или Боб.

Так куда же все это нас привело?

И Элис, и Боб имеют полудействительную транзакцию-обязательство. Если Элис сбрасывает свою транзакцию-обязательство в блокчейн, она немедленно отправляет пять биткоинов Бобу. Также, она может дождаться 1000 блоков и получить четыре биткоина для себя. Кроме того, у Боба есть две недели, чтобы предоставить числовое значение и потребовать биткоин в «выходном результате HTLC». (Если он не предоставит числовое значение в течение двух недель, Элис может истребовать себе этот биткоин).

Боб, тем временем, также может в любой момент сбросить свою транзакцию-обязательство и немедленно отправить Элис четыре биткоина. Затем ему пришлось бы ждать 1000 блоков, чтобы получить еще пять биткоинов с одного адреса, а также еще один биткоин из выходного результата HTLC, если он предоставит числовое значение. (Если он не предоставит числовое значение в течение двух недель, Элис может потребовать его обратно).

И, конечно же, если Элис или Боб попытаются смошенничать в любой момент в будущем и подписать и транслировать этот канал, когда он устарел, оба могут полностью заблокировать другого и украсть все биткоины на канале.

Бидирекшн

Урегулирование статуса

В этот момент Боб гарантированно получит биткоин в обмен на числовое значение (при условии, что оно у него есть). Все, что ему нужно сделать, это подписать и передать транзакцию-обязательство, которую он получил от Элис, включить числовое значение в последующую транзакцию, а также подписать и передать ее.

Элис это знает. Она никак не может обманом заполучить у Боба его биткоины — даже если она узнает числовое значение каким-то другим способом.

Таким образом, эти двое могут просто «порешать» за пределами канала. Боб может просто передать числовое значение Элис, и Элис может согласиться обновить статус канала до более нормального состояния без HTLC и крайнего срока ожидания.

Предполагая, что обе стороны хотят оставить канал открытым, это то, что они, естественно, сделают: это меньше хлопот, чем необходимость сбросить канал в блокчейн.

Статус

Закрытие канала

И, наконец, вот где реальная мощь Lightning Network:

Почти все, что описано в этих трех статьях, как правило, вообще никогда не должно попадать в блокчейн Биткоина.

Если и Элис, и Боб хотят закрыть канал «мирно», они могут просто создать транзакцию из исходной открывающей транзакции, чтобы переопределить все, что произошло с момента открытия транзакции. Из этой закрывающей транзакции они отправляют себе свою справедливую долю канала, представленную самым последним состоянием канала.

Конкретно это означает, что если Элис хочет закрыть канал, она может в этот момент просто создать транзакцию, перечислив себе четыре биткоина и Бобу шесть, и попросить Боба подписать и транслировать эту транзакцию. Поскольку у него нет причин не делать этого, он, вероятно, будет сотрудничать и закроет канал.

В конце концов, только две транзакции будут транслироваться по сети Биткоина и включаться в блок: транзакции открытия и закрытия. Это останется верным, даже если Элис и Боб совершат миллион транзакций между ними, тем самым сняв огромное бремя с блокчейна.

Закриття

Халвинг Биткоина: как он повлияет на майнеров и на курс BTC Халвинг Биткоина: как он повлияет на майнеров и на курс BTC 2024 год богат событиями. В начале года состоялись запуски спотовых биржевых биткоин-фондов, в силу чего курс BTC обновил свой исторический максимум. На очереди еще одно знаковое действо, которое может стать дополнительным драйвером для Биткоина, – халвинг. Владимир Гришенко 19 апреля 2024
Почему не следует становиться альткоинером Почему не следует становиться альткоинером Агрессивная реклама разнообразных криптопроектов побуждает людей покупать альткоины или участвовать в других сомнительных криптоинициативах. Однако этот путь крайне опасен. Дмитрий Харьков 18 апреля 2024
Одобрение биткоин-ETF в Гонконге: почему это важно Одобрение биткоин-ETF в Гонконге: почему это важно На этой неделе несколько инвестиционных компаний Гонконга сообщили, что их заявки на спотовый биткоин-ETF утвердил регулятор. Это важное событие, которое значительно повлияет на Биткоин-индустрию. Дмитрий Харьков 17 апреля 2024