24 мая 2021

Почему Lightning Network — это провал?

Егор Хомяков, широко известный в узких кругах специалист по безопасности, который помогал устранять уязвимости в коде биржи Coinbase, когда та была ещё стартапом. Сейчас внимание Егора приковано к различным Layer 2 решениям. На уже традиционном митапе Cyber Acadaemy он поделился своим видением дальнейших перспектив масштабирования Ethereum и рассказал чем в этом могут помочь платежные каналы, если довести их до ума. 

Этот эпизод стал отличным дополнением к докладу Андрея Соболя про L2.

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

Что касается платежных каналов, то их есть смысл изучать только на Ethereum. Там они устроены намного изящнее, чем Lightning Network работающая на костылях. 

В идеале, при использовании L2 не должно возникать никаких новых рисков и субъектов требующих доверия в сравнении с использованием L1. Если валидаторы L2 имеют физическую возможность присвоить себе балансы пользователей и потом сразу вывести их в основную сеть, то это не очень хороший L2.

Платежный канал на Ethereum устроен очень просто и описывается двумя параметрами: collateral и delta. Collateral (залог) — это актив переведенный из главной сети на контракт L2, а дельта говорит о том, какой процент залога принадлежит каждому из участников канала. Дельта всегда больше 0 и меньше суммы залога. Состояние дельты можно менять оффчейн.

Важно понимать, что канал открывается только между двумя участниками. Чтобы каналы имели смысл их нужно объединить в сеть. 

Первая ошибка LN заключается в том, что создатели представляли её себе как Mesh-сеть без централизованных узлов (хабов), на самом деле любая Layer 2 система самоорганизовывается как hub-and spoke. Это не страшно, ведь главная задача L2 — максимизировать TPS, в том числе, за счет сокращения количества нод обрабатывающих транзакции. Главное, чтобы гарантии возврата средств на L1 были железобетонными.

Вторая ошибка более фундаментальная. Она заключается в неспособности новых пользователей получать входящие платежи от хабов. Так называемое отсутствие inbound capacity. У операторов LN-нод нет мотивации блокировать средства под новых, неизвестных пользователей, поскольку нет гарантии, что они будут совершать платежи и генерировать комиссии. 

С точки зрения безопасности все риски берут на себя поставщики ликвидности LN-хабов, поскольку им пришлось бы хранить много денег на горячих кошельках и блокировать их в сторону юзеров. Получается, что LN сама затянула петлю на шее своей дееспособности из-за непродуманной системы экономической мотивации участников сети. 

Lightning Network — это провал, поскольку может работать только с хорошо известными продавцами с репутацией, в сторону которых будут открывать каналы. Для всех остальных юзкейсов Lightning бесполезен. Тоже самое можно сказать про копию LN на Ethereum — Raiden. Разработчики это поняли и забили на каналы, сосредоточившись на роллапах.

Однако платежные каналы все-таки можно заставить работать позаимствовав у роллапов pre-commitment — обещание операторов включить транзакцию пользователя в следующий набор транзакций. Только в случае с XLN (Extended Lightning Network, которую разрабатывает Егор) — это обещание хаба открыть канал в сторону юзера без предварительной заморозки средств (по сути, кредит) в канале и создание резерва, откуда можно будет взыскать штраф, в случае, если это обещание не будет исполнено.

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

Если резюмировать, платежные каналы могут работать, но их нужно довести до ума, но этим никто не хочет заниматься, поскольку платежные каналы считают мертыми из-за нерешенной проблемы inbound capacity в классической LN. Егор продвигает это направление практически в одиночку и контракт XLN уже создан. Кроме платежей там реализованы еще и быстрые, удобные, безгазовые обмены. 

В конце Егор посоветовал изучать Solidity тем, кто хочет найти интересную работу в индустрии DeFi. По его словам разобраться в этом языке стало гораздо проще, чем еще 3 года назад, а Solidity-разработчики сейчас нарасхват. 

Полную версию доклада Егора можно послушать тут: Как исправить пеймент-каналы 

____________________

Повышайте уровень своего понимания Ethereum и DeFi. Подписывайтесь на BanklessRU в Telegram.