В сети Lightning – демонстрация надежности

Гостевой пост HodlX  Отправьте свой пост

Lightning Network впервые появилась в техническом документе, предложенном Джозефом Пуном и Таддеусом Дриджа в 2015 году. Он вызвал огромные отклики и дискуссии в сообществе Биткойн и был широко признан вторым по важности техническим документом о Биткойне после новаторской работы Сатоши Накамото..

Поскольку Lightning Network полагается на протокол Segregated Witness (SegWit), он в значительной степени остался концепцией и развивался только внутри компании. С момента форка Bitcoin SegWit в 2017 году развитие Lightning Network неуклонно двигалось в правильном направлении..

В марте 2018 года Lightning Labs разработала и запустила первую тестовую версию. Позже ACINQ и Blockstream последовали их примеру и запустили ряд реализаций в сети. Согласно данным 1ml, в настоящее время в сети Lightning Network имеется в общей сложности 8204 узла и 37901 канал оплаты, из которых 1021,37 BTC (примерно 5,34 миллиона долларов США) на каналах оплаты, что доказывает, что Lightning Network достигла значительного роста за последний год..

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

Если мы посчитаем на основе в среднем 300 узлов на сделку, Биткойн способен обрабатывать только 5,6 транзакций в секунду, в то время как Visa может обрабатывать 47000 транзакций в секунду при максимальной производительности. Чтобы достичь этой емкости, Биткойну необходимо будет увеличить размер своего блока примерно до 8 ГБ, при этом каждый год добавляются новые данные блока по 400 ТБ, что, очевидно, нереально..

Lightning Network – лишь одно из многих решений, предложенных сообществом блокчейнов для решения проблемы масштабирования биткойнов, таких как большие блоки, DPoS, DAG, сегментирование, двусторонняя привязка боковой цепи, межсетевое взаимодействие и т. Д..

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

Кажется, что Lightning Network – идеальное решение.

Из-за сложности смарт-контрактов Биткойн сложно понять технические принципы Lightning Network. Поэтому команда OK Research повторно реализовала Lightning Network на языке Solidity, чтобы понять технологию, используемую для реализации Lightning Network. Ниже мы кратко изложили основные процедуры и принципы работы Lightning Network..

Ключевой технический принцип сети Lightning

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

1. Lightning Network построена на трех важных концепциях: виртуальный банк, транзакции с обязательством и платежные каналы..

а) Виртуальный банк

Смарт-контракт работает как банк. Возьмем, к примеру, Алису и Боба, виртуальный банк – это …

  • Масштабируемость – всего два аккаунта – Алисы и Боба.
  • Без доверия – открытый, прозрачный, нельзя подделать, подделать или отменить
  • Автономность пользователя – Алиса и Боб совместно управляют активами
  • Мульти-подпись – любое перераспределение средств должно быть подписано как Алисой, так и Бобом.

б) Сделки с обязательством

Сделка с обязательством – это когда обе стороны достигают соглашения о распределении средств и подписывают его. Обновление не сразу передается в блокчейн, а сохраняется в локальной сети..

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

  • Невозможно подделать
  • Не может быть подделано
  • Может быть перезаписан

в) Каналы оплаты

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

Обязательство транзакции делится на прямую и косвенную связь.

RSMC (Контракт о сроках погашения с возможностью восстановления) и HTLC (Контракты с хешированными временными блоками)

1. RSMC (отзывный договор о сроках погашения)

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

РСМЦ предотвращает злонамеренные мотивы с помощью механизма доверительного депозита.

Когда активная сторона инициирует запрос на ликвидацию, средства принимающей стороны, скажем, 100 долларов, будут обналичены и немедленно возвращены на счет получающей стороны. Актив активной стороны (100 долларов США) будет заблокирован в качестве залога. Время блокировки определяется параметром freeze_time, установленным смарт-контрактом (freeze_time – это время, в течение которого активная сторона заблокирована, что может быть согласовано обеими сторонами). Если принимающая сторона обнаружила, что транзакция фиксации, запрошенная активной стороной, была отозвана, принимающая сторона может разблокировать отменяющую блокировку в течение периода блокировки и в качестве штрафа принять доверительный депозит активной стороны. Напротив, после периода блокировки активная сторона может получить свой доверительный депозит..

RSMC – это двойное обязательство для обоих контрагентов. Каждая сторона хранит копию обязательства, и обе копии имеют обязательную силу для виртуального банка. Двойное обязательство позволяет поддерживать двунаправленные платежные каналы, избегая блокировки в платежном канале из-за ошибки с любой стороны..

Общие свойства двух обязательств – номер обязательства, баланс, время заморозки..

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

