Домой Статьи Анализ Lightning Network — доступные метрики и имеющиеся уязвимости

Анализ Lightning Network — доступные метрики и имеющиеся уязвимости

12
0

Отчет Coindesk, сделанный с участием и консультациями разработчиков Lightning Network.

Оглавление:

  •  Метрики
    • Ноды и каналы
    • Емкость
      • каналов, нод
    • Соединительные каналы (мосты) и ноды
  • Уязвимости и векторы атаки
    • Гриферство (griefing)
    • Атака информационного затмения (eclipse attack)
    • Пиннинг (pinning)
    • Flood & Loot
  • Перспективы

Lightning Network: метрики

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

И начать, наверное, нужно с того, чтобы отметить важное ограничение. Lightning-ноды не обязательно раскрывают факт своего существования всей сети. При запуске ноды или открытии канала у оператора есть выбор: объявить об их существовании всей сети либо сохранить приватность и не сообщать об этом никому, кроме тех, с кем он устанавливает прямое соединение. Поэтому все описываемые далее показатели в худшем случае могут представлять нижнюю границу реальных значений. В качестве некоторого ориентира, по оценке BitMEX, в 2020 году 28% Lightning-каналов были приватными.

Публичные ноды и каналы Lightning

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

Первый шаг в открытии своего lightning-канала — это настройка ноды. В принципе, на этом можно и остановиться: в таком случае нода будет действовать просто как узел оверлейной сети, не имеющий какой-либо полезной функциональности. Поэтому, конечно, гораздо эффективнее будет сделать еще один шаг и открыть платежный канал с другой нодой. Надо еще заметить, что сеть с меньшим количеством узлов обладает меньшей связностью, чем сеть с бóльшим количеством узлов. Такого порогового значения, которое можно было бы счесть «достаточно благоприятным», еще не выведено, но увеличение числа каналов со временем, как правило, является хорошей тенденцией. На 1 сентября 2021 года в Lightning Network насчитывалось 15 203 публичных ноды с каналами — на 30,3%, 63,8% и 99,5% больше, чем 3 месяца, 6 месяцев и 12 месяцев назад соответственно.

Емкость Lightning Network

Чтобы открыть lightning-канал, оператор ноды должен внести на multisig-адрес биткойны для обеспечения ликвидности своего канала. Общее количество биткойнов, внесенных во все каналы, называют емкостью (capacity) Lightning Network.

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

В качестве иллюстрации приведем простой пример. Lightning-каналы можно сравнить с двусторонними кредитными линиями с залоговым пулом. Если обе ноды при открытии канала вносят по $50, то емкость канала составит $100 ($50 + $50), и обе ноды будут иметь право требования на $50 каждая. Предположим, что один оператор приобретает что-то у другого за $25. В результате распределение балансов изменяется на $25 ($50 — $25) для первого оператора и $75 ($50 + $25) для второго. Допустим, что затем второй оператор приобрел что-то у первого за $10. Балансы в результате составят $35 ($25 + $10) для первого оператора и $65 ($75 — $10) для второго. И такие взаиморасчеты, в принципе, могут продолжаться и бесконечно — до тех пор, пока две стороны канала не решат закрыть канал и произвести окончательный расчет. В течение срока жизни канала его стоимостная пропускная способность запросто может многократно превысить объем внесенных в канал средств.

Это именно то, что происходит при открытии lightning-канала. Для передачи капитала в оверлейную сеть Lightning выполняется биткойн-транзакция. Эта транзакция получает подтверждение в блокчейне Биткойна. Lightning-платежи направляются по каналу, отслеживающему балансы обеих его сторон; затем канал программным образом закрывается и конечное состояние балансов подтверждается в блокчейне Биткойна. То есть в блокчейне записываются только две транзакции на общую сумму x. На самом же деле в lightning-канале может быть обработано сколь угодно много транзакций на общую сумму, значительно превышающую x. С этим пониманием, увеличение емкости Lightning Network следует рассматривать как положительный фактор, а сокращение — как отрицательный.

