February 18

L2 решения для масштабирования Ethereum. Что они из себя представляют?

В Ethereum ежедневно проходят транзакции на миллиарды долларов и запускается множество приложений в секторах децентрализованных финансов (DeFi) и NFT.

Однако пространство в блоках Ethereum ограничено, и все эти приложения конкурируют за одно и то же простратнство в блоках, а это значит, что транзакции становятся дороже и задерживаются при перегрузке сети.

На практике, для пользователей, ончейн транзакции (например, сделка в Uniswap) на Ethereum могут обходиться в десятки и сотни долларов, в зависимости от перегруженности сети, что непомерно дорого. Но с другой стороны, это выгодно валидаторам и стейкерам, которые и извлекают выгоду из транзакционных сборов, получая более высокую прибыль в сравнении со временами когда активность в сети ниже:

Месячная общая прибыль валидаторов цепи Ethereum

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

В общем эти решения можно разделить на два уровня:

  • Уровень 1 - транзакции и вычисления на цепочке, или решения для масштабирования, которые хранят все транзакции на Ethereum.
  • Уровень 2 - транзакции и вычисления вне цепи Ethereum. Существует четыре основных типа подходов, решения которых реализуют различные проекты. Эти решения мы сегодня и рассмотрим подробнее:

1. Каналы состояния (малоактуально)

Каналы состояния позволяют пользователям совершать множество транзакций вне цепи, отправляя в сеть Ethereum только две транзакции - одну при открытии и вторую при закрытии канала. Это освобождает основную сеть от необходимости проверять множество транзакций, но обеспечивает тот же уровень безопасности. Участникам сети необходимо разместить депозит в мультисиг контракт - контракт, для исполнения которого требуется пороговое количество подписей (например, 3 из 5). После внесения средств в канал участники могут совершать сделки столько раз, сколько захотят. Когда участникам больше не нужен канал, они могут отправить результат, подождать некоторое время, чтобы убедиться, что результат не оспорен, а затем отправить финальную транзакцию на цепь и разблокировать свои средства.

Примером упрощенного канала состояний является платежный канал между двумя или более сторонами. Он полезен при большом количестве транзакций (например, микроплатежей) между известным числом участников. Транзакции осуществляются мгновенно, а комиссии, необходимые для обработки транзакции на блокчейне Ethereum, значительно снижаются.

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

В данный момент это, очевидно, не самый популярный тип решения масштабируемости Ethereum.

2. Plasma - Childchains/дочерние цепи (малоактуально)

Plasma - представленное в 2017 году решение для масштабирования блокчейна Ethereum. Это отдельный блокчейн, привязанный к Ethereum Mainnet, но выполняющий транзакции вне цепочки и имеющий собственный механизм проверки блоков. Цепи Plasma по сути, уменьшенные копии Ethereum Mainnet.

Слоев таких цепей может быть много, что позволяет создавать дочерние цепочки дочерних цепочек, и так до бесконечности.

В отличие от каналов состояния, Plasma также может работать с гибким количеством пользователей, не требуя заданного числа с самого начала. Кроме того, существует высокая степень безопасности и возможности восстановления средств.

Слабость заключается в том, что Plasma не поддерживает исполнение смарт-контрактов, выполняя только базовые функции, такие как переводы или свопы.

Кроме того, необходим надзор над Plasma-цепью, чтобы своевременно обнаружить любые ошибки и предотвратить эксплойты.

Plasma перестала быть актуальным решением для Ethereum из-за смещения акцента на роллапы и сайдчейны.

3. Сайдчейны

Хотя Plasma чайлдчейны и сайдчейны похожи друг на друга, они отличаются с точки зрения безопасности.

Чайлдчейн Plasma опирается на механизм безопасности Ethereum, передавая в блок эфира полное древо транзакций Меркла. А сайдчейн - это отдельный блокчейн, со своим собственным механизмом консенсуса и гарантиями безопасности, работающий параллельно с Ethereum и взаимодействующий с ним. Он подключается к Ethereum с помощью двустороннего моста.

Сайдчейны не зависят от блокчейна и могут поддерживать другие L1 цепи. Они взаимодействуют с основной цепью только при обновлении состояния своего реестра.

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

