Lightning Network - обзор технологии и текущего состояния сети
Материал подготовлен каналом @shitcoinresearch
Lightning Network (LN) - это L2-решение, построенное поверх блокчейна Биткоина. LN представляет собой распределенную сеть узлов, связанных между собой платежными каналами.
LN создано с целью решения проблем масштабируемости 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 обладает рядом очевидных преимуществ, таких как:
- Увеличение масштабируемости сети Биткоин;
- Повышение скорости транзакций;
- Снижение комиссий за переводы;
- Низкие энергетические требования;
- Возможность осуществления микротранзакций.
Отдельно стоит выделить возможность осуществления микроплатежей в сети 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 (Атака с замедлением времени)
Смысл этой атаки сводится к тому, что злоумышленник может развернуть сотни узлов и изолировать жертву от честных пользователей (а значит получения реальных сетевых данных). Особо эффективна такая атака будет на легкие клиенты. Как только такая изоляция произошла - злоумышленник может передавать жертве данные о транзакциях узла с меньшей скоростью чем обычно. Из-за того, что жертва не получает информацию о транзакциях своевременно - злоумышленник может украсть средства из канала, воспользовавшись тем, что жертва не видит транзакцию закрытия канала в блокчейн Биткоина.
Это далеко не полный перечень возможных уязвимостей сети LN. Для глубокого погружения в анонимность и безопасность LN - рекомендую к просмотру это видео:
Текущее состояние сети
Рассмотрим динамику основных показателей сети:
1. Network Capacity (Емкость сети) - показатель, отражающий кол-во заблокированных BTC в сети Lightning Network.
По состоянию на конец апреля 2023 года, емкость сети составляет 5 412 BTC (коричневая линия) или $160 млн по текущему курсу (голубая линия):
Несмотря на длительный, по меркам крипты, период существования технологии LN (почти 5,5 лет) - широкого распространения эта технология не возымела. Так, например, совокупный TVL всех L2-решений на Ethereum составляет $9,58 млрд, что в 60 раз больше, чем в LN.
2. Количество платежных каналов
Чем больше платежных каналов - тем шире сеть, а значит маршрут транзакций может быть более гибким и дешевым. На момент написания статьи - почти 79K открытых платежных каналов.
На графике заметен экспоненциальный рост числа открытых каналов с середины 2021 года по начало 2022. Этот рост, во многом был вызван легализацией BTC как платежного средства в Сальвадоре [Источник]. Как следствие, это привело к тому, что многие магазины/кафе в стране начали открывать свои платежные каналы в сети Lightning Network.
3. Средняя емкость канала и средняя емкость ноды
Средняя емкость, приходящаяся на канал (Capacity Per Channel) на текущий момент составляет 6,9 млн сатоши или 0,069 BTC.
Средняя емкость, приходящаяся на ноду (Capacity Per Node) на текущий момент составляет 60,5 млн сатоши или 0,65 BTC.
Такая разница объяснима тем, что одна нода может поддерживать более одного открытого платежного канала. Это в свою очередь, приводит к тому, что в сети LN появляются так называемые хабы, через которые проходят много транзакций.
В 2022 году Lightning принесла операторам узлов около 2 млн долларов США.
Топ-5 операторов публичных узлов в сети LN:
Другие полезные метрики и графики по Lightning Network можно найти тут и тут. Также, это Glassnode (и другие платформы) - однако, для просмотра графиков по LN требуется платная версия.
Экосистема Lightning Network
Технология LN широко используется в разных сегментах бизнеса - это и кошельки, и стриминговые сервисы, и финансовый сектор. Отдельно стоит отметить, что LN активно внедряют биржи, из наиболее известных - это Bitfinex, Kraken, Okex.
Выводы
Lightning Network - технология, потенциально позволяющая решить проблему масштабируемости и высоких комиссий в сети Биткоин. Однако, за 5,5 лет своего существования она не получила широкого распространения. Текущая реализация LN подвержена многим уязвимостям и атакам. Если найдутся способы решения этих проблем - потенциально это может привести к масс-адопшену, при этом важно, чтобы решение этих проблем не имело компромиссов в отношении децентрализации.
При этом, в LN верят ряд инвесторов и разработчиков, о чем говорит недавний инвестиционный раунд компании Lightning Labs, которая привлекла $70 млн для финансирования разработки протокола Taro (призван обеспечить транзакции со стейблкоинами в Lightning Network).
Также ключевой драйвер роста LN лежит в области регуляции. Кейс небольшого Сальвадора наглядно показал, как сеть значительно выросла по всем параметрам.
Сети LN нужны структурные изменения, которые качественно выведут протокол на новый уровень - и в вопросах безопасности, и в вопросах регуляции. В противном случае, LN так и останется гиковской технологией, не смотря на наличие большого потенциала.
Материал подготовлен каналом @shitcoinresearch