Ответ на статью Дж. Фиукболла о “централизации” в Lightning Network

 

Я только что закончил чтение статьи Джональда Фиукболла, который заявляет, что предоставил математическое доказательство, освещающее неспособность Lightning Network предоставить публике «Децентрализованное решение по масштабированию Биткойна».

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

Перед тем, как изучить детали, автор уже знает, как именно будет выглядеть топология сети Лайтнинг (картинка из статьи):

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

Автор верно распознаёт тот факт, что использование сети Лайтнинг для одноразовой транзакции – бессмысленно, так как прямой он-чейн платеж будет более эффективен. Далее, автор презентует модель, по которой, по его мнению, потенциальные маршруты транзакций будут работать с точки зрения пользователя (картинка из статьи):

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

В тот момент, когда участник сети LN в процессе поиска маршрута, он, очевидно, заинтересован лишь в направленной платежеспособности. Данный аспект правильно показан на древе. Однако же, узлы по пути следования платежа взаимосвязаны. Несмотря на то, что это даже может способствовать появлению циклов, циклы невозможны в построении маршрута, так как это позволило бы участникам, которые более одного раза были вовлечены в маршрутизацию, устранить цикл сразу же, как только они догадаются о его существовании.

Результирующий граф это то, что мы называем DAG, или «Направленный ациклический граф»:

Интересно то, что предположение о наличии только одного маршрута притянуто за уши: как только соединение установлено, любая часть маршрута (любой «сегмент») может быть изменён на параллельный маршрут, позволяя существовать множеству различных комбинаций.

Неправильная трактовка перенаправления платежей как «Займа»

Мульти-сегментарные платежи в LN выстроены так, что перенаправление контракта к следующему сегменту сети эквивалентно записи в контракт. Как только получателю приходит контракт посредством маршрута, он может использовать раскрытый секрет для того, чтобы немедленно востребовать платёж с последнего перенаправляющего сегмента. Чтобы оплатить услугу, сегмент-получатель немедленно договаривается о получении секрета с последним перенаправляющим сегментом, который в свою очередь затем сможет запустить выплату средств самому себе. Направляющие сегменты не занимают деньги. Они торгуют балансами в одном платёжном канале за балансы в других платёжных каналах. Так как каждый сегмент должен отправить платёж до того, как получит его, они внутренне мотивированы выполнить подключение к следующему сегменту как можно скорее. Это позволяет предположить, что получатель немедленно после отправки получит контроль над средствами, и скорее всего, все сегменты будут готовы в течении миллисекунд после момента успешного установления маршрута.

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

Предположения относительно маршрутизации

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

1. Случайный поиск графика имеет низкой коэффициент успеха

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

Еще читать  Whale Panda: Отчёт о поездке на Consensus 2017

2. Каналы используются только в одном направлении

Во-первых, то, что каналы являются частью различных попыток маршрутизации в разных направлениях, вовсе не означает, что каналы не будут более часто проводить балансировку, и даже если бы это было так, удвоение количества каналов не стало бы решением. Кроме того, было бы лучше, к примеру, комбинировать платежи он-чейн с «возмещением сети Лайтнинг», для более частой балансировки платёжных каналов, по факту, это может избавить пользователей от создания выходов сдачи (change outputs).

3. Маршрутизация для других вносит дисбаланс в каналы и уменьшает количество доступных каналов

Опять же, потому как каналы работают в обоих направлениях и мы не в древовидном, а во взаимо-соединённом графе, вполне может быть возможным, что маршруты A ->B ->C ->D и A ->C ->B ->D будут сосуществовать, таким образом, даже два последующих платежа от А к D могут произвести ребалансировку канала на участке от B до C.

4. Материальное неравенство ограничивает количество маршрутов, способных направлять платежи.

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

5. «Всегда существует риск, что канал перестанет отвечать (преднамеренно или случайно). Этот риск также растёт экспоненциально вместе с увеличением количества сегментов».

Так как от каждого узла к каждому другому узлу существует множество путей, сеть является само-восстанавливающейся. Партнёр по каналу, увидев что вы оффлайн, может самостоятельно закрыть канал и после закрытия такового отправить средства в другой канал, более надёжный. Если пир уходит в оффлайн во время участия в мульти-сегментарном платеже, либо платёж провалится, либо оффлайн участник получит платёж, но чуть с задержкой. Участники, мало участвующие в сети, будут получать меньше запросов от пиров и будут иметь маленькую пропускную способность канала. Они также, скорее всего, в любом случае не будут слишком уж активными участниками сети.

Так как модель, на которой мистер Фиукболл основывает свои вычисления, уже притянута за уши, я не буду беспокоиться разбором математической части.

Заметка: Я обновил «атомно договаривается» (от греческого «atomos» – нераздельно, неразрывно) на «немедленно договаривается», поправил грамматическую ошибку, так как по этому поводу были замечания.

Источник

Источник


Комментарии:

Добавить Комментарий

Яндекс.Метрика