Глоссарий / Lightning и layer 2
Lightning Network
Другие названия: Lightning, LN, Лайтнинг.
- Что такое Lightning Network?
- Lightning Network представляет собой платежный уровень, построенный поверх биткоина, в котором две стороны блокируют средства на общем ончейн-адресе, а затем мгновенно расплачиваются друг с другом вне сети (off-chain).
Lightning перемещает биткоин между кошельками, обновляя общий балансовый учет вместо публикации транзакции. Дизайн опубликовали Джозеф Пун и Таддеус Драйя 14 января 2016 года, а первое программное обеспечение, готовое для основной сети, lnd 0.4-beta, вышло 15 марта 2018 года. Для покупателя это означает небольшие платежи, которые проводятся примерно за секунду при комиссии, измеряемой долями цента.
Как это работает
Lightning Network представляет собой граф двусторонних каналов, а платеж является маршрутом по этому графу.
Открыть канал означает опубликовать одну обычную транзакцию биткоина, которая платит на адрес, совместно управляемый обоими участниками. С этого момента они могут как угодно часто перераспределять баланс внутри этого адреса, обмениваясь подписанными транзакциями, которые никогда не транслируются. Каждый новый баланс аннулирует предыдущий, поэтому блокчейн видит только открытие канала и, в итоге, его закрытие.
Оплата тому, с кем у вас нет канала, работает через цепочку таких обновлений. Если у вас есть канал с поставщиком платежей продавца, а у поставщика есть канал с самим продавцом, ваш платеж проходит через оба. Каждый переход блокируется одним и тем же секретом с помощью контракта с хешем и временной блокировкой, поэтому либо рассчитывается весь маршрут, либо истекает срок каждого перехода и он отменяется. Никто в середине не может присвоить деньги, а благодаря луковой маршрутизации каждый переход знает только предыдущего и следующего участника.
Две особенности дизайна объясняют большую часть поведения Lightning. Балансы учитываются в миллисатоши, тысячных долях сатоши, поэтому кошелек может взять с вас долю сатоши за переход. И канал может вмещать не более 483 ожидающих платежей с каждой стороны одновременно, этот предел связан с тем, насколько большой допускается обеспечивающая ончейн-транзакция.
Строить на Lightning стало безопасно только после активации SegWit в блоке 481 824 в августе 2017 года. До этого исправления третья сторона могла изменить идентификатор транзакции финансирования в пути, что незаметно нарушило бы транзакцию возврата, которую каждый участник уже подписал против нее. Сам протокол определен в наборе документов под названием BOLT; BOLT12, который определяет многоразовые предложения вместо счетов на один раз, был включен в спецификацию в сентябре 2024 года, это первый новый BOLT, добавленный с 2017.
Почему это важно при покупке биткоина
Lightning меняет экономику вывода небольших сумм биткоина с биржи в собственные руки.
Вывод ончейн стоит столько, сколько сеть берет в этот день, плюс столько, сколько биржа добавляет сверху. Вывод через Lightning стоит комиссию за маршрутизацию, которая обычно является погрешностью округления. Strike, обзор которого есть на этом сайте, поддерживает вывод в ваш собственный кошелек как через Lightning, так и ончейн, и это тот признак, на который стоит смотреть, если вы накапливаете по 20 или 50 долларов за раз, а не по 5000. Если биржа предлагает только ончейн-вывод, небольшие частые покупки незаметно теряют несколько процентов на комиссиях, и честное решение состоит в том, чтобы накапливать и выводить реже.
Lightning также является тем уровнем, который заставляет биткоин вести себя как деньги для трат, а не как инвестиция, поэтому Сальвадор построил на нем свой государственный кошелек после вступления в силу Закона о биткоине 7 сентября 2021 года. В гидах по странам этого сайта рассказано, где такое повседневное использование является обычным, а где оно юридически неудобно. Lightning ничего из этого не меняет: сеть не знает, в какой стране вы находитесь, а ваша биржа знает.
Компромисс с хранением является той частью, которую люди понимают неправильно. Кошелек Lightning должен держать свои ключи в сети, чтобы подписывать обновления канала, поэтому по определению он является горячим кошельком. Это нормально для денег на траты и неправильно для сбережений. Держите на Lightning баланс для трат, а остальное храните в холодном хранении. И читайте мелкий шрифт в описании «поддержки Lightning» у приложения: если приложение держит канал и ключи, ваш баланс является требованием к этой компании, а не биткоином, которым вы управляете.
Оплата чаевых в 3000 сатоши, двумя способами
Небольшой платеж показывает разницу лучше любого заявления о пропускной способности.
Ончейн трата нативного SegWit с одним входом и одним выходом занимает примерно 110 виртуальных байт. При ставке комиссии 20 sat/vB это комиссия в 2200 сатоши за перевод 3000 сатоши, так что комиссия съедает почти три четверти платежа, и при этом еще нужно ждать блок, который в среднем появляется через десять минут.
Через Lightning те же 3000 сатоши проходят по маршруту, скажем, из трех переходов. Переход, который берет базовую комиссию 1 сатоши плюс 200 частей на миллион, стоит на этой сумме 1 сатоши плюс 0,6 сатоши, поэтому весь маршрут укладывается меньше чем в 5 сатоши и рассчитывается прежде, чем вы положите смартфон. Загвоздка в том, что платеж работает, только если существует маршрут с достаточным балансом в нужном направлении, и именно это имеют в виду, когда жалуются на ликвидность.
Lightning Network vs платежный канал
Lightning Network представляет собой весь граф; платежный канал является одним ребром в нем. Один канал соединяет ровно двух участников и может перемещать стоимость только между ними. Lightning представляет собой уровень маршрутизации, протокол распространения сведений и общая спецификация, которые превращают тысячи отдельных двусторонних каналов в нечто, через что можно заплатить незнакомцу. Вы можете держать платежный канал с другом и никогда не касаться сети; вы не можете пользоваться сетью без хотя бы одного канала.
Lightning Network vs сайдчейн
Канал Lightning держит ваши биткоины по контракту, который вы можете обеспечить в одиночку; сайдчейн передает их чужому консенсусу. В Lightning, если ваш участник исчезает, вы сами транслируете свой последний баланс, и цепь платит вам после задержки. В сайдчейне, таком как Liquid, биткоины блокируются в мультиподписи федерации, и для возврата требуется подпись этой федерации. Оба называются вторым уровнем, оба снижают нагрузку на основную цепь, и только один из них позволяет выйти без чьего-либо содействия.