MSTR Cat

Блокчейн/Уровень V · Слои/5.1 Lightning/Урок 1

Платёжные каналы

Две подписи, тысячи платежей: как устроены расчёты вне блокчейна

МатериалыБлок-эксплорер, умеющий отображать мультисиг-входы (например, mempool.space)Спецификация BOLT #2Графический инструмент для визуализации структуры транзакции финансирования и коммитмент-транзакций

Любопытство

  1. Как две стороны могут осуществлять тысячи мгновенных платежей, при этом отправляя в блокчейн Bitcoin всего две транзакции?
  2. Какой механизм не позволяет участнику опубликовать более старую коммитмент-транзакцию, в которой баланс распределён в его пользу?
  3. Почему первые платёжные каналы, описанные Джереми Спилманом в 2013 году, были только однонаправленными?

Исследование

  1. Базовый уровень Bitcoin проводит расчёты по транзакциям примерно раз в десять минут, что создаёт задержки и ограничения по комиссиям для частых микроплатежей. Платёжные каналы выносят вычислительную нагрузку по обновлению состояния за пределы блокчейна, позволяя участникам неограниченно обмениваться подписанными состояниями баланса без распространения по сети. Блокчейн служит исключительно уровнем расчётов и проверяет лишь первоначальное финансирование и окончательное закрытие канала.
  2. Канал открывается транзакцией финансирования: она создаёт мультисиг-выход 2-из-2, блокирующий средства под совместным контролем Алисы и Боба. Если каждый вносит по 1 BTC, ёмкость канала составляет 2 BTC. Ни одна из сторон не может единолично потратить эти средства без подписи другой. Такая структура объединяет участников общим счётом, который существует лишь как потенциальное требование в основной цепи.
  3. В ходе работы канала Алиса и Боб обмениваются коммитмент-транзакциями, отражающими новое распределение баланса. Каждое обновление заменяет предыдущее состояние: если Алиса отправляет Бобу 0,1 BTC, они подписывают новую транзакцию, переносящую средства с выхода Алисы на выход Боба. Эти подписанные, но не опубликованные в сети транзакции являются валидными транзакциями Bitcoin, поэтому любое итоговое состояние можно принудительно исполнить ончейн, не полагаясь на доверие к контрагенту.
  4. Кроме того, нужно не допустить, чтобы какая-либо из сторон опубликовала устаревшее состояние, по которому ей причиталось больше. В Lightning для этого используются секреты отзыва и таймлоки, о которых пойдёт речь в одном из следующих уроков; если коротко, публикация отозванного состояния позволяет другой стороне забрать весь баланс канала, поэтому мошенничество — заведомо проигрышная ставка.
  5. Канал закрывается либо кооперативно, либо в одностороннем порядке. При кооперативном закрытии обе стороны подписывают расчётную транзакцию, которая сразу выплачивает им итоговые балансы без таймлоков. Если одна из сторон отключается или действует злонамеренно, другая может принудительно закрыть канал, опубликовав последнюю коммитмент-транзакцию. В этом одностороннем сценарии сторона, инициировавшая принудительное закрытие, должна выждать относительный таймлок, прежде чем потратить свою долю, — это оставляет время для штрафного требования; выход другой стороны становится доступен почти сразу.
  6. К предшественникам относятся однонаправленные каналы Джереми Спилмана (2013), в которых платежи могли идти только от плательщика к получателю, и дуплексные каналы Кристиана Деккера и Роджера Ваттенхофера (2015). В статье Джозефа Пуна и Таддеуса Драйи о Lightning Network (черновик 2015 года, версия 2016 года) появились отзываемые коммитменты, благодаря которым канал может оставаться открытым бессрочно, и HTLC, благодаря которым платежи можно маршрутизировать через множество каналов. Сегодня этими состояниями управляют реализации в мейннете, такие как LND, Core Lightning и Eclair; по-настоящему заметное распространение началось в 2018 году.

Ключевые факты

  • Платёжный канал блокирует средства в мультисиг-выходе 2-из-2, поэтому для их траты ончейн требуются обе подписи.
  • Коммитмент-транзакции — это подписанные, но не опубликованные обновления, перераспределяющие баланс канала; каждое новое состояние заменяет предыдущее.
  • Секреты отзыва позволяют контрагенту забрать весь баланс канала, если опубликована устаревшая коммитмент-транзакция.
  • При кооперативном закрытии балансы выплачиваются сразу через расчётную транзакцию без таймлоков; при одностороннем закрытии действуют относительные таймлоки, дающие время на штрафную проверку.
  • Однонаправленные каналы Джереми Спилмана (2013) и дуплексные каналы Деккера и Ваттенхофера (2015) стали главными предшественниками Lightning Network.
  • Основные реализации — LND (Lightning Labs), Core Lightning (Blockstream), Eclair (ACINQ) и LDK; использование в мейннете стало быстро расти с 2018 года.

Упражнение девять, шесть, три, один

9СобратьПеречислите 9 отдельных технических компонентов или протоколов, участвующих в открытии, обновлении и закрытии платежного канала.
6СгруппироватьРаспределите эти 9 элементов по 6 категориям в зависимости от их функции: финансирование, управление состоянием, обеспечение безопасности, механизмы закрытия, предпосылки маршрутизации или стандарты реализации.
3Выделить главноеСведите 6 групп к 3 ключевым принципам, которые обеспечивают работу двух сторон без необходимости доверять друг другу.
1КристаллизоватьНапишите 1 предложение о том, почему двух ончейн-транзакций достаточно для расчёта по любому количеству офчейн-платежей.

Проверка фактов

Даты, цифры и утверждения были проверены по приведенным ниже опубликованным источникам.

Открыть в интерактивной академии →

EN PT ES ZH JA KO DE FR MS