Замечу, что общий объем платежей, проходящих через Lightning Network, был бы полезным показателем. К сожалению, таких данных для всех нод оверлейной сети в открытом доступе нет. Однако некоторые из операторов lightning-нод периодически обнародуют данные об объеме трансфера, что может служить неплохим замещающим показателем для спроса на lightning-транзакции. Сейчас у нас нет данных по всей сети, но по мере ее роста мы, возможно, сумеем в конечном счете точнее оценить объем lightning-платежей, если операторы крупных нод будут регулярно публиковать данные об объеме трансфера.

Средняя емкость каналов и узлов Lightning Network

Но и имеющиеся данные позволяют пойти на шаг дальше, поделив общую емкость сети на количество каналов или нод.

В пересчете на канал и на ноду эти показатели могут дать несколько лучшее понимание состояния Lightning Network. Если средняя емкость канала превышает ~$1000 (~1 600 000 сат. или 0,016 BTC), скорее всего, этого будет достаточно среднему пользователю для совершения повседневных покупок, по крайней мере в разумных ценовых пределах. Если бы средняя емкость канала составляла ~$100 или ~$10, вероятно, это сделало бы большинство каналов менее жизнеспособными для повседневной торговли (помните: емкость канала распределяется между двумя нодами).

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

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

Во-вторых, в протоколе Lightning определено произвольное ограничение на размер обычных каналов, равное 16 777 215 сат. (существуют также каналы с неограниченной емкостью, известные как wumbo, однако они намного менее распространены). Этот феномен проявился в том, что 90-й процентиль на канал в августе 2018 года достиг максимума в 16 777 215, прежде чем стабилизироваться в области 9 000 000–10 000 000 сат.

Соединительные каналы (мосты) и ноды

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

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

Концепт соединительной ноды сродни соединительному каналу, только представляет собой ноду, которая соединяет два иначе разделенных кластера сети.

Интуитивно предпочтительной кажется тенденция к сокращению числа таких эксклюзивных соединительных каналов и нод, поскольку это указывает на то, что сеть становится более связной и в меньшей степени зависимой от централизующих сил. Многие разработчики и пользователи провозглашают децентрализацию как главную ценность протокола Биткойна и высоко ценят это его свойство, так что, очевидно, это должно распространяться и на сеть Lightning.

Тем не менее те, кто неплохо осведомлен о Lightning, из той же группы пользователей Биткойна, вовсе не обязательно обеспокоены потенциальным формированием централизованной структуры типа «спицы-на-втулке» в Lightning Network — когда крупные ноды, управляемые торговыми службами, владеют большой долей емкости каналов, обрабатывающих значительную часть трансфера сети.

Ожидание того, что канал, открытый пользователем со своими друзьями, будет обеспечивать сети ту же связность, что и каналы, управляемые торговым сервисом, неправдоподобно. Открытие каналов требует размещения капитала, что естественным образом приведет к тому, что трафик Lightning Network будет проходить по более крупным каналам, действующим как хаб, центральная ось, в схеме «спицы-на-втулке». Ценностное предложение Lightning Network, по сути, состоит в том, что вам не обязательно использовать централизованные хабы для маршрутизации платежей, если вы того не хотите. Ничто не мешает любому человеку создавать небольшие приватные каналы непосредственно с теми пользователями, с которыми он хочет обмениваться транзакциями. Lightning Network не имеет уровней допуска и не требует разрешения на использование от крупных централизованных сил.

Lightning — это о возможности выбора.

Уязвимости и векторы атаки — с точки зрения разработчиков

Говоря о Lightning Network, значительная часть литературных источников и медиаконтента сильно поляризуется в высказываемых суждениях. Lightning либо превозносится как идеальный продукт, готовый решить все проблемы с масштабированием Биткойна, либо как ужасная идея, которую лучше было бы оставить для какого-то другого койна, действующего как одноранговые наличные.

Конечно, истина лежит где-то посередине, и инвесторам полезно будет хотя бы мельком взглянуть на Lightning Network глазами разработчиков. В целом, сообщество разработчиков Lightning рассматривает Lightning Network как захватывающую технологию с огромным потенциалом. Однако они также понимают, что существуют уязвимости, с которыми необходимо считаться, чтобы у Lightning был шанс на действительно широкое внедрение. И поскольку эта экспертная группа обладает наиболее глубоким пониманием технической стороны вопроса, их мнение и видение перспектив необходимо принимать во внимание.

При написании этого раздела эксперты Coindesk обсуждали все описываемые векторы атак и перспективы технологии непосредственно с разработчиками Lightning Network. Ниже представлен результат этой совместной работы.

