
Lightning Network: платежи в Bitcoin без ожидания блоков
Bitcoin формирует блок примерно раз в десять минут, и место в каждом блоке ограничено. Это сознательный компромисс ради безопасности и децентрализации, но из-за него Bitcoin неудобен для покупки чашки кофе. Lightning Network — самый известный ответ на эту проблему: способ совершать множество быстрых и дешёвых платежей в Bitcoin, лишь изредка обращаясь к блокчейну.
Разберём, как это работает, в чём Lightning хорош и чего он требует от вас взамен.
Основная идея: канал
Lightning построен на платёжных каналах. Два человека блокируют немного биткоинов на общем ончейн-адресе, для расходования средств с которого нужны подписи обоих, — это мультисиг 2 из 2, та же базовая конструкция, которую SSP использует для вашего хранилища.
После открытия канала стороны платят друг другу, обмениваясь подписанными обновлениями, в которых указано, как заблокированный баланс распределён в данный момент. Алиса отправляет Бобу 1000 сатоши: оба подписывают новую версию распределения. Боб возвращает 300: ещё одна новая версия. Ни одно из этих обновлений не попадает в блокчейн. Они мгновенны и почти ничего не стоят.
Закончив, любая из сторон может закрыть канал, опубликовав последнее распределение в блокчейне. Две ончейн-транзакции — открытие и закрытие — могут вместить между собой тысячи платежей.
Как сохраняется честность
Что мешает Алисе опубликовать старое распределение — то, что было до её платежа Бобу?
Каждый раз, когда баланс меняется, стороны передают друг другу средство наказать того, кто опубликует устаревшее состояние. Старые состояния может потратить обманутая сторона в течение периода ожидания, который обеспечивается временными блокировками. Если Алиса транслирует устаревшее состояние, у Боба есть окно, чтобы забрать весь баланс канала в качестве штрафа.
Это изящно, но у этого есть следствие: кто-то должен следить. Если вы офлайн в течение всего периода оспаривания, нечестный партнёр может остаться безнаказанным. Lightning-кошельки решают это, периодически выходя в сеть или используя сервисы «watchtower» (сторожевые башни), которые следят за каналом от вашего имени.
От каналов к сети
Вам не нужен отдельный канал с каждым, кому вы платите. Платежи могут передаваться по цепочке каналов: вы платите узлу, с которым связаны, он платит следующему, и так далее до получателя.
Переходы связаны криптографическим замком, так что либо платёж проходит целиком, либо не проходит вовсе — промежуточный узел не может присвоить деньги на полпути. Маршрутизирующие узлы взимают за пересылку крошечные комиссии.
В чём Lightning силён
- Скорость. Платежи обычно проходят за считаные секунды.
- Небольшие суммы. Комиссии могут составлять доли цента, поэтому даже крошечные платежи становятся практичными.
- Конфиденциальность — в некоторых отношениях. Отдельные платежи внутри канала не отображаются в блокчейне.
- Безопасность Bitcoin при расчётах. В конечном счёте балансы каналов рассчитываются в самом Bitcoin.
Компромиссы
Lightning — это второй уровень в строгом смысле: он наследует безопасность Bitcoin для окончательных расчётов, — но это не просто «Bitcoin, только быстрее»:
- Ликвидность — реальное ограничение. Вы можете отправить только то, что находится на вашей стороне ваших каналов, и получить не больше того, что находится на другой стороне. Для крупных платежей маршрут может не найтись.
- Нужно быть онлайн или делегировать наблюдение. Lightning с самостоятельным хранением означает, что ваш кошелёк или watchtower должен быть способен отреагировать на попытку обмана.
- Состояние канала — это проблема резервного копирования. Восстановить Lightning-кошелёк не так просто, как восстановить кошелёк из фразы восстановления: данные каналов важны, и их потеря может привести к принудительному закрытию каналов.
- Открытие и закрытие требуют ончейн-комиссий, которые ощутимы, когда мемпул Bitcoin перегружен.
- Многие популярные Lightning-приложения — кастодиальные. Они удобны именно потому, что каналами управляет провайдер — и он же хранит монеты.
Именно этот последний пункт упускает большинство людей. Lightning-приложение, которое «просто работает» без какого-либо управления каналами, очень часто оказывается кастодиальным: вы держите баланс в чужой системе со всеми вытекающими из этого компромиссами.
Lightning и SSP
SSP не поддерживает Lightning. SSP хранит ваши биткоины в ончейн-хранилище с мультисигом 2 из 2 и отправляет обычные транзакции Bitcoin, подтверждаемые и в SSP Wallet, и в SSP Key.
Это подходит для сбережений и более крупных платежей, где важнее всего ончейн-расчёты и подтверждение на двух устройствах. Lightning предназначен для другой задачи: частых, мелких и быстрых платежей с той операционной нагрузкой, которую несут с собой каналы. Многие используют и то и другое: надёжное ончейн-хранилище для накоплений и небольшой Lightning-кошелёк для повседневных трат, пополняемый по мере необходимости.
Честный итог
Lightning делает платежи в Bitcoin быстрыми и дешёвыми, перенося их в двусторонние каналы, которые проводят расчёты в блокчейне только при открытии и закрытии. Это по-настоящему остроумная инженерия, построенная на мультисиге и временных блокировках.
Вместе с тем он приносит ограничения ликвидности, необходимость постоянного наблюдения и сложное резервное копирование — а многие из самых простых Lightning-приложений незаметно меняют самостоятельное хранение на удобство. Используйте его для того, в чём он хорош, а всё, что вы не можете позволить себе потерять, храните в более простом месте.