Недостатком является то, что пользователям необходимо передавать хранение средств в сайдчейн, у которого менее развитая децентрализация и безопасность по сравнению с Ethereum. Кроме того, токен сайдчейна также должен иметь ценность и быть экономически жизнеспособным.

4. Роллапы

Роллапы обрабатывают транзакции на другом, более быстром блокчейне (L2), а затем переносят данные о транзакциях обратно на основной блокчейн (L1 или mainnet) за меньшую цену. Роллапы позволяют объединить тысячи транзакций в одном блоке. По сути это такие же сайдчены, от которых отличаются способом доказательства достоверности передаваемых на L1 данных.

Существует два основных типа роллапов: Оптимистичные роллапы и ZK-роллапы.

4a. Оптимистичные роллапы

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

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

К самым популярным проектам из этой категории относятся Optimism, Arbitrum.

4b. ZK (Zero Knowledge/нулевое знание) ролл-апы

В то время как оптимистичные роллапы предполагают, что транзакции действительны по умолчанию, и выполняют проверки только в случае возникновения проблем, ZK Роллапы выполняют все вычисления вне цепочки и предоставляет доказательство действительности для хранения в Ethereum.

Zero Knowledge proofs (ZK) - Доказательство с нулевым разглашением, позволяющие одному человеку доказывать другому, что утверждение является верным, не раскрывая какой-либо информации, выходящей за рамки действительности утверждения.

Такие доказательства могут быть двух видов: ZK SNARK и ZK STARK.

Преимущества и недостатки каждого из-них:

В данный момент технологии zk-SNARKs выглядят более развитыми по сравнению с zk-STARKs. У этого несколько причин.

1ая причина: zk-Snarks были описаны и воплощены в жизнь гораздо раньше, примерно в 2012 году, тогда как zk-STARKs были впервые описаны в 2018 году.

2ая причина: zk-SNARKs имеет более богатую библиотеку для разработчиков, открытых кодов, и проектов, из-за чего разработчики гораздо активнее работают с этой технологией. Первым проектом воплотившим эту технологию является Zcash.

3ая причина: zk-SNARKs требуют на газ примерно 24% от того что требует технология zk-STARKs, из-за чего конечному пользователю выгоднее использовать первую. Происходит это потому что STARKs имеют гораздо большие размеры доказательств, чем SNARKs.

Но, раз технология STARKs появилась и спонсируется из фонда Ethereum, значит у него тоже есть какие-то преимиущества.

1ое: STARKs не требуют начальной доверительной установки между проверяющим и проверяемым.

2ое: В zk-SNARKs, чем больше требуется вычислений, тем больше сторонам приходится отправлять сообщений туда и обратно. А в zk-STARK количество циклов обмена данными между проверяющими и верифицирующими остается постоянным, относительно любого увеличения вычислений.

Общим преимуществом ZK решений является отсутствие задержек при перемещении средств между Layer1 и Layer2, поскольку подтверждение действительности, принятое контрактом, уже верифицировало средства. Таким образом, если пользователь решает вывести средства с Layer2 в Layer1, расчеты происходят быстрее, чем на Оптимистичных ролл-апах.

Среди проектов, работающих над ZK Rollups, - Loopring, Zksync (Matter Labs), Aztec, Starkware, Hermez.

5. Validium

Validium использует доказательства достоверности (как ZK Rollup), но данные не хранятся в цепочке Ethereum. Средства в Validium надежно защищены, поскольку каждый перевод должен быть авторизован. Сохранение данных вне мейнчейна может обеспечить до 20 000 TPS на цепочку Validium, которые могут работать параллельно друг с другом.

Преимуществом является отсутствие задержки при выводе средств и отсутствие уязвимости к атакам, с которыми сталкиваются системы с защитой от мошенничества.

Недостатком является ограниченная поддержка смарт-контрактов инеобходимость высокой вычислительной мощности.

Недостатком этих разнородных решений для масштабирования является отсутствие единого, глобального состояния и раздробленность экосистемы. Но, несмотря на то, что вышеперечисленные решения для масштабирования разделены на четкие группы, в реальности технологии можно комбинировать. Примером проекта который пытается комбинировать Optimistic и ZK решения, а так же создает плаформу для интероперабельности L2 решений - является Polymer Labs.

Больше интересного материала

https://t.me/talkanovinvst