Прежде чем перейти к описанию конкретных векторов атаки, полезно будет определить несколько терминов касаемо Lightning Network.

Для маршрутизации платежей в Lightning Network используются Hashed Time Locked Contracts (HTLC), контракты с временной блокировкой, содержащие два ключевых условия: hash lock (контракты хешируются) и time lock (временная блокировка). По сути это означает, что существует некий секрет (хеш), который может быть раскрыт для успешной маршрутизации платежей — как код доступа, — и который обычно называют прообразом. И есть также концепция тайм-аута, когда любая из сторон может затребовать оплату по истечении определенного времени. Этот тайм-аут используется для того, чтобы избежать проблем с небрежными и необязательными операторами каналов, однако им могут воспользоваться и злоумышленники, на хорошем техническом уровне понимающие работу Биткойна и Lightning. Когда нода отправляет платеж, она делает это путем отправки HTLC. Далее мы будем использовать lightning-платежи и HTLC как взаимозаменяемые термины.

Также надо заметить, что злоумышленники могут использовать в Lightning и свои знания о работе 1 уровня, поскольку биткойн-ноды играют важную роль в корректной работе Lightning Network.

Гриферство (griefing)

Атака гриферов (griefing) означает «замораживание» биткойнов, внесенных в lightning-каналы, путем переполнения каналов спамом из бессмысленных микроплатежей. Lightning-каналы могут одновременно принимать только 483 активных или ожидающих обработки HTLC контракта. Значит, атакующий может отправить на другую свою ноду 483 микроплатежа по каналам, контролируемым другими нодами, а затем удерживать эти HTLC в состоянии ожидания достаточно долго, чтобы саботировать работу этих каналов. Так можно заморозить средства на срок до двух недель, по прошествии которых контракты будут аннулированы по тайм-ауту.

Такую атаку нельзя использовать для кражи средств, но она может быть использована, чтобы саботировать работу каналов и/или требовать выкуп у операторов пострадавших каналов. Кроме того, она позволяет злоумышленникам блокировать работу значимых крупных каналов, обладая лишь небольшим капиталом, познаниями в области скриптов Lightning и Биткойна и некоторой удачей.

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

Пока что разработчики Lightning не предпринимали активных направленных усилий по устранению этого вектора атаки. Впрочем, Joost Jager работает над концепцией, известной как Circuit Breaker. Circuit Breaker (англ. автоматический размыкатель) позволяет операторам нод задавать максимальное количество активных HTLC, принимаемых от одной ноды, что устраняет возможность саботажа работы ноды путем одновременной отправки через нее максимального количества HTLC. Для того чтобы иметь эффект, это изменение должно быть внедрено по всей сети, что требует широкой поддержки комьюнити.

Атака информационного затмения (eclipse attack)

Атака затмения, она же атака замедления времени, включает атаку Сивиллы на ноды Lightning Network. Для этого злоумышленник запускает сотни узлов и окружает ими ноду жертвы таким образом, чтобы отрезать все ее соединения с другими честными нодами. Это фактически отрезает жертву от настоящей peer-to-peer сети, и атакующий может диктовать то, какие данные видит нода жертвы.

Далее злоумышленник может закрыть lightning-каналы и, поскольку жертва лишена возможности знать, что на самом деле происходит в сети, у злоумышленника появляется возможность украсть средства.

На первый взгляд, это не кажется такой уж серьезной угрозой. Если вы держите полную ноду, то, скорее всего, она будет иметь слишком большой список подключений к другим честным узлам, чтобы стать жертвой такой атаки. Однако существует множество «облегченных» реализаций ПО Lightning Network, используемых некоторыми поставщиками кошельков. Эти реализации получают данные из блокчейна Биткойна только по одному блоку за раз и не всегда имеют собственную копию истории транзакций блокчейна. Обратите внимание, что, хотя Lightning Network отдельна от Биткойна, знание его блокчейна все еще имеет первостепенное значение. Эти тонкие клиенты используют серверную часть для процессинга блокчейна с целью экономии места на устройствах с ограниченными ресурсами — в основном на мобильных устройствах.