Расчетный процесс РСМЦ можно разделить на три части..

Открытие канала

  • Алиса и Боб создают RSMC №1, и каждый из них вносит 100 BTC в фонд..

Создание транзакции фиксации (платежа)

  • Между Алисой и Бобом формируются новые обязательные отношения. Они создадут РСМЦ № 2 и обменяются подписями, чтобы обновить право собственности на фонд. Обратите внимание, что Алиса и Боб держат подпись контрагента. Как только они введут свою собственную подпись в транзакцию, она немедленно вступит в силу..
  • Обе стороны передают закрытый ключ для блокировки отзыва РСМЦ № 1, который одновременно станет недействительным. РСМЦ можно постоянно заменять. Число обязательств увеличивается на единицу при каждой замене..

Закрытие канала

  • Алиса подписывает #N RSMC, который уже включает подпись Боба, и отправляет запрос на расчет в виртуальный банк..
  • Как активная сторона, 50 BTC Алисы замораживаются в качестве гарантийного депозита, а 150 BTC Боба высвобождаются немедленно. Когда средства Алисы замораживаются, если Боб обнаруживает, что обязательство по перераспределению средств не выполняется, например # 1 RSMC терпит неудачу, он может инициировать отзыв в любое время и потребовать также гарантийный депозит, на который он имеет законное право.
  • Если обязательство остается в силе в течение периода замораживания средств, Алиса сможет вернуть залог..

Хотя РСМЦ может удовлетворить основные потребности процесса урегулирования, у него есть очевидные ограничения. Между обеими сторонами в РСМЦ должен быть открыт канал для оплаты. Чтобы снять это ограничение, предлагается контракт Hash Timelock Contract (HTLC). HTLC делает платежи маршрутизируемыми по двум или более платежным каналам..

2. Контракт Hash Timelock (HTLC): решение проблем атомарности в платежных каналах.

В HTLC задействованы два условия: Timelock и Hashlock..

  • Timelock – требует, чтобы получатель подтвердил получение в течение определенного периода времени (T).
  • Hashlock – одна сторона генерирует случайное число (H) и генерирует его хэш (R), если другая часть может доказать, что Hash (R) = H, то платеж действителен..

В большинстве случаев HTLC включает свойства RSMC. Он действует как мост между двумя всегда действующими РСМЦ. Новый RSMC будет создан, если будут соблюдены условия временной привязки и хеш-блокировки. В противном случае вместо него будет принят предыдущий РСМЦ..

Процесс платежей HTLC

Слева направо, установление обязательства вперед; справа налево, отправка хешированного числа назад для завершения платежа.

  • Кэрол генерирует случайное число (R), затем генерирует его хэш (H) и отправляет оба значения Алисе;
  • Алиса устанавливает HTLC с Бобом. Таймер установлен на 2T. Алиса отправляет H Бобу.
  • Боб устанавливает HTLC с Кэрол. Таймер установлен на T (должен быть короче 2T). Боб отправляет H Кэрол.
  • Кэрол отправляет H, хешированный R, Бобу для проверки. Если число совпадает до истечения срока, всегда действующий RSMC будет установлен на основе HTLC, и HTLC будет отменен в то же время, выполняя свои обязанности. Но если число R не совпадает или срок платежа истекает, HTLC завершится ошибкой, и платеж вернется в последний RSMC..
  • Боб отправит число R от Кэрол Алисе для проверки. И вышеупомянутый процесс проверки повторяется.

Среди трех сторон Алиса и Кэрол являются конечными точками транзакции, Боб – только торговцем, соединяющим две другие стороны. Фактически, Боб может установить платежные отношения с любой из сторон. Например, обязательства, установленные между Бобом и Алисой, и Бобом и Кэрол, могут быть разными. Боб может заплатить Кэрол 9,9 доллара и взимать с Алисы 10 долларов. 0,1 доллара – это комиссия за перевод для Боба..

3. Риски, которые пытаются решить два типа контрактов – мошенничество и атомарность.

  • Мошенничество – что, если другая сторона коварна и беспринципна??
  • В РСМЦ, от обязательств № N-1 до № N, активная сторона может получить выгоду, не аннулируя обязательство № N-1. Следовательно, для активной стороны необходимо добавить дополнительное условие для широковещательной передачи блокировки отзыва..
  • В HTLC, от # N-1 до #N обязательств, только принимающая сторона может транслировать только хешированный номер для получения платежа (так же, как отмена обязательства # N-1). Если активная сторона не отменяет обязательство № N-1, принимающая сторона все еще может потребовать его напрямую через виртуальный банк. В заключение, HTLC устанавливает сбалансированное правило «все или ничего», чтобы участники не жульничали..
  • Риски множественных платежных каналов: атомарность соседних каналов

    На пути платежа активная сторона создает HTLC для принимающей стороны. Затем принимающая сторона отправляет хешированное значение назад. Платежи с левой стороны должны быть выполнены раньше, чем с правой стороны..

  • Для любых посредников завершение платежей для узлов на правой стороне означает получение хешированного числа в пределах временного интервала. И временная шкала на левой стороне должна быть длиннее, чем временная шкала на правой стороне. Таким образом, посредники должны иметь возможность требовать равную компенсацию от узлов на правой стороне, подразумевая, что выгода посредников обычно исходит от стороны с более коротким временным интервалом. Если мы попытаемся пойти в обратном направлении, узлы с правой стороны никогда не завершат никаких платежей и никогда не смогут получить хешированное число. Таким образом, оплата на левой стороне также никогда не будет завершена. Это атомарность соседних каналов.
  • В целом механизм доверия построен на автономии обеих сторон. На этапе принятия решения принимающая сторона расписывается раньше, чем это делает активная сторона. Таким образом, активная сторона имеет право на первоначальную проверку, а активная сторона имеет право на повторную проверку. На этапе исполнения активная сторона имеет право подачи заявки, виртуальный банк – право исполнения, а принимающая сторона – право проверки в течение определенного периода времени..

Блокчейн-трилемма и решение Lightning Network

Биткойн – это одноранговая система электронных денег. Это новаторский подход, поскольку он создал цифровую платежную систему с уникальной особенностью системы наличных платежей – мгновенное внесение платежей. Обмен стоимости происходит немедленно с обменом «символов стоимости», наряду с информацией об активах и передачей требований и обязательств кредитора. Цифровые платежи изо всех сил пытались достичь этого, потому что цифровой файл может быть дублирован или фальсифицирован, что является двумя наиболее обсуждаемыми проблемами в цифровых платежах – проверка и двойное расходование..

Валидация – эту проблему решил биткойн с помощью цифровой подписи. Тот, кто владеет закрытым ключом, владеет биткойнами.

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

Как написал Сатоши Макамото в книге «Биткойн – одноранговая электронная денежная система»:

«Нам нужен способ, чтобы получатель платежа знал, что предыдущие владельцы не подписывали никаких предыдущих транзакций. Для наших целей учитывается самая ранняя транзакция, поэтому нас не волнуют последующие попытки дважды потратить. Единственный способ подтвердить отсутствие транзакции – знать обо всех транзакциях ».

Единственный способ решить проблему двойных расходов – получить все записи транзакций, на которых основан распределенный реестр Сатоши. Но стоимость непомерно высока.

  • Хранилище – каждый узел должен хранить копию полной бухгалтерской книги
  • Валидация – каждый узел должен подтверждать все транзакции.
  • Связь – каждый узел должен общаться друг с другом
  • Консенсус – каждый узел должен предоставлять хэш-мощность для достижения консенсуса.

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

В последние годы появляются решения для решения проблемы масштабируемости, такие как больший размер блока, сеть DAG, новые механизмы (DPOS, PBFT), сегментирование и сайдчейн. Механизмы консенсуса, такие как DPOS и PBFT, жертвуют степенью децентрализации ради масштабируемости, уменьшая количество узлов для проверки..

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

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

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

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

Преимущества Lightning Network

Пять основных преимуществ Lightning Network:

Низкие комиссии за транзакции

  • Майнеры не требуются. Небольшие комиссии взимаются за использование каналов оплаты между узлами..

Подтверждение в реальном времени

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

Высокая производительность параллельной обработки

  • Емкость канала = Биткойн TPS x 3600 x 24 x Средний возраст канала / 4 = 3952800
  • Емкость параллельной обработки = емкость канала / количество каналов, занимаемых транзакцией = 658 880

    * средний возраст канала источник; каналов, занятых на транзакцию, по умолчанию равно 6 на основе шести степеней разделения.

Маленький размер

  • Большая часть данных хранится вне сети, освобождая место для хранения в блокчейне..

Анонимность

  • Транзакции происходят вне сети, и их практически невозможно отследить.

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

Этот пост изначально был опубликован на Medium. Прочитайте больше.

О OKEx

OKEx – это ведущая в мире биржа цифровых активов со штаб-квартирой на Мальте, предлагающая глобальным трейдерам с технологией блокчейн комплексные услуги по торговле цифровыми активами, включая торговлю токенами, торговлю фьючерсами, торговлю бессрочными свопами и отслеживание индексов. В настоящее время биржа предлагает более 400 торговых пар токенов и фьючерсов, позволяющих пользователям оптимизировать свои стратегии..

About the author