Розуміння 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:

Майже все, що описано в цих трьох статтях, зазвичай, взагалі ніколи не має потрапляти у блокчейн Біткоїна.

Якщо і Еліс, і Боб захочуть закрити канал «мирно», вони можуть просто створити транзакцію із початкової транзакції відкриття, щоб замістити все, що сталося з моменту відкриття транзакції. Після цієї транзакції закриття вони надсилають собі свою справедливу частку каналу, представлену найбільш пізнім станом каналу.

Конкретно це означає, що якщо Еліс захоче закрити канал, вона може просто створити транзакцію, перерахувавши собі чотири біткоїни, а Бобу шість, і попросити Боба підписати й транслювати цю транзакцію. Оскільки для нього немає причин не робити цього, він, ймовірно, співпрацюватиме та закриє канал.

У підсумку, лише дві транзакції будуть трансльовані через мережу Біткоїна і включені в блок: транзакції відкриття та закриття. Це залишатиметься актуальним, навіть якщо Еліс і Боб здійснять між собою мільйони транзакцій, тим самим знімаючи величезний тягар з блокчейну.

Закриття

Тренди Біткоїн-індустрії Тренди Біткоїн-індустрії Екосистема Біткоїна є вкрай динамічною та інноваційною. Проаналізуємо тенденції останніх років та визначимо напрям, куди рухається індустрія. Дмитро Харьков 08 травня 2024
Як Біткоїн збагачує країни Як Біткоїн збагачує країни Деякі країни використовують біткоїн не тільки як засіб заощадження, а також як один зі способів заробітку. Зі всіх можливостей, що пропонує Біткоїн, уряди найчастіше обирають майнінг. Володимир Гришенко 07 травня 2024
Чому корпорації обирають біткоїн Чому корпорації обирають біткоїн У стратегіях великих компаній останніми роками відбуваються значні зміни. Вони починають переорієнтовуватися на використання BTC як резервного активу та блокчейну Біткоїна як найнадійнішої мережі для фінансових проєктів. Дмитро Харьков 06 травня 2024