Вот здесь и кроется настоящая проблема. Атака затмения может быть направлена на пользователей облегченных реализаций Lightning и Биткойна, которые, по-видимому, также хуже ориентируются в этих технологиях и обладают меньшим капиталом. Это явно противоречит самому духу и цели как Биткойна, так и построенных на его основе сервисов.

Большая часть того, что можно сделать для смягчения этого вектора атаки, зависит от пользователей, хотя и разработчики тоже работают над некоторыми потенциальными решениями, как например:

  • Более высокая связность сети и количество доступных честных нод. Честных пользователей нужно поощрять предоставлять сети больше ресурсов и более эффективно использовать эти ресурсы в сети Биткойна, поскольку работа Lightning Network тесно связана с блокчейном первого уровня. Чем больше в сети честных нод, тем сложнее недобросовестной ноде нанести вред ее участникам.
  • Разнообразие пиров (одноранговых узлов) с проактивным улучшением топологии за счет их ротации. Это увеличило бы стоимость атаки Сивиллы и, следовательно, послужило бы эффективной контрмерой для eclipse-атаки.
  • Реализация смотровых вышек (watchtowers), действующих как наблюдатели сети и рассылающих в качестве наказания транзакции «исправления нарушений» (breach remedy) или «правосудия» (justice), если замечают пользователя, который пытается транслировать некорректные состояния каналов, чтобы обмануть протокол. Watchtowers, по сути, исследуют сеть на предмет неправомерного поведения участников.

Пиннинг (pinning)

В пиннинг-атаке злоумышленник использует во вред другим участникам сети мемпулы и невозможность ускорить обработку транзакций типа «ребенок платит за родителя» (Child Pays For Parent, CPFP), когда комиссия родительской транзакции слишком мала или когда транзакция не позволяет использовать Replace-By-Fee (RBF) (эти два кейса связаны, но несколько отличаются друг от друга).

Когда биткойн-транзакции инициируются, они объединяются в коллекцию, называемую мемпулом, из которой майнеры отбирают транзакции для включения в свои блоки. Child-Pays-For-Parent, CPFP, — это такие транзакции, которые ссылаются на предыдущую транзакцию, чтобы увеличить эффективную ставку комиссии и ускорить добавление обеих транзакций в блокчейн в ситуации, когда комиссия за первоначальную транзакцию слишком мала, чтобы она могла быть выполнена в желаемые сроки. Replace-By-Fee, RBF, — это исходная установка, определяемая при отправке транзакции и позволяющая заменить неподтвержденную транзакцию в мемпуле той же транзакцией, но с более высокой комиссией. Различие между CPFP и RBF состоит в том, что CPFP-транзакции можно выполнить всегда, а RBF-транзакции — только в том случае, если в исходной транзакции была включена эта опция.

Обладая хорошим пониманием этих двух концепций, опытный злоумышленник может использовать правила протоколов Bitcoin и Lightning в своих интересах для проведения пиннинг-атаки в отношении ожидающих lightning-транзакций. Существует множество форм пиннинга. На схемах ниже представлен, пожалуй, самый простой пример. Также на них отражено, как time lock и hash lock фактически блокируют ожидающие транзакции между нодами — временная блокировка (time lock) слева или до и хеш-блокировка (hash lock) справа или после — до нужного злоумышленнику момента.

  • Злоумышленник открывает два канала с жертвой атаки.
  • Затем он отправляет по этим каналам транзакцию от Attacker A к Attacker B.
  • Когда Attacker B получает HTLC, он не реагирует и ждет истечения тайм-аута. Это вынуждает жертву публиковать транзакцию-обязательство (commitment transaction), содержащую «HTLC- тайм-аут транзакцию», чтобы истребовать свои средства из HTLC B, «застрявшей» между жертвой и Attacker B.
  • Тогда злоумышленник транслирует транзакцию для истребования HTLC B между жертвой и Attacker B — раскрывая секрет хеш-лока — с намеренно низкой комиссией и отключенной опцией RBF. Комиссия намеренно устанавливается слишком низкой, потому что эта транзакция не должна быть подтверждена до того, как Attacker A сможет вернуть HTLC A. В противном случае HTLC B злоумышленника будет успешно замайнен, что позволит жертве увидеть его и необходимый прообраз, с помощью которых можно получить средства из HTLC A, тем самым остановив атаку. Если транзакция злоумышленника попадет в мемпулы майнеров до HTLC-тайм-аут транзакции жертвы, жертва не сможет затребовать возврат средств, и средства из HTLC B перейдут от жертвы к Attacker B. Жертва может попытаться повысить комиссию за свою HTLC-тайм-аут транзакцию с помощью RBF, но он не сможет этого сделать с транзакцией атакующего, потому что в ней RBF отключен. Таким образом, жертва блокируется (англ. pin — пришпилить, пригвоздить; отсюда название атаки – pinning) и не может ничего сделать: она видит HTLC-тайм-аут транзакцию в своем мемпуле, но эта транзакция не обрабатывается майнерами.
  • Тем временем таймлок для HTLC A от Attacker A к жертве истекает, и Attacker A может истребовать HTLC A себе. В итоге, когда транзакции злоумышленника будут обработаны майнерами, жертва выплатит HTLC ниже по потоку, но не получит соответствующую сумму выше по потоку.

