Перейти к содержанию

Lightning Network

Материал из BitcoinWiki

Lightning Network — сеть двусторонних платёжных каналов поверх биткоина. Участники блокируют биткоины в каналах и могут менять распределение средств, не записывая каждый платёж в блокчейн. Обычно подтверждения в базовом уровне требуют лишь открытие, закрытие или принудительное исполнение канала.

Lightning предназначена для частых и сравнительно небольших платежей, где полезны меньшая задержка и комиссии. Она не увеличивает ёмкость блоков Bitcoin, а уменьшает необходимость публиковать каждый промежуточный баланс, создавая отдельные риски ликвидности, доступности, маршрутизации и программного обеспечения.

Устройство

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

Два участника открывают канал финансирующей транзакцией в блокчейне. Затем они обмениваются подписанными commitment-транзакциями, отражающими текущее распределение баланса. Каждое допустимое обновление заменяет предыдущее без немедленной публикации.

Например, канал Алисы и Боба может распределять 0,06 BTC Алисе и 0,04 BTC Бобу. Если Алиса платит Бобу 0,01 BTC, они подписывают новое состояние по 0,05 BTC каждому. Пока канал открыт, они могут продолжать менять баланс без отдельных транзакций в блокчейне.

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

Маршрутизируемые платежи

Алисе не нужен прямой канал с каждым получателем. Если у неё есть канал с Бобом, а у Боба достаточно исходящей ликвидности к Кэрол, платёж может пройти через Боба. Реальный маршрут может включать несколько узлов.

Хешированные контракты с временной блокировкой (HTLC) связывают переводы. Получатель раскрывает криптографический секрет для расчёта по маршруту; иначе переводы истекают. Промежуточные узлы не получают односторонний контроль над средствами, но могут брать комиссию.

Совместимые правила описаны в спецификациях Basis of Lightning Technology (BOLT): сообщения между узлами, транзакции каналов, луковая маршрутизация, сетевой gossip, счета и согласование функций.[1]

Ликвидность и маршрутизация

Канал может отправить только баланс на стороне отправителя и принять средства лишь в пределах свободной ёмкости в обратном направлении. На каждом участке требуется ликвидность в нужную сторону; объявленная ёмкость не равна сумме, доступной любому пользователю.

Узлы получают входящую ликвидность через входящие платежи, открытие или изменение каналов, submarine swap или покупку канальной ликвидности у провайдера услуг Lightning. Некоторые провайдеры могут открыть канал по требованию при поступлении первого входящего платежа клиента, не требуя заранее покупать канал.[2] Операторы также могут перераспределять средства между собственными каналами. Эти действия имеют стоимость и могут требовать транзакций в блокчейне.

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

Закрытие и исполнение каналов

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

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

Наблюдение можно поручить watchtower. Он следит за блокчейном и при старом закрытии публикует штрафную или восстановительную транзакцию. Он не хранит средства, но его доступность и подготовленные кошельком данные остаются частью безопасности.[3]

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

Скорость, комиссии и нагрузка

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

Платежи не обязательно бесплатны. Узел может брать базовую, пропорциональную или обе комиссии; открытие и закрытие также требуют комиссии Bitcoin. Выгода зависит от суммы, маршрута, ликвидности и текущих on-chain-комиссий.

Поскольку большинство обновлений остаётся вне блокчейна, в реестр обычно попадают лишь финансирование, закрытие и исполнение. Повторное использование каналов снижает нагрузку на один платёж, но не устраняет потребность в блоках.

Приватность и доверие

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

Участники собственного канала не передают посреднику односторонний контроль над средствами. Однако некастодиальный кошелёк оставляет пользователю ключи и обязанности; кастодиальный скрывает управление, но требует доверия к платёжеспособности, безопасности и правилам вывода провайдера.

Реализации

К независимым реализациям относятся LND, Core Lightning, Eclair и библиотеки Lightning Development Kit. BOLT обеспечивает совместимость, но API, форматы хранения, эксплуатация и циклы выпусков различаются.

Core Lightning, ранее c-lightning, — открытая реализация, работающая в основной сети Bitcoin с 2018 года.[4] В 2026 году раскрыли две удалённые уязвимости отказа в обслуживании из-за неограниченного потребления памяти. Ошибка connectd исправлена в 26.04, а gossipd — в ветке кандидата 26.06.[5] Они влияли на доступность узла, но не меняли протокол.

Другая новость августа 2026 года не включена как факт, поскольку при подготовке проекта не было соответствующего публичного сообщения разработчиков, технического раскрытия или исправленного выпуска.

Ограничения и отказы

  • Ликвидность: платёж может не пройти при достаточном балансе, если нет маршрута с ёмкостью в нужном направлении.
  • Доступность: узлы должны быть подключены; приём офлайн требует специальной поддержки.
  • Наблюдение: пользователь должен обнаруживать старые закрытия или применять watchtower.
  • Зависимость от блокчейна: открытие и исполнение зависят от подтверждений и комиссий Bitcoin.
  • Сложность: узлы управляют капиталом, связью, копиями, обновлениями и тарифами.
  • Надёжность: устаревшие данные, недоступные узлы, лимиты и изменение ликвидности могут разрушить маршрут.

Lightning дополняет платёжный уровень, но не заменяет расчётный уровень Bitcoin.

История

Джозеф Пун и Таддеус Драйя опубликовали документ Lightning Network в 2015 году.[6] Проект развил более ранние каналы Bitcoin, добавив маршрутизируемые двусторонние каналы с хеш- и временными блокировками.

Разработчики c-lightning, Eclair и LND показали совместимые платежи в 2017 году. LND выпустила первую mainnet-бету в марте 2018 года, а к июню беты имели все три реализации.[7][8] Дальнейшая работа улучшила маршрутизацию, многокомпонентные платежи, watchtower, управление каналами, мобильную поддержку и расширения.

См. также

Ссылки

Примечания

  1. Basis of Lightning Technology specifications, репозиторий спецификаций Lightning, по состоянию на 27 августа 2026 года.
  2. bLIP 52: LSPS2 JIT Channel Negotiation, репозиторий спецификаций Lightning, проверено 3 сентября 2026 года.
  3. Watchtowers, Bitcoin Optech, по состоянию на 27 августа 2026 года.
  4. Core Lightning documentation, Elements Project, по состоянию на 27 августа 2026 года.
  5. Vulnerability disclosure: twin memory exhaustion DoS vulnerabilities in Core Lightning, Delving Bitcoin, 2026.
  6. The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments, Joseph Poon и Thaddeus Dryja, 2015.
  7. Announcing our first Lightning mainnet release, lnd 0.4-beta, Lightning Labs, 15 марта 2018 года.
  8. Announcing c-lightning 0.6, Blockstream, 25 июня 2018 года.