Шо там по L1/L2 ⛓

Шо там по L1/L2 ⛓

Sasha Tsereteli (@newcryptoshit)
Классика от основателя Synthetix: https://blog.synthetix.io/why-optimism/

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

  1. Анонс и развитие L2-решений, в частности – роллапов, то есть Arbitrum, Optimism, Starkware, zkSync и других;
  2. Запуск совместимых с Ethereum новых сайдчейнов, то есть Polygon, xDai, Fantom, в меньшей степени ту же роль выполняют парачейны – Avalanche, Polkadot и Cosmos;
  3. Движение в сторону PoS, ETH2 и шардинга.

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

Сравнение решений по масштабированию от создателей zkSync

Есть два способа масштабировать блокчейн.

Первый – повысить его пропускную способность. Основная проблема с этим подходом заключается в том, что блокчейны с «большими блоками» по своей природе труднее проверять и, как следствие, они могут стать более централизованными. Чтобы избежать этих рисков, разработчики могут либо повышать эффективность клиентского программного обеспечения, либо, что более рационально, использовать такие технологии, как шардинг, чтобы работа по а) созданию блоков и б) проверке сети могла быть разделена между множеством нод. Этим и занимается сообщество в контексте развития Eth2.

Второй – изменить способ использования блокчейна. Вместо того, чтобы поддердживать всю активность на блокчейне, пользователи выполняют большую часть своей деятельности вне него, в протоколах «второго уровня» (L2). В блокчейне же остаётся смарт-контракт, у которого есть только две задачи: обработка депозитов и снятия средств и проверка того, что всё, что происходит вне сети, соответствует правилам сети. Есть несколько способов для этой проверки, но все они заведомо дешевле, чем выполнение вычислений прямо в сети.

Роллапы

Как и всё самое лучшее, роллапы в нынешнем виде предложил в 2018 году Виталик, на сегодняшний день они являются наиболее очевидным и распространённым решением в области L2 (layer-2, «второй слой») и позиционируются как гибридное продолжение основной сети, в отличие от полностью L2 решений и сайдчейнов, которые, хоть и являются совместимыми (composable), всё-таки представляют с собой абсолютно новые L1-блокчейны с новыми валидаторами, стейкхолдерами и технологиями.

Основная идея роллапов – отделить исполнение операций от консенсуса, а вычисления и хранение данных от «финальности», то есть записи в блокчейн. Чтобы повысить эффективность, они используют целый ряд уловок по сжатию данных, чтобы заменить данные вычислениями везде, где это возможно. Вместо проверки валидаторами каждой транзакции по-отдельности, как это происходит сейчас, транзакции «роллапятся» в блок до тысячи операций за раз (после запуска ETH2 – до ста тысяч), выводятся за пределы основной сети, обрабатываются там и только потом возвращаются, проверяются всей пачкой, утверждаются одновременно и записываются навсегда.

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

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

Далее подход зависит от используемой технологии. Существует два основных типа роллапов:

I. Optimistic, fraud-proof (Arbitrum, Optimism)

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

Однако и здесь есть свои минусы: в частности, «финальность», то есть запись изменения состояния от всей пачки транзакций на основной блокчейн Ethereum, может занимать до двух недель, в течение которых и должна поступить «жалоба» хотя бы от одного майнера. Всё это время, до возникновения «пометки о недостовернсти» и исправления ошибки, в системе может поддерживаться неверное состояние, что в свою очередь невозможно в ZK-роллапах.

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

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

Вопрос здесь в том, что для себя считать финальностью – только то, что отражено в основной сети и то, что может занимать несколько блоков-минут-часов-дней, или же более оперативное обновление состояния базы данных в самой системе роллапов. Сами «оптимисты» говорят, что прозрачность обеспечивается валидаторами и любая сторона может видеть все движения в моменте, кроме, собственно, сети Ethereum, которой и не надо знать все подробности каждой транзакции, а только их итог. Кстати, важный аспект – роллапы не имеют влияния на порядок транзакций, то есть работают не как мемпул.

В свою очередь, оба представителя «оптимистичной» разновидности роллапов также отличаются между собой в том, как они действуют при возникновении этих разногласий:

  • Optimism повторно проводит ту транзакцию, по поводу которой возник спор;
  • Arbitrum использует интерактивный протокол, который делит спорную операцию до тех пор, пока она не станет игнорируемо малой.

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

II. Zero-Knowledge, cryptographic, validity-proof (Validium, Starkware, zkSync, Loopring)

Технология всех роллапов с приставкой ZK базируется на доказательстве с нулевым разглашением. Подробнее и интереснее некуда про этот тип криптографии можно прочитать на Википедии.

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

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

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

Итак, подводя итог и цитируя документацию zkSync (понятной для плебея её части), неформально это работает следующим образом:

  1. Пользователи подписывают транзакции и отправляют их валидаторам;
  2. Валидаторы объединяют тысячи транзакций в один блок и передают криптографическое обязательство (корневой хэш) нового состояния смарт-контракту в основной сети вместе с криптографическим доказательством (SNARK) того, что это новое состояние действительно является результатом применения некоторых верных транзакций к прошлому состоянию;
  3. В дополнение к доказательству, состояние ∆ (небольшой объем данных для каждой транзакции) публикуется в основной сети как дешевая транзакция calldata. Это позволяет любому человеку в любой момент реконструировать текущее состояние.
  4. Доказательство и состояние ∆ проверяются смарт-контрактом, тем самым подтверждая как действительность всех транзакций, включенных в блок, так и доступность данных блока.