Следующая схема отражает суть и базовые принципы пиннинг-атаки.

: Bastien Teinturier https://github.com/t-bast/lightning-docs/blob/master/pinning-attacks.md

Если чуть детальнее, то все майнеры имеют в своем мемпуле «успешную» транзакцию, раскрывающую прообраз для истребования HTLC, а остальная сеть имеет транзакцию с тайм-аутом. Злоумышленник обеспечивает достаточно низкую комиссию для транзакции с прообразом, чтобы она оставалась в мемпуле (как правило, майнеры отбирают для блоков транзакции с более высокими комиссиями), и канал выше по потоку получил возможность истребовать HTLC по тайм-ауту.

Если описанная схема кажется вам слишком витиеватой, то это потому, что так оно и есть. И это хорошая новость. Для успешного проведения такой пиннинг-атаки злоумышленник должен обладать глубоким пониманием того, как функционирует блокчейн Биткойна и сеть Lightning. Однако «сложно» не значит «невозможно». Сейчас в разработке находятся несколько обновлений, призванных смягчить или полностью устранить этот вектор атаки.

Первое такое обновление — это якорные выходы (anchor outputs), значительно затрудняющие проведение пиннинг-атак. Якорные выходы — это специальные выходы в транзакциях-обязательствах (commitment transactions) в Lightning, предназначенные для того, чтобы обработку транзакции можно было ускорить за счет повышения комиссии. Якорные выходы не исключают пиннинг как таковой, однако существенно его затрудняют. Какое-то время они существовали в формате предлагаемого улучшения, и теперь реализованы и доступны в Lightning Network.

Второе такое обновление — это так называемая пакетная передача (package relay), которая, в сочетании с якорными выходами, должна сделать пиннинг-атаки делом прошлого. Пакетная передача (package relay) — это предлагаемая функциональность, которая позволит нодам отправлять и получать пакеты связанных транзакций, принимаемые или отклоняемые в зависимости от общей ставки комиссии для всего пакета, а не за каждую транзакцию в отдельности. Это разбивает основной механизм завершения пиннинг-атак.

Flood & Loot

Атака Flood & Loot строится на том факте, что Lightning Network использует для маршрутизации платежей контракты с временной блокировкой.

Для такой атаки злоумышленнику понадобятся две ноды: исходная и целевая. С исходной ноды он открывает канал с жертвой, а с целевой — другие произвольные каналы. Затем злоумышленник отправляет как можно больше платежей, или HTLC, через узел жертвы на целевую ноду. Атакующий принимает платежи, когда они достигают целевой ноды, и отправляет обратно на исходную ноду прообразы для валидации.

В этот момент исходная нода атакующего перестает отвечать. Это означает, что жертва должна дождаться тайм-аута по HTLC, чтобы закрыть канал транзакцией на блокчейне Биткойна. Однако если злоумышленник одновременно закроет все свои многочисленные каналы, то блокчейн Биткойна окажется перегружен нодами, которые одновременно хотят закрыть свои каналы. По истечении тайм-аута злоумышленник может истребовать любые HTLC с истекшим сроком действия, используя RBF.

Это разрушительная атака, приводящая к потере средств. Разработчики прорабатывают несколько путей снижения вероятности Flood & Loot атак. Но прежде чем мы перейдем к их описанию, самый простой способ избежать таких атак, особенно для отдельного пользователя, состоит в том, чтобы открывать каналы только с теми нодами, которые вы знаете и которым доверяете.

