(50/50) Lightning Network: наглядный обзор
1) Lightning Network, что это такое?
Блокчейны медленны.
И поэтому дороги. Если я захочу отправить вам несколько биткоинов, то вы получите их через пару часов, а мне также придётся заплатить большую комиссию за транзакцию. Как же с такой репутацией блокчейн захватит мир?
Любая идея, которая может решить проблему масштабируемости блокчейнов, заслуживает внимания, времени и усилий. Lightning Network (молниеносная сеть) — одна из таких идей. Но прежде чем мы поймём, какое она предлагает решение, нам нужно понять проблему..
Если вы уже знаете о этой проблеме, то можете сразу перейти к следующему разделу..
2) Почему блокчейны медленны?
Считайте блокчейн регистром.
И этот регистр содержит несколько страниц (блоков), а на каждой из них — несколько транзакций. Как только страница заполняется транзакциями, её необходимо добавить в регистр, прежде чем начинать записывать транзакции на следующей странице.
Прежде чем добавлять в регистр (цепочку) страницу (блок), необходимо выполнить некоторую обработку, чтобы убедиться, что все согласны с содержащимся в ней содержимым. Этот процесс занимает примерно 10 минут для каждого блока (в биткоин-блокчейне).
Представьте, вы посылаете 1 BTC своему другу Джо. Сделка будет выглядеть примерно так:
Помимо прочего, транзакция содержит информацию об отправителе, получателе, сумме и комиссии.
3) Подождите, комиссия за транзакцию?
Да, есть дополнительная комиссия.
Вы можете оплатить её, чтобы стимулировать майнеров как можно скорее включить вашу транзакцию в блок. Нет никакой установленной цены — вы сами решаете, сколько готовы заплатить, чтобы ускорить процесс. Чем больше заплатите, тем быстрее пройдёт ваша транзакция.
В любой момент времени доступно несколько транзакций, которые нужно записать на текущую страницу.
Майнеры, то есть компьютеры, работающие в блокчейн-сети, должны решить, какую из доступных транзакций включить в текущий блок. Чтобы сделать выбор, они смотрят, какие транзакции дают наибольшее вознаграждение — это значит, что сначала будут включены транзакции с самой высокой комиссией.
Если транзакций с более высокой комиссией достаточно для заполнения блока, то вашей транзакции придётся ждать в очереди. Ожидание может длиться от нескольких минут до нескольких часов. А иногда даже дней. Чем большую комиссию вы платите, тем быстрее выполняется транзакция.
Вот почему блокчейны являются медленными и почему их дорого использовать. В идеале принятие блокчейна означало бы увеличение количества транзакций, но с увеличением количества транзакций замедляется сеть, что становится препятствием для принятия. Какой парадокс!
Lightning Network (LN) — потенциальное решение проблемы.
4) Так, повторите, что такое Lightning Network?
Идея LN заключается в том, что не все транзакции должны быть записаны в блокчейн.
Представьте, что вы и я проводим довольно много транзакций между собой. В таком случае мы можем обойти регистрацию транзакций в блокчейне и вывести их из цепочки.
Проще говоря, вот как это работает: мы открываем нечто под названием платёжный канал между нами и записываем его открытие в блокчейне. Теперь мы с вами можем совершать транзакции по этому каналу платежей, и он может оставаться открытым любое количество часов, дней, недель или десятилетий. Единственный раз, когда мы снова вернёмся к блокчейну, это когда захотим закрыть канал. Тогда мы записываем в блокчейн окончательный статус транзакций, прошедших в канале.
Используя эту идею платёжных каналов, можно создать их целую сеть таким образом, что транзакции на блокчейне будут редко требоваться. Представьте, что есть три персонажа: Ксан, Елена и Зик.
Если между Ксаном и Еленой открыт платёжный канал, а также между Еленой и Зиком, то Ксан может послать деньги Зику через Елену.
Предположим, что Ксан хочет отправить 2 BTC Заку: Елена пошлёт 2 BTC Заку, а Ксан возместит ей 2 BTC.
В этом и заключается идея Lightning Network. Поскольку вы не будете часто касаться блокчейна, транзакции будут происходить с молниеносной скоростью. Как вы уже догадались, вся магия происходит в платёжных каналах. Тогда давайте научимся магическому трюку.
5) Что это за платёжные каналы?
Это как депозитная ячейка, в которую два человека кладут равные суммы денег, и каждый накладывает на неё замок.
Это действие по размещению равных сумм денег в общей ячейке записывается в блокчейне в форме «открытие транзакции», после чего платёжный канал между этими двумя людьми становится открыт.
Деньги блокируется в ячейке, чтобы никто не потратил их без ведома другого. Затем эти средства в ячейке используются для транзакций между собой.
Представьте, что Ксан и Елена положили 10 BTC каждый в общую ячейку. Если Ксан хочет отправить 2 BTC Елене, как он это делает?
Для этого он передаёт Елене обязательство о владении двумя биткоинами в общей ячейке. Если после этой передачи обязательства ячейка будет разблокирована, то Ксан сможет взять из неё 8 BTC, а Елена 12.
Но они не откроют ячейку, потому что хотят продолжать проводить транзакции между собой. В этом и красота.
Если на следующий день Елена должна отправить 1 BTC Ксану, она сделает то же самое — передаст Ксану обязательство о владении одним из своих биткоинов. Если открыть ячейку после этих двух транзакций, то Ксан получит 9 BTC, а Елена 11.
Чтобы представить, как выглядят транзакции вне цепи, посмотрите на это:
Подводя итог, платёжные каналы — это не что иное, как объединение денег, а затем передача обязательства владения объединёнными деньгами заранее установленным образом. Если Ксан или Елена захотят закрыть канал, они это сделают в любой момент времени.
Закрытие канала просто означает «открыть ячейку и забрать свои деньги». Поскольку открытие ячейки происходит на блокчейне, то информация о том, кто какой суммой владел записана навсегда.
Вот как работают платёжные каналы. Но это и близко не описывает их истинный потенциал. Они показывают свою настоящую силу, когда два или более платёжных канала работают вместе, чтобы сформировать сеть — Lightning Network.
6) Что же, так как это на самом деле работает?
LN работает, смещая стоимость от владения биткоинами до обещания владения биткоинами.
Этот сдвиг огромен. Как и раньше, мы приведём пример, чтобы всё понять. Представьте, что есть три человека: Ксан, Елена и Зик. Между Ксаном и Еленой открыт платёжный канал, и между Еленой и Зиком открыт ещё один. Обратите внимание, что между Ксаном и Зиком нет платёжного канала.
В такой ситуации, если Ксан хочет передать 2 BTC Зику, он может сделать это, используя платёжный канал между Еленой и Зиком. Как это выглядит?
Ксан просит Елену передать обязательство на два BTC Зику через платёжный канал Елена-Зик, а затем возмещает Елене два BTC через канал Ксан-Елена.
Благодаря подобной сети платёжных каналов огромное количество транзакций может выполняться вне блокчейна, что освободит пропускную способность сети. Через сеть платёжных каналов могут проходить миллионы транзакций, и это без высокой комиссии.