fbpx

Разбираем Lightning Network

10.08.2021
Виктор Сливинский
107

Лайтнинг — не обернутый биткоин на параллельном блокчейне, нет никакой монеты “Lightning”, нет блокчейна Lightning, тем не менее эта технология обеспечивает молниеносно быстрые, почти бесплатные и, что немаловажно, приватные транзакции. Но как же это работает?

Lightning Network — сеть, направленная на решение проблемы масштабирования Биткоина. Система реализована путем создания сети второго уровня — надстройки над протоколом Биткоина, но важно понимать, что это решение впитало в себя все основные принципы работы Биткоина и даже улучшила ряд его свойств. Будучи решением второго уровня, построенным поверх основного протокола, Lightning также как и Биткоин не требует доверия к третьей стороне, в отличие от сайдчейнов, таких как Liquid или WBTC — решение на основе блокчейна Ethereum — все транзакции по прежнему являются пиринговыми (производятся напрямую между пользователями), не требуют доверия, и их необратимость обеспечивается кодом и алгоритмами, лежащими в основе протокола. 

LN, так же как и Биткоин и множество других существующих криптовалют, является технологически сложным решением, основанными на криптографии и математике. Полностью понимать все механизмы работы подобных решений под силу не каждому, да и на самом деле не является обязательным. Далеко не каждый в полной мере осознает как работает смартфон, персональный компьютер или smart-TV, тем не менее вы с удовольствием смотрите это видео и узнаете что-то новое вместе с нами. Мы все же хотели бы поделиться с вами основами работы LN и описать основные кошельки, сервисы и рассказать о минимальных требованиях к оборудованию, которое может понадобиться, если вы хотите перейти на более высокий пользовательский уровень, запустить собственную ноду и самостоятельно управлять каналами в сети.

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

Эти вопросы очень важны, потому что не зная на них ответа и не будучи честным с самим собой вы можете оказаться в неприятной ситуации. В зависимости от ваших целей подход к использованию криптовалют должен меняться — если вы живете в Северной Корее и инвестируете на свой страх и риск в биткоин, ваш основной упор должен быть на приватность и даже скрытность, но если вы инвестор в США, вы без проблем можете взаимодействовать с Coinbase, которые помимо всего еще и помогут вам с передачей необходимых данных в налоговую, чтобы вам не прилетел штраф или повестка в суд за уклонение от уплаты налогов. Суть здесь в том, что открыв для себя столь комплексное явелние, как криптовалюты, многие осознают, что узнать о них все попросту невозможно, но взаимодействовать с ними можно, даже обладая минимальными знаниями и навыками — благо уже существуют сотни сервисов, готовых помочь новичкам и профессионалам в их увлечении или работе. 

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

Допустим, каждое утро Андрей Леонидович (АЛ) покупает чашку кофе по дороге на работу. Создавать транзакцию в блокчейне для каждой покупки кофе неудобно и не выгодно. В итоге он может заплатить за комиссии больше, чем стоит кофе. Однако с помощью Lightning Network Андрей Леонидович может открыть платежный канал с кофейней. Для этого и кофейня, и Андрей Леонидович вносят определенную сумму биткоинов на так называемый адрес с мультиподписью. Предположим, что Андрей Леонидович вносит пять сотых биткоина, а кофейня не вносит ничего, поскольку не собирается ничего покупать у Андрей Леонидовича.

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

Владелец кофейни видит, что Андрей Леонидович внес пятых сотых биткоина, и может быть уверен, что получит свои деньги после закрытия канала. Теперь, когда канал открыт, Андрей Леонидович может заказать свой утренний кофе. Предположим, что кофе стоит пять тысячных биткоина. Чтобы заплатить за него, Андрей Леонидович просто меняет баланс. Он вычитает стоимость кофе из своего баланса и добавляет ее к балансу кофейни. Таким образом, теперь в балансе указано, что Андрей Леонидович получит сорок пять тысячных биткоина, а кофейня — пять тысячных биткоина.

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

Все, что им нужно сделать, это взять последний баланс, подписанный обеими сторонами, и передать его в сеть. Затем майнеры проверят подписи на балансе и, если все подтвердится, выпустят средства в соответствии с балансом. Это создаст единую транзакцию в блокчейне Биткоина. Таким образом, сеть Lightning Network значительно снижает нагрузку на основной блокчейн. Для этого требуется всего две транзакции на блокчейне: одна для открытия платежного канала, другая — для его закрытия. Более того, каналы вовсе не обязательно закрывать, но об этом чуть позже.

Это также очень безопасно. Система гарантирует, что для разблокировки денег может быть использован только последний подписанный баланс. А поскольку обе стороны имеют подписанную копию баланса, они могут разблокировать средства в любое время, даже если другая сторона не хочет больше сотрудничать. Так, например, Андрей Леонидович не может держать в заложниках деньги, принадлежащие кофейне, и наоборот. 

Но что если вы не хотите открывать канал с кофейней, ведь платежи внутри сети лайтнинг и правда супер быстрые и супер дешевые, но открытие канала требует ончейн-транзакции, а они не всегда бывают дешевыми. Не беда! Вам не нужно открывать канал каждый раз, когда вы хотите отправить кому-то сатошиков. Вам достаточно иметь пару каналов с нодами, в свою очередь имеющими много соединений — это может быть какой-то популярный магазин, кошелек или даже биржа. Лайтнинг нетворк можно представить как гигантскую паутину, где каждый ее участник сидит на одном из пересечений ниточек и до тех пор, пока ваш кошелек может найти путь от вас, отправляющего сатоши к получателю, ваша оплата будет произведена. Но что же такое это открытие каналов?

