Pull to refresh

Lightning Network: Решение для последнего километра

Reading time5 min
Views6.7K

Lightning Network


На основе блокчейна Bitcoin запущена сеть Lightning Network. В ней уже несколько сотен узлов. Любой может стать участником и воспользоваться молниеносными и почти бесплатными переводами.


Представим, что находитесь в кафе и хотите выпить кофе. Поможет ли Lightning Network?


Прямые платёжные каналы


Вы можете построить прямой платёжный канал между собственным узлом и узлом кафе. Если оба Bitcoin-узла уже синхронизированы с основным блокчейном, то вам будет достаточно лишь отправить в блокчейн запрос на создание платёжного канала, при этом зарезервировать некоторое количество BTC для данного канала. Чтобы оплатить кофе потребуется дождаться окончания подтверждения транзакции создания канала в блокчейне, после чего сможете выполнить платёж.


Сравнение прямых платежей


Давайте сравним прямую оплату через Bitcoin-транзакцию и платёж через Lightning Network.


Подготовка


Чтобы совершить прямой платёж в сети Bitcoin достаточно иметь лишь доступ к своему Bitcoin-кошельку и знать адрес Bitcoin-кошелька продавца.


Для создания Lightning Network канала требуется доступ к активному узлу Bitcoin-блокчейна. Более того, потребуется и прямое соединение между узлами Lightning Network. Создание платёжного канала Lightning Network должно быть подтверждено транзакцией в Bitcoin-блокчейне.


Платёжная транзакция


Прямой Bitcoin-платёж — это обычная транзакция, поэтому необходимо иметь доступ к Bitcoin-кошельку и подождать час для подтверждения транзакции.


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


Закрытие канала и вывод средств


В случае прямых Bitcoin-платежей никаких дополнительных операций не требуется. После фиксации транзакции платёж "оказывается" в кошельке продавца.


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


Цепочка платёжных каналов


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


В данном случае можно будет будет потратить зарезервированные средства не только в кафе, но и в любом другом узле Lightning Network. Для кафе же не всё так здорово. Теперь какой-нибудь другой узел Lightning Network должен заранее создать платёжный канал с кафе и зарезервировать некоторую сумму, не имея представления, кто и когда соберётся что-либо купить. Кроме того, и покупателю, и продавцу всё ещё требуется поддерживать узлы Lightning Network с доступом к активному узлу Bitcoin-блокчейна.


Последний километр


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


Простейший ответ — не создавать платёжные каналы Lightning Network на конечных участках (последнем километре). Давайте рассмотрим следующую схему:


Последний километр


Далее будем считать, что узел B может создать заказ, а узел A сможет моментально его оплатить в Lightning Network. То есть путь между узлами существует и в платёжных каналах зарезервировано достаточно средств.


В этом случае необходимо выполнить следующие действия:


  1. Клиент сообщает продавцу, какие товары хочет приобрести.
  2. Продавец просит узел B сформировать платёжный заказ на требуемую сумму.
  3. Продавец сообщает номер заказа клиенту.
  4. Клиент передаёт полученный номер заказа узлу A и просит оплатить.
  5. Узел A оплачивает заказ в Lightning Network.
  6. Узел B сообщает продавцу, что заказ оплачен.
  7. Продавец передаёт заказ клиенту.

Рассмотрим эти шаги на примере ситуации в кафе. Итак, вы выбрали кофе и сообщили об этом продавцу. Он посчитал общую сумму заказа и отправил её узлу B. Для этого на стороне узла B достаточно простого сервиса (или веб-страницы), где для введённой суммы будет выдаваться уникальный номер заказа в Lightning Network.


На следующем шаге могли бы возникнуть небольшие сложности, поскольку номер заказа в Lightning Network очень длинный. В качестве решения можно было бы воспользоваться QR-кодом, либо просто сгенерировать ссылку на внутреннем или внешнем сервисе сокращений. Полученный номер заказа в Lightning Network передаётся узлу A, например, через мобильное приложение или веб-сайт.


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


POS-оплата


Схема похожа на обычную оплату банковской картой. Ключевая разница в том, что банк-эквайер продавца запрашивает возможность проведения операции у банка клиента. Это возможно, поскольку все протоколы описаны и банки доверяют оборудованию, которое предварительно установлено в кафе (POS-терминал) и выдано вам (банковская карта).


Возможно, что в будущем и в блокчейне появятся и получат распространение подходящие протоколы и оборудование. Тогда узел A запросит у вас авторизацию через узел B. Но это потребует, чтобы ваше оборудование было совместимо с оборудованием в кафе. Гораздо проще потребовать онлайн-доступ к узлу A, сохранив предыдущую схему. А вот передачу номера счёта в Lightning Network всё-таки стоит упростить.


В чём подвох?


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


Во-вторых, в подходе важную роль играет узел A и узел B, при этом взаимодействие с ними происходит вне Lightning Network. Вопрос в том, как найти эти узлы и договориться с ними?


Тут замечу, что распространение будет зависеть и от доступности программно-аппаратных решений для налаживания взаимодействия между клиентом и узлом A, а также продавцом и узлом B. Но этот вопрос может быть решён вполне оперативно.


На базе чего будет строиться взаимодействие между клиентом и узлом A? Или между узлом B и продавцом? Ответ простой — на доверии.


Доверие


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


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


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


Остался ещё вопрос про получение денег узлом A от покупателя и продавцом от узла B. Но тут нет никаких ограничений, если выбранный способ будет устраивать обе стороны.


Эпилог


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

Tags:
Hubs:
Total votes 23: ↑6 and ↓17-11
Comments22

Articles