Многие уже знают, что ожидаемая сеть лайтинга для биткоина позволит мгновенное подтверждение сделок вместе с низкими комиссиями. Однако немногие знают, что этот долгожданный уровень для масштабирования криптовалюты не ограничивается только Биткоином. Тот же самый одноранговый протокол может быть расширен для взаимодействия с большим количеством альткоинов. Благодаря этому можно создавать автоматическую обработку платежей в альткоинах, денцентрализованные биржи альткоинов, более дешёвые платежи в биткоинах и многое другое.
Атомные свопы
Совместимость между Биткоином и альткоинами не является чем-то новым. Так называемые атомные свопы (или атомный трейдинг между цепочками) были впервые описаны Тиером Ноланом в 2013 году.
Скажем, у Алисы есть 200 лайткойнов, и она хочет 1 биткоин. У Боба есть 1 биткоин, и он хочет 200 лайткойнов. Тк что Алиса и Боб согласились провести сделку. Но ни Алиса, ни Боб не доверяют друг другу, так что никто не хочет пересылать свои монеты первым. Второй участник может не выполнить обязательство.
По этой причине Алиса и Боб начинают использовать атомные свопы.
Атомные свопы используют остроумный трюк, известный как хэшированный, заблокированный по времени контракт, который расширяет возможности мультиподписей и замков по времени. Это позволяет базовый скриптовый язык, встроенный в Биткоин и многие альткоины, включая Лайткоин.
Вкратце говоря, Алиса и Боб делают транзакции на двух блокчейнах: одну на Биткоине и одну на Лайткоине. Транзакция Биткоина пересылает 1 биткоин от Боба к Алисе, однако Алиса может получить этот биткоин, только если знает секретное число. Транзакция Лайткоина пересылает 200 лайткоинов от Алисы к Бобу, но также требует знания другого секретного номера.
Чтобы Алисе получить свой биткоин, ей нужно ввести секретное число в блокчейн Биткоина. Аналогично и Боб только таким способом может получить свои 200 лайткоинов.
Даже при этом, что транзакции находятся в совершенно разных блокчейнах, они эффективно соединены. Боб просто должен проконтролировать блокчейн Биткоина, чтобы увидеть, получила ли Алиса свой биткоин и может ли он получить свои 200 лайткоинов.
Сегодня всё это работает. Но только в режиме одноразовой сделки. Aлиса и Боб должны найти друг друга, установить атомный своп, и только затем совершать транзакции в разных блокчейнах. Процедуру можно улучшить и упростить.
(Примечание: есть некоторые дополнительные шаги, позволяющие гарантировать, что Алиса на самом деле получит свой биткоин в то же время, как и Боб получит свои лайткоины. Специфика этих шагов выходит за рамки данной статьи; однако, если вас интересуют подробности атомных свопов, смотрите объяснение сети Лайтинга, часть 2: создание сети.)
Сети Лайтинга
Сеть Лайтинга разработана специально для Биткоина. Однако альткоины, которые взяли за основу код Биткоина — например, Лайткоин, Догекоин или Zcash — тоже могут быть расширены сетью Лайтинга. Другие альткоины, имеющие возможности скриптовых языков (например, Эфириум или Эфириум Классик), позволяют похожие решения.
Подобно атомным свопам, сеть Лайтинга использует хэшированные, заблокированные по времени контракты. В то время, как атомные свопы эффективно связывают блокчейны, сеть Лайтинга связывает между собой платёжные каналы. Таким образом, если у Алисы и Боба есть платёжный канал, открытый с Карлом, они могут делать транзакции через Карла, при этом без необходимости доверять Карлу.
В основе лежит та же самая механика, что объединяет сети Лайтинга с атомными свопами. Это значит, что различные сети Лайтинга могут взаимодействовать через блокчейны.
Поэтому узел, открывающий каналы между блокчейнами, может служить обработчиком платежей, обменником альткоинов и выполнять другие задачи.
Например, скажем, что Алиса хочет купить компьютер у Боба, и Боб хочет за него 1 биткоин, однако у Алисы есть только лайткоины. К счастью, у Карла есть открытый с Алисой лайткоин канал, и биткоин канал, открытый с Бобом. Поэтому Алиса сейчас пересылает 200 лайткоинов Карлу, и Карл пересылает 1 биткоин Бобу. Так как все они связаны хэшированными, заблокированными по времени контрактами, Карл эффективно действует как обработчик платежа, доверия к которому не требуется.
И если у Алисы и Боба есть платёжный канал биткоина, так же, как и Лайткоин канал у Карла, они также могут произвести обмен средств. Алиса пересылает 200 лайткоинов Карлу, которые Карл пересылает Бобу. Боб затем в обмен пересылает Карлу 1 биткоин, который Карл отправляет Алисе. Так как все они связаны через заблокированныве по времени хэшированные контракты, Карл эффективно действует как не требующий доверия обмен альткоинов.
Наконец, альтернативные сети Лайтинга до некоторой степени могут даже улучшить основную сеть Биткоин Лайтинга. Например, платёж в биткоинах может быть отправлен через узлы Лайткоина, если это будет дешевле. Или же пользователи, у которых много разных криптовалют, могут сбалансировать их с помощью каналов. Если у Алисы есть 400 лайткоинов, а у Боба на канале нет биткоинов, она может обменять 200 лайткоинов, чтобы пополнить его канал.
Сложности
Остаётся ряд проблем с тем, чтобы реализация этого сценария прошла гладко.
Одна из них это защита от атак отказа в обслуживании (DoS). В то время, как механизм сети Лайтинга гарантирует, что никакие узлы не могут украсть фонды, посредники могут заблокировать или остановить процесс платежа. Для решения этой проблемы необходимо закрывать каналы между теми узлами, которые отказываются сотрудничать. Такая форма наказания должна сделать атаки DoS слишком дорогими.
Однако,чтобы проверить, что канал бы закрыт и атакующий наказан, каждый узел платёжной цепочки должен быть в состоянии контролировать всех участников. Если даже только два узла из шести, входящих в цепочку, используют Лайткоин, все шесть узлов должны быть в состоянии распознать транзакцию Лайткоина.
И конечно, сначала должны быть реализованы сети Лайтинга. В большинстве случаев это требует сначала устранения бага с гибкостью транзакций, как минимум, для достижения лучшей производительности. Segregated Witness — устранение гибкости транзакций, предложенное разработчиками ядра Биткоина требует активации, как на Биткоине, так и на Лайткоине и других лайткоинах.
Но Segregated Witness ещё не активирован, и когда именно это произойдёт и произойдёт ли вообще, зависит от майнеров — как в случае Биткоина, так и в случае альткоинов.