Проверка SNARK намного дешевле, чем проверка каждой транзакции по отдельности, а хранение состояния вне сети значительно дешевле, чем хранение его в EVM. Следовательно, это позволяет значительно повысить масштабируемость (емкость основной сети в ~100-200 раз) и снизить затраты на передачу данных.

Архитектура zkRollup предоставляет следующие гарантии:

  • Валидаторы никогда не могут испортить состояние сети или украсть средства (в отличие от сайдчейнов);
  • Пользователи всегда могут получить средства из смарт-контракта zkRollup, даже если валидаторы перестают сотрудничать, потому что данные доступны (в отличие от Plasma);
  • Ни пользователи, ни одна доверенная третья сторона не должны быть в сети для мониторинга блоков zkRollup с целью предотвращения мошенничества (в отличие от fraud-proof систем, таких как Optimistic Rollup).

Другими словами, zkRollup строго наследует гарантии безопасности подлежащего L1. Возможно, вы слышали о трилемме блокчейна, но когда дело касается масштабирования Ethereum, есть и четвертый фактор: программируемость. Все текущие решения для масштабирования сводятся к тому, что жертвуют некоторой безопасностью, децентрализацией и программируемостью ради масштабируемости. С запуском zkSync 2.0 все 4 фактора будут наоборот максимизированы.

Виталик в своём январском обзоре роллапов говорит, что в кратко- и среднесроке победит оптимизм, а в долгосроке, с развитием технологии ZK-STARK, – доказательные системы. Считается, что технология обеспечивает большую субъективную безопасность, при этом она более новая, более сложная и требовательная. На сегодняшний день оба решения полностью совместимы с Ethereum и поддерживают разработку EVM-совместимых смарт-контрактов.

На роллапах сейчас работают или готовятся к запуску практически все основные DeFi проекты и считается, что именно увеличение скорости и уменьшение стоимости транзакций станут катализатором к их принятию широкой аудиторией:

Сайдчейны и парачейн

Первое, что нужно сказать – сайдчейны вообще не принято считать L2-решениями Ethereum. Это абсолютно новые блокчейны со своими рисками, включая атаки 51%, недобросовестности валидаторов, остановки сети и прочими. Они различаются и ранжируются по совместимости и созависимости с Ethereum, где с одной стороны есть полностью самостоятельные экосистемы с миллиардами долларов вроде Polygon, с другой – пустующие и ждущие своего часа нишевые сети вроде xDai.

Также в некоторой степени сюда можно отнести так называемые парачейны, основные из которых – Cosmos, Avalanche и Polkadot, однако их подробное обсуждение заслуживает отдельной статьи.

«Avalanche – это платформа платформ, позволяющая любому создавать индивидуальные блокчейны для конкретных приложений и извлекать выгоду из революционного консенсуса».

Основная гипотеза существования сайдчейнов – это то, что будущее будет мультичейновым, и каждой твари найдётся по паре, каждая из которых будет обладать уникальными свойствами, видом консенсуса, производительностью и безопасностью. По большому счёту Binance Smart Chain, полностью совместимый с контрактами EVM и оборудованный прямым моментальным мостом с Ethereum, тоже можно было бы назвать отвечающим несколькими характеристикам сайдчейнов, но, учитывая другую механику консенсуса и состав валидаторов, он таковым не является.

Для примера мы возьмём фреймворк Polygon, который поддерживает два основных типа сетей, совместимых с Ethereum: защищенные сети и автономные сети. Примером защищенной сети является роллап, а примером автономной сети является, собственно, сайдчейн.

Сайдчейны предлагают несколько преимуществ – в первую очередь, быстрые транзакции и низкие комиссии. Поскольку Polygon поддерживает виртуальную машину Ethereum (EVM), существующие приложения могут быть относительно легко перенесены на неё. На нем уже развернуты некоторые из самых популярных DeFi-приложений, такие, как Aave, 1inch, Curve и Sushi, а также несколько нативных приложений, которых больше нигде нет – например, QuickSwap и Slingshot. Кроме того, совместимость подразумевает использование существующих инструментов и кошельков Ethereum, таких, как MetaMask.

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

Сайдчейн Polygon защищен собственным набором валидаторов (пул валидаторов), и он должен время от времени отправлять контрольные точки в Ethereum. Именно поэтому распространено мнение, что сайдчейны не являются «чистым» L2-решением. Их безопасность не гарантируется сетью Ethereum, что зачастую и является решающим различием. Использование сайдчейна подразумевает наличие доверия, и это касается не только валидаторов сети, но и моста для средств между основной и дочерней сетями.

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

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

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

Источники

https://www.mechanism.capital/rollups-introduction/
https://www.delphidigital.io/podcasts/ethereum-layer-2-rollup-debate-optimism-starkware-arbitrum-and-zksync/
https://vitalik.ca/general/2021/01/05/rollup.html
https://ethresear.ch/t/on-chain-scaling-to-potentially-500-tx-sec-through-mass-tx-validation/3477
https://zksync.io/faq/
https://medium.com/matter-labs/optimistic-vs-zk-rollup-deep-dive-ea141e71e075
https://medium.com/matter-labs/zksync-2-0-hello-ethereum-ca48588de179
https://medium.com/matter-labs/optimistic-vs-zk-rollup-deep-dive-ea141e71e075
https://medium.com/starkware/validity-proofs-vs-fraud-proofs-4ef8b4d3d87a
https://github.com/matter-labs/awesome-zero-knowledge-proofs
https://medium.com/offchainlabs/how-arbitrum-rollup-works-39788e1ed73f
https://ethereum.org/en/developers/docs/scaling/
https://ethereum.org/en/eth2/shard-chains/


Report Page