Мы обещали постепенно переходить от менее сложных способов взаимодействия с лайтнинг к более сложным, поэтому предлагаем отложить каналы на потом, а пока поговорить о самом простом способе — пользовании кастодиальными лайтнинг-кошельками.

Да-да, в сети лайтниг, так же как и в случае с основным слоем биткоина есть сервисы, которые готовы хранить средства для вас. Да, таким образом вам придется доверять третьей стороне, но многих это не смущает — огромное количество пользователей хранят средства на биржах или у кастодиальных сервисов, таких как Bakkt Warehouse и Fidelity. На сегодняшний день в сети лайтнинг в роли таких кастодианов, как правило, выступают операторы лайтниг-кошельков. И в то время как многие из них дают вам полный контроль над вашими ончейн-биткоинами, процесс учета лайтнинг-платежей, открытие каналов, их ребалансировка и обслуживание полностью ложатся на их плечи. Плюсы и минусы тут очевидны — вы вынуждены доверять третьей стороне, но вам не приходится морочиться с технической стороной использования сети (что на самом деле не так уж и сложно, но об этом чуть позже). Важно также упомянуть, что сеть лайтнинг безгранична и децентрализована, ее точно так же нельзя забанить, как и биткоин, в отличие от какого-либо централизованного бизнеса — будь то биржа или процессинговая компания. Соответственно, с ростом принятия сети Биткоин растет и распространение лайтнинг. 

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

Может какие примеры перечислить — покупка игр в PS Store, Steam через сторонние сервисы, магазы и т д. Можно про сальвадор сказать и про El Zonte — пляж в Сальвадоре, где все заведения принимают лайтнинг.

Но что если вы энтузиаст или вам интересно поэкспериментировать с сетью лайтнинг и лучше разобраться как это работает? Придется разбираться в исходном коде биткоина, учиться программированию, пересаживаться на Linux? Буквально год назад ответ на этот вопрос был положительным, но сегодня есть ряд сервисов, которые позволяют запустить лайтнинг-ноду абсолютно бесплатно, “без шума и пыли”.

Запуск ноды имеет ряд преимуществ: 

  • Во первых ваша нода мониторит блокчейн биткоина и гарантирует то, что вас никто не обманул и цепочка на самом деле находится в том состоянии, в котором вы ее сейчас видите. 
  • Во вторых, если вы доверяете чужой ноде/серверу, эта нода видит все транзакции вашего кошелька. Запустив собственную ноду вы значительно повышаете уровень собственной приватности.
  • Дополнительным бонусом становится возможность создавать собственные каналы, стать частью сети и получать (пока что незначительные) комиссии за пересылку транзакций между другими пользователями LN.

Самыми популярными решениями для запуска собственной ноды являются ПО от RaspiBlitz, MyNode и Umbrel. Последнее ПО позволяет запустить ноду буквально в пару кликов (естественно придется подождать пока загрузится блокчейн биткоина, что может занять около недели).

Какова цена вопроса? 

Мы предоставим вам список необходимого оборудования и приблизительные цены в USD, чтобы вам было проще переводить суммы в вашу валюту. Мы советуем именно Raspberry Pi, потому что это — самое распространенное железо, на которое ставят Биткоин-ноды, для него пишут большинство программ, и с ним будет гораздо проще запустить собственную ноду и взаимодействовать с ней. Тем не менее вы можете использовать для этой задачи старый ноутбук или стационарный компьютер; придется чуть дольше повозиться и важно помнить, что нода должна всегда быть подключена к сети, так что выключать устройство на ночь не рекомендуется.

  1. Raspberry Pi 4 (или новее) минимум 4GB RAM (советуем 8GB) — $97 — $122
  2. SSD накопитель 1 TB — $143
  3. MicroSD 16 GB — $5
  4. Корпус для Raspberry, радиаторы охлаждения, Ethernet кабель — $10
  5. Оригинальный блок питания Raspberry Pi — $10

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

Запустив собственную ноду вы получаете возможность самостоятельно открывать каналы с другими участниками сети. Но как мы упоминали ранее, вам не нужно открывать новый канал каждый раз, когда вы хотите заплатить кому-то через сеть лайтнинг. Это бы лишило само существование сети всякого смысла. Итак, вы можете просто использовать сеть для передачи своих монет. Вернемся к нашему примеру:

Перед вами Надежда — подруга Андрей Леонидовича. Они раньше уже обменивались средствами через сеть лайтнинг. Таким образом, у них есть активный платежный канал. Теперь предположим, что Алиса хочет купить кофе. Вместо того чтобы открывать прямой канал с кофейней, она может перевести деньги Андрею Леонидовичу, который затем переведет их кофейне. Таким образом, нет необходимости создавать платежный канал со всеми. В сети лайтнинг каждый ваш платеж пытается найти оптимальный маршрут от вас к получателю, и он пытается сделать это с наименьшим количеством посредников и с наименьшими комиссиями. Это еще больше снижает нагрузку на блокчейн, но требует, чтобы у посредников было достаточно денег в их платежных каналах.

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

Ну что-ж подведем итоги?

  • Сеть лайтнинг — решение поверх основного блокчейна Биткоина, направленное на удешевление и ускорение транзакций.
  • Сеть лайтнинг децентрализована и не требует доверия к третьим лицам.
  • Чтобы пользоваться сетью лайтнинг не обязательно запускать собственную ноду, можно обратиться к кастодиальным сервисам.
  • Запуск собственной ноды сегодня не такой сложный процесс, как может показаться
  • Оборудование, необходимое для запуска ноды некоторым может показаться дорогим, но оно помогает не только улучшить свою приватность, но и потенциально позволит в будущем иметь какой-то пассивный доход благодаря перенаправлению платежей участников сети.

    Большое спасибо Tony B с канала Bitcoin Translated за помощь в создании этого материала.