Над чем работают разработчики:

  • Если на узле имеется много ожидающих входящих HTLC, которые другая сторона не разрешает, есть высокая вероятность того, что узел подвергается атаке. В этом случае такой канал следует закрыть как можно раньше, чтобы избежать потери средств. Определенную поддержку в комьюнити снискала предлагаемая политика динамически изменяемых правил закрытия каналов, которая бы регулировала «дельту трансляции обязательств» — время до экспирации HTLC, начиная с которого узлы начинают в одностороннем порядке закрывать каналы — исходя из потенциальных потерь, которые может понести этот канал.
  • Предусмотреть механизм, который бы изменял количество HTLC, которые могут быть отправлены по каналам, установленным с нодой, на основе репутации, определяемой оператором узла в ответ на поведение соответствующего однорангового узла. Чем больший балл репутации выставила определенному узлу принимающая нода, тем больше HTLC может отправить этот узел по каналу между ними.
  • Якорные выходы уже давно предлагались в качестве одного из методов противодействия Flood & Loot атакам, и теперь, когда они реализованы в Lightning Network, проведение таких атак существенно затруднено.

Дальнейшие перспективы и финальные соображения

Мы спросили разработчиков, что их беспокоит больше всего и что, по их мнению, могло бы наилучшим образом способствовать дальнейшему внедрению Lightning. Все они дали уникальные и весьма подробные ответы, но было в них и несколько общих тем, из которых мы сформировали этот список:

  • Разработка Lightning Network должна осуществляться методично и тщательно, чтобы поддерживать время безотказной работы на должном уровне — мы не можем позволить себе «двигаться быстро и ломать вещи» в сети с открытым кодом и реальными пользовательскими средствами на кону.
  • Кроме того, сеть и ее реализации (конкретное программное обеспечение, реализующее ее работу) должны соответствовать техническим спецификациям Lightning Network. Если одна из популярных реализаций — lnd от Lightning Labs, eclair от ACINQ или c-lightning от Blockstream — отклонится от спецификации, стремясь реализовать то, что они считают лучшим решением, это не только нанесет ущерб Lightning, но и будет воссозданием системы финансовых платежей, которую мы имеем сегодня.
  • Lightning Network — еще очень новая технология, и нужно больше пользователей, чтобы полноценно протестировать сеть, поскольку идеи, работающие в тестовой среде, могут не работать, когда в дело вступят реальные стимулы.
  • Есть люди и организации, которые будут стремиться «геймифицировать» сеть для извлечения экономической выгоды — подобно MEV ботам, «облепившим» Ethereum, — что потенциально может стать проблемой по мере того, как в Lightning Network приходит больше капитала.
  • Известные нам теоретические проблемы потенциально могут перерасти в реальные по мере роста сети. Пример, приведенный непосредственно в уайтпейпер Lightning (PDF, англ.), — это спам транзакциями принудительного закрытия каналов по тайм-ауту (Forced Expiration Spam, раздел 9.2).
  • Один из разработчиков поделился с нами опасениями о том, что Lightning Network может не работать в очень больших масштабах, когда счет платежных каналов идет на миллиарды. В качестве причины, по которой Lightning с ее нынешней архитектурой может не масштабироваться до миллиардов пользователей, этот разработчик назвал зависимость от блокчейна Биткойна и его мемпула.

Этот отчет и перечень уязвимостей — реальных и потенциальных — не следует рассматривать как пессимистичный, намеренно сгущающий краски или побуждающий читателя искать и использовать альтернативные решения. Авторы статьи ставят своей целью информирование читателя о потенциальных препятствиях, с которыми может столкнуться Lightning Network на пути к собственному развитию и масштабированию Биткойна. Разработчики Lightning стараются придерживаться позиции «круто, но где это ломается?», — не потому, что они не желают Lightning успеха, наоборот. Подобную позицию было бы полезно занять и инвесторам, пользователям и прочим заинтересованным сторонам. Критический взгляд на прорывные технологии важен для их долгосрочного успеха.

Lightning Network — очень многообещающая технология, но в ней еще многое нужно сделать и впереди еще долгий путь.

 

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

На основе источника

Источник