Lightning Network: Проблема масштабируемости и пути решения

Lightning Network: Проблема масштабируемости и пути решения


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

Предположим, есть три человека (А, В и С). Между А и В открыт один канал для платежей, а между В и С открыт другой. Таким образом, А может послать деньги С через В. Это означает, что нода В переведет С нужную сумму, а А возместит её.

Принцип работы Lightning Network

Опустим описание всех элементов задействованных в создании двунаправленного платежного канала.

Механизм маршрутизации в Lightning Network.

В 2016 году Bitfury предложила механизм маршрутизации в Lightning Network.

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

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

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

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

Решение проблемы масштабируемости с помощью Multi-hop-платежей

Multi-hop payment представляет собой специальный тип платежа, проходящий через некоторое количество узлов в системе Lightning Network. Чтобы пользователю было понятен алгоритм его работы, рассмотрим эту схему на примере:

  1. пользователь С отвечает за генерацию операции с использованием секретного значения Х, а также вычисление числа h по формуле h=H(x), в которой H представлен необратимой хэш-функцией, что говорит о том, что владение значением h не открывает доступ к значению Х;
  2. пользователь С формирует инвойс, содержащий значение h и дополнительные данные об объеме оперируемых средств и конфиденциальных данных получателя;
  3. пользователь С осуществляет передачу инвойса отправителю операции;
  4. пользователь А формирует обязательства для оплаты с использованием платежного канала с пользователем В, используя смарт-контракт htlc;
  5. производится повтор действий по пунктам от 1-го до 4-х;
  6. пользователь С возвращает значение Х пользователю В, удаляет обязательство и увеличивает свой баланс;
  7. производится повтор действия 6-го.

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

В завершение необходимо также отметить, что система смарт-контрактов сети Lightning Network представляет до 15% базы, на которой функционирует проект. Команда специалистов-разработчиков занимается решением множества технических вопросов, среди которых:

  • поиск узлов и обмен данными между ними, или discovery;
  • достижение анонимности, или onion routing;
  • шифрование передачи информации между узлами, или brontide;
  • конфигурация инвойса, или payment-encording;
  • исключение полного скачивания блокчейна для оптимизации работы узла, или neutrino;
  • сжатое хранение ключей, используемых для аннуляции состояний, или elkrem, shachain;
  • используемые алгоритмы для поиска маршрута транзакции, или routing.

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

Решение Lightning Loop

Компания Lightning Labs объявила об альфа-релизе Lightning Loop – нового решения, главной задачей которого станет сделать более простым процесс приема биткоинов в сети второго уровня Lightning Network.

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

Упрощение происходит благодаря механизму Loop Out, который повышает пропускную способность приема средств с помощью их выгрузки из сети (каналы при этом остаются открытыми). Более того Loop Out дает новому пользователю Lightning Network самостоятельно создавать первоначальную «входящую емкость», без поиска того, кто захочет открыть платежный канал.

Альфа-релиз Lightning Loop состоялся 20 марта. На данный момент размер транзакций в этом релизе ограничен до 0.01 BTС, но сами транзакции осуществляются без комиссии. Воспользоваться решением могут пока только разработчики через интерфейс командной строки или через API протокола межсервисного взаимодействия gRPC.

Решения, похожие на Lightning Network

Не все блокчейн-проекты заинтересованы в реализации Lightning Network в том же формате, что и Bitcoin.

Разработчики Ethereum в декабре 2017 года запустили в своей сети проект Raiden — оффчейн-технологию масштабирования сети, которая, как и Lightning Network, обеспечивает работу платежных каналов вне блокчейна.

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

Группа криптографов, работающая над криптовалютой с высокой степенью конфиденциальности Zcash, предложила новую технологию для проведения анонимных криптоплатежей — проект Bolt.

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

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




Report Page