Skip to content
Learning Platform
Advanced
30 minutes
Lightning Network Платежные каналы Офчейн Commitment TX Funding TX Масштабирование

Prerequisites:

  • 04-bitcoin-script
  • 06-mining-pow

Lightning Network

Зачем это нужно в блокчейне

Bitcoin обрабатывает примерно 7 транзакций в секунду. Visa — тысячи. Но Lightning Network позволяет проводить миллионы платежей в секунду, используя офчейн-каналы, которые записывают на блокчейн только открытие и закрытие канала.

Lightning Network — это протокол второго уровня (Layer 2), который переносит большинство платежей с блокчейна (ончейн) в двусторонние каналы (офчейн). На блокчейн попадают только две транзакции: открытие канала и его закрытие. Между ними — неограниченное число мгновенных платежей без комиссий майнерам.

Lightning Network запущена в 2018 году. К концу 2025 года ёмкость сети превысила ~5000 BTC, а число активных узлов — ~16000. LN используется для микроплатежей, мгновенных переводов и платежей в точках продаж (например, в Сальвадоре через Chivo Wallet).

Проблема масштабирования

Почему Bitcoin не может просто увеличить пропускную способность?

ПараметрBitcoin (L1)Ограничение
Размер блока~1-4 MB (с SegWit)Все полные узлы хранят все блоки
Интервал блока~10 минутНужен для глобального консенсуса
Транзакций в блоке~2000-4000Ограничен размером блока
TPS~72000 tx / 600 сек

Каждая ончейн-транзакция требует:

  1. Включения в блок (ожидание ~10 минут)
  2. Подтверждения всеми узлами сети (~65 000 узлов)
  3. Постоянного хранения в блокчейне (навсегда)

Увеличение блока решает проблему линейно: 2x блок = 2x TPS, но требует 2x ресурсов от каждого узла. Это централизация.

Lightning Network решает проблему экспоненциально: N каналов могут обрабатывать M платежей, где M неограничено.

Идея платежного канала

Представьте, что вы с другом открываете совместный «счёт»:

  1. Каждый вносит по 5 BTC (это запись в блокчейне — funding TX)
  2. Вы ведёте «тетрадку» с текущим балансом: Alice 5 | Bob 5
  3. Когда Alice платит Bob 1 BTC, вы просто обновляете запись: Alice 4 | Bob 6
  4. Когда захотите — закрываете «счёт», и итоговые балансы записываются в блокчейн

Ключевое преимущество: шаги 2-3 происходят мгновенно, без блокчейна, без комиссий. Блокчейн нужен только для шагов 1 и 4.

Но как гарантировать, что никто не обманет? Для этого существуют commitment-транзакции и механизм отзыва (подробно в BTC-10).

Жизненный цикл платежного канала

Пройдите все этапы жизни платежного канала — от открытия до закрытия:

Жизненный цикл платежного канала
0
1
2
3
4
Шаг 0: Начальное состояние
ОНЧЕЙН
Alice и Bob хотят совершать быстрые платежи друг другу. Пока что их BTC находятся в отдельных UTXO на блокчейне.
Alice: 5 BTC
Bob: 5 BTC
5 BTC
5 BTC
Ёмкость канала: 10 BTC
Нет канала
Каждый платёж требует ончейн-транзакции (~10 мин ожидания, комиссия майнерам).

Разбор каждого этапа

Funding TX (открытие):

  • Alice и Bob создают 2-of-2 мультисиг-адрес (помните OP_CHECKMULTISIG из BTC-04?)
  • Оба отправляют BTC на этот адрес — это ончейн-транзакция
  • Для траты с этого адреса нужны подписи ОБЕИХ сторон
  • После подтверждения funding TX канал считается открытым

Commitment TX (обновление состояния):

  • Каждый платёж внутри канала создаёт новую commitment TX
  • Обе стороны подписывают новое состояние
  • Старое состояние отзывается (обмен ключами отзыва)
  • Всё происходит офчейн — не нужна запись в блокчейн

Closing TX (закрытие):

  • Кооперативное: обе стороны подписывают финальную транзакцию, средства доступны сразу
  • Принудительное: одна сторона публикует последнюю commitment TX, но должна ждать таймлок

Funding Transaction: 2-of-2 мультисиг

Funding TX — это обычная Bitcoin-транзакция, которая создаёт выход на 2-of-2 мультисиг-адрес. Вспомните из урока BTC-04 (Bitcoin Script):

OP_2 <pubkey_Alice> <pubkey_Bob> OP_2 OP_CHECKMULTISIG

Эта транзакция записывается в блокчейн. После подтверждения средства «заперты» в канале: их можно потратить только при согласии обеих сторон.

Важно: Перед отправкой funding TX обе стороны уже подготавливают первую commitment TX. Иначе средства могут быть заблокированы навсегда, если одна сторона откажется сотрудничать.

Commitment-транзакции

Commitment TX — ключевой механизм платежных каналов. У каждой стороны есть СВОЯ версия commitment TX:

ВыходВ версии AliceВ версии Bob
to_localAlice получает (таймлок!)Bob получает (таймлок!)
to_remoteBob получает (сразу)Alice получает (сразу)

Почему таймлок на собственные средства? Потому что:

  • Таймлок даёт партнёру время обнаружить публикацию старого состояния
  • Если Alice опубликует старую commitment TX, Bob может использовать ключ отзыва и забрать все средства канала

Таймлоки реализуются через OP_CHECKSEQUENCEVERIFY (CSV) — относительный таймлок из BTC-04. Типичное значение: 144 блока (~1 день).

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

Кооперативное закрытие (cooperative close)

Лучший сценарий: обе стороны согласны закрыть канал.

  1. Формируется closing TX с итоговыми балансами
  2. Оба подписывают
  3. Транзакция записывается в блокчейн
  4. Средства доступны сразу (без таймлока)

Принудительное закрытие (force close)

Если одна сторона недоступна или отказывается сотрудничать:

  1. Активная сторона публикует последнюю commitment TX
  2. Партнёр получает свои средства сразу (to_remote)
  3. Инициатор ждёт таймлок (to_local, ~144 блока)

Принудительное закрытие дороже (больше данных в блокчейне) и медленнее (таймлок).

Маршрутизация в Lightning Network

Не обязательно иметь прямой канал с каждым получателем. Lightning Network позволяет маршрутизировать платежи через цепочку каналов:

Маршрутизация в Lightning Network
Луковая маршрутизация: Каждый узел знает только предыдущий и следующий хоп. Маршрут: Alice -> Carol -> Dave. Carol не знает, что платёж идёт от Alice к Dave.
0.5 BTC0.5 BTCAAliceBBobCCarolDDaveEEveFFrankGGrace
A: Alice
3 кан. | 1.5 BTC
B: Bob
2 кан. | 0.8 BTC
C: Carol
4 кан. | 2.1 BTC
D: Dave
2 кан. | 0.5 BTC
E: Eve
2 кан. | 0.9 BTC
F: Frank
2 кан. | 0.6 BTC
G: Grace
3 кан. | 1.3 BTC
Маршрут платежа
Alice -> Carol -> Dave. Сплошная линия -- выбранный маршрут. Каждый узел пересылает платёж дальше.
Луковые слои
Alice шифрует маршрут слоями. Carol расшифровывает свой слой: «отправь Dave». Она не знает, откуда пришёл платёж.

Как работает маршрутизация

  1. Обнаружение маршрута: Alice знает топологию сети (узлы и каналы публикуют информацию через gossip-протокол)
  2. Выбор пути: Алгоритм находит путь с достаточной ликвидностью и минимальными комиссиями
  3. Луковая маршрутизация (onion routing): Alice шифрует маршрут слоями, как луковицу:
    • Внешний слой: инструкция для Carol «отправь дальше Dave»
    • Внутренний слой: инструкция для Dave «это твой платёж»
    • Carol не знает, что платёж от Alice, а Dave не знает промежуточный маршрут

Ликвидность каналов

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

КаналЁмкостьAliceBob
Alice-Carol0.5 BTC0.40.1
Carol-Dave0.5 BTC0.30.2

Alice может отправить максимум 0.3 BTC через Carol->Dave (ограничение — баланс Carol в канале с Dave).

Routing fees

Промежуточные узлы берут комиссию за маршрутизацию. Типичные значения:

  • Base fee: 1 sat (фиксированная)
  • Fee rate: 1 ppm (0.0001%, пропорциональная)

Текущее состояние Lightning Network

МетрикаЗначение (конец 2025)
Ёмкость сети5000 BTC ($500M+)
Активных узлов~16 000
Каналов~70 000
Средний размер канала~0.07 BTC
РеализацииLND, CLN, Eclair, LDK

Применение:

  • Микроплатежи (< 1 sat через keysend)
  • Мгновенные переводы (< 1 секунды)
  • Точки продаж (Сальвадор, другие страны)
  • Streaming платежи (podcasting 2.0, Nostr zaps)

Дальнейшее чтение

Эти темы выходят за рамки нашего курса, но важны для глубокого понимания Lightning:

  • Watchtowers — сторонние сервисы, которые мониторят блокчейн на предмет публикации старых commitment TX. Если владелец канала офлайн, watchtower применит наказание автоматически.
  • AMP (Atomic Multi-Path Payments) — разделение одного платежа на несколько частей, идущих разными маршрутами. Решает проблему недостаточной ликвидности одного канала.
  • BOLT спецификации — Basis of Lightning Technology: формальные спецификации протокола (BOLT 1-12). Определяют формат сообщений, HTLC, onion routing и т.д.
  • Splicing — добавление или вывод средств из канала без его закрытия. Канал остаётся активным, пока ончейн-транзакция подтверждается.
  • BOLT 12 (Offers) — новый протокол для повторяемых платежей и статических инвойсов. Замена BOLT 11 инвойсов.

Практика

В этом уроке нет лабораторной работы — Lightning Network рассматривается концептуально. Убедитесь, что вы можете объяснить:

  1. Зачем нужны платежные каналы и что они решают
  2. Жизненный цикл канала: funding -> commitment updates -> closing
  3. Роль 2-of-2 мультисига в funding TX
  4. Разницу между кооперативным и принудительным закрытием
  5. Как маршрутизация позволяет платить без прямого канала
  6. Почему луковая маршрутизация обеспечивает конфиденциальность

Итоги

КонцепцияСутьЗачем
Funding TX2-of-2 мультисиг, ончейнОткрывает канал, запирает средства
Commitment TXОфчейн, подписана обеими сторонамиФиксирует текущий баланс канала
ОтзывОбмен ключами при обновленииДелает публикацию старого состояния наказуемой
МаршрутизацияПуть через промежуточные каналыПлатежи без прямого канала
Onion routingШифрование маршрута слоямиКонфиденциальность промежуточных узлов

Следующий урок: Payment Channels и HTLC — подробная структура commitment-транзакций, механизм отзыва с наказанием, и Hash Time-Locked Contracts для атомарных мультихоп-платежей.

Finished the lesson?

Mark it as complete to track your progress