Lightning Network
Перед тем как вы погрузитесь в изучение статьи, обратите внимание на тот факт, что всё упомянутое в ней не является финансовой рекомендацией, для принятия более взвешенного решения просьба провести свое собственное исследование.
Lightning Network (LN) - это L2-решение, построенное поверх блокчейна Биткоина. LN представляет собой распределенную сеть узлов, связанных между собой платежными каналами.
Lightning Network создано с целью решения проблем масштабируемости BTC. В сети Биткоин максимальная пропускная способность составляет всего 7 TPS (Transaction per Second), а время создания блоков - около 10 минут. На практике, это делает невозможным использование BTC в качестве средства платежа. В свою очередь, теоретическая пропускная способность LN составляет десятки миллионов TPS, а базовая комиссия за транзакцию составляет всего 1 сатоши (0.00000001 BTC).
В основе сети Lightning Network лежат P2P-платежные каналы, которые открываются между 2-мя сторонами. Канал создается путем обычной on-chain-транзакции в сети Биткоин. При этом, при создании канала требуется заблокировать определенное число BTC, которые в дальнейшем будут использоваться при обмене между сторонами. После того, как канал открыт - все дальнейшие транзакции выносятся на off-chain-уровень и не требуют подтверждений майнеров.
Например, создается канал, в который Алиса вносит 0,5 BTC, а Боб - 0,25 BTC. Общая емкость канала составляет 0,75 BTC, где в рамках этой предопределенной суммы осуществляются все дальнейшие транзакции. При этом, после каждой транзакции происходит обновление балансов сторон.
Платежный канал представляет собой MultiSig-кошелек (2-из-2х) - т.е. деньги могут быть потрачены только после того, как обе стороны платежного канала согласятся с транзакцией. До тех пор пока канал открыт - стороны могут бесконечно переводить друг другу транзакции, не информируя об этом блокчейн Биткойна.
Закрыть канал можно как по обоюдному согласию, так и при желании одной из сторон. На момент закрытия канала - фиксируются финальные балансы сторон, при этом осуществляется “закрывающая” on-chain-транзакция в сети Биткоин.
Важной особенностью работы сети LN - является то, что для осуществления транзакций между двумя сторонами, не обязательно наличие прямого платежного канала между ними. В маршрутизации могут быть задействованы любые промежуточные платежные каналы.
Например, Алиса имеет платежный канал только с Бобом, а Боб - имеет платежный канал с Чарльзом. В случае, если Алиса захочет отправить деньги Чарльзу - сеть LN подберет оптимальный маршрут, в котором будет использоваться канал Боба, в качестве посредника. При этом, Боб вознаграждается небольшой комиссией за то, что его узел был использован при маршрутизации.
Особенности технологии. LN обладает рядом очевидных преимуществ, таких как:
- Увеличение масштабируемости сети Биткоин;
- Повышение скорости транзакций;
- Снижение комиссий за переводы;
- Низкие энергетические требования;
- Возможность осуществления микротранзакций.
Отдельно стоит выделить возможность осуществления микроплатежей в сети LN. В настоящее время блокчейн Биткоина устанавливает минимальный размер output, который в сотни раз превышает минимальный размер транзакции в LN. При этом, комиссии в сети Биткоина - делают нецелесообразными осуществление микроплатежей (когда комиссия в 5-10 раз выше стоимости самой транзакции). С помощью LN становится возможной покупка условной тетрадки в магазине или чашки кофе в кофейне. Также, возможность осуществления микроплатежей - потенциально открывает новые рынки, такие как оплата контента посекундно (для стриминговых и иных сервисов).
Также стоит отметить, что в целях безопасности в LN стоял максимальный лимит как на размер транзакции, так и на объем средств, доступных для депонирования в платежный канал. Изначально, максимальный размер транзакции составлял 0,04 BTC, в то время как размер платежного канала не мог превышать 0,167 BTC. Однако, в августе 2020 года, сеть LN поддержала обновление Wumbo, которое сняло ограничение на размер платежного канала.
Несмотря на увеличение размеров каналов, ограничение на размер транзакции остается в силе и составляет 0,04 BTC. Однако, для больших платежей это ограничение обходится путем автоматического разделения платежа по нескольким каналам - платеж в 0,1 BTC может пройти по трем разным каналам, прежде чем придет получателю: 0,04 BTC, 0,04 BTC и 0,02 BTC соответственно.
Основным недостатком такого разделения является снижение анонимности, т.к. третьи стороны могут сопоставить и отследить несколько платежей с использованием одного и того же хеша.
Недостатки, компромиссы, уязвимости. Существует достаточно много потенциальных уязвимостей, которым подвержена сеть LN. Основные из них:
1. Возможность "спамовой атаки" на канал.
Вне зависимости от пропускной способности канала, он не способен хранить более 483 хешей одновременно. Это значит, что злоумышленник может совершать атаку микроплатежами, отправив на свой адрес 483 микроплатежа. Такая операция способна заблокировать канал на срок до 2-х недель. И хотя эта уязвимость не приводит к краже денег, она приводит к блокировке депонированных в контракте средств. Операторы нод могут использовать эту атаку для борьбы с конкурентами. В текущий момент нет решения этой проблемы.
2. Flood & Loot (Флуд и грабеж)
Весь смысл LN сводится к тому, чтобы обрабатывать транзакции off-chain. Напомню, что в сети LN - всего лишь две транзакции проводятся on-chain: транзакция на открытие платежного канала, и на его закрытие.
Потенциальные проблемы могут возникнуть, когда несколько каналов закрываются одновременно: блокчейн Биткоина может не справиться с объемом транзакций, особенно в пиковые нагрузки сети. Этим могут воспользоваться злоумышленники.
В LN используются HTLC (Hash Time Locked Contracts) - контракты "с блокировкой по времени", которые устанавливают крайний срок для каждой из транзакций. HTLC позволяют участникам направлять платежи через промежуточные узлы, предположительно гарантируя, что средства не будут украдены одним из них. Если такой узел попытается украсть средства, то пользователь может потребовать их обратно, опубликовав транзакцию в блокчейн Биткоин, но только в течение ограниченного периода времени.
Суть атаки сводится к тому, что злоумышленник использует 2 своих узла для маршрутизации транзакции жертвы, при этом со своего конечного (второго) узла он не намерен отправлять транзакцию дальше. Расчет делается на перегрузку блокчейна Биткоина - злоумышленник надеется, что жертва не сможет/не успеет подтвердить транзакцию. Особенно успешна атака будет при массовом подходе. Было проведено одно исследование, основанное на моделировании потенциальной атаки. Результаты этого исследования говорят о том, что одновременной атаки на 85 каналов достаточно, для того, чтобы "гарантировать одну успешную атаку".
3. Time-Dilation Attack (Атака с замедлением времени)
Смысл этой атаки сводится к тому, что злоумышленник может развернуть сотни узлов и изолировать жертву от честных пользователей (а значит получения реальных сетевых данных). Особо эффективна такая атака будет на легкие клиенты. Как только такая изоляция произошла - злоумышленник может передавать жертве данные о транзакциях узла с меньшей скоростью чем обычно. Из-за того, что жертва не получает информацию о транзакциях своевременно - злоумышленник может украсть средства из канала, воспользовавшись тем, что жертва не видит транзакцию закрытия канала в блокчейн Биткоина.
Экосистема Lightning Network. Технология LN широко используется в разных сегментах бизнеса - это и кошельки, и стриминговые сервисы, и финансовый сектор. Отдельно стоит отметить, что LN активно внедряют биржи, из наиболее известных - это Bitfinex, Kraken, Okex.
Выводы. Lightning Network - технология, потенциально позволяющая решить проблему масштабируемости и высоких комиссий в сети Биткоин. Однако, за 5,5 лет своего существования она не получила широкого распространения. Текущая реализация LN подвержена многим уязвимостям и атакам. Если найдутся способы решения этих проблем - потенциально это может привести к масс-адопшену, при этом важно, чтобы решение этих проблем не имело компромиссов в отношении децентрализации.
При этом, в LN верят ряд инвесторов и разработчиков, о чем говорит последний инвестиционный раунд компании Lightning Labs, которая привлекла $70 млн для финансирования разработки протокола Taro (призван обеспечить транзакции со стейблкоинами в Lightning Network).
Также ключевой драйвер роста LN лежит в области регуляции. Кейс небольшого Сальвадора наглядно показал, как сеть значительно выросла по всем параметрам.
Завьялов Илья Николаевич считает, что сети Lightning Network нужны структурные изменения, которые качественно выведут протокол на новый уровень - и в вопросах безопасности, и в вопросах регуляции. В противном случае, LN так и останется гиковской технологией, не смотря на наличие большого потенциала.