July 12, 2023

Разработка ZK-роллапов

Перевод

Это вольный перевод доклада Crypto.com от июня 2023 года “The development of ZK-rollups”.

Дисклеймер

Отказ от ответственность обязательно нужно прочесть в оригинале.

Резюме

ZK-роллапы всё ещё находятся на стадии зарождения, и в настоящее время на ландшафте Layer-2 доминируют оптимистичные роллапы, такие как Optimism и Arbitrum. Тем не менее, ZK-роллапы, такие как zkSync Era, увеличивают общую стоимость блокировки (TVL), достигая 668 миллионов долларов США по состоянию на 30 июня 2023 года, что на 660% больше, чем 88 миллионов долларов США на 1 апреля 2023 года.

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

zkEVM первого типа полностью и бескомпромиссно эквивалентны Ethereum. Они не изменяют ни одну часть системы Ethereum для облегчения генерации доказательств. Однако для генерации доказательств этому типу zkEVM требуется длительное время (в часах).

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

zkEVM типа 3 практически эквивалентны EVM, но далеки от полного тождества (ZkEVM типа 3 почти эквивалентны EVM, но жертвуют полной эквивалентностью EVM, чтобы сократить время проверки, а также упростить разработку EVM). В целом, это переходный этап, и проекты обычно продвигаются к Типу 2 путём добавления таких функций, как пре-компиляция.

zkEVM 4-го типа работают путём компиляции исходного кода смарт-контракта, написанного на языке высокого уровня (например, Solidity или Vyper), в язык, дружественный ZK-SNARK. Это означает, что zkEVM имеют очень быстрое время доказательства, но их основным недостатком является повышенная несовместимость.

ZK-роллапы интересны в долгосрочной перспективе, учитывая их высокую безопасность и масштабируемость. По оценкам, рынок генерации доказательств с нулевым знанием (ZK) достигнет 10 миллиардов долларов к 2030 году.

Введение в ZK-роллапы

Хорошо известно, что Ethereum страдает от проблем масштабируемости из-за высокого спроса, что привело к резкому росту цен на газ. В настоящее время мощность сети Ethereum достигла примерно 1+ млн транзакций в день.

Поэтому были разработаны решения Layer-2, чтобы помочь улучшить масштабируемость блокчейн. Цепи второго уровня строятся поверх блокчейнов первого уровня (таких как Ethereum и Bitcoin) и помогают масштабированию, принимая на себя часть транзакционной нагрузки от цепей первого уровня. Это помогает базовому уровню стать менее перегруженным.

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

В отличие от оптимистичных роллапов, которые должны размещать все данные о транзакциях на цепочке, ZK-роллапы должны предоставлять доказательства достоверности только для завершения транзакций (состояний) Ethereum.

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

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

Термины

Calldata - Данные, которые включаются во внешние вызовы функций смарт-контракта, хранятся в calldata. Calldata впоследствии публикуется в

блокчейне, что позволяет независимо восстановить состояние роллапа.

Контракты (ончейн):

  1. Основной контракт ZK-роллапа хранит блоки роллапа, отслеживает депозиты и следит за обновлением состояния.
  2. Контракт верификатора помогает проверять ZK-доказательства, предоставленные производителями блоков.

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

Секвенсор - структура, которая выполняет транзакции, объединяет их в пакеты и отправляет их на L1.

Существует два основных типа доказательств достоверности:

  • ZK-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge);
  • ZK-STARK (Zero-Knowledge Scalable Transparent Argument of Knowledge).

Существуют некоторые технические различия между ZK-SNARK и ZK-STARK.

Например, ZK-SNARK требуют создания общей справочной строки (Common Reference String, CRS), которая предоставляет публичные параметры для доказательства и проверки доказательств достоверности. Этот процесс CRS должен быть защищён с помощью доверенных установок - если информация, используемая для создания открытых параметров, утечет, злоумышленники могут использовать ее для создания ложных доказательств достоверности. Тем не менее, ZK-SNARK обладают такими преимуществами, как малый размер доказательства и постоянное время проверки.

ZK-STARK считаются "прозрачными" в том смысле, что они не требуют доверенной установки CRS. Кроме того, ZK-STARK быстрее, чем ZK-SNARK, доказывают и проверяют большие наборы данных, что делает их более масштабируемыми.

Одним из недостатков ZK-STARK является то, что они дают большие размеры доказательств, которые дороже проверять на Ethereum. Кроме того, ZK-STARK предъявляют более высокие требования к спецификации устройств, поскольку им требуются более интенсивные вычисления, чем ZK-SNARK.

Ниже мы перечислили некоторые из основных преимуществ и недостатков ZK-роллапов

Плюсы:

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

Минусы:

  1. Стоимость вычисления и проверки доказательств достоверности высока и может увеличить комиссию (хотя ожидается, что стоимость транзакций снизится с увеличением количества людей, использующих ZK-rollup, поскольку расходы будут распределены между большим количеством транзакций).
  2. Создание совместимых с EVM ZK-роллапов считается сложной задачей из-за сложности технологии нулевого знания.
  3. Для производства доказательств достоверности требуется специализированное оборудование, что может привести к централизованному контролю цепочки несколькими организациями.
  4. Централизованные операторы (секвенсоры) потенциально могут влиять на порядок транзакций.
  5. Некоторые системы доказательств (например, ZK-SNARK) требуют доверенной установки для генерации своих криптографических параметров, что потенциально может поставить под угрозу безопасность.

Типы zkEVM

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

Однако с развитием технологии индустрия нашла способы достижения виртуальной машины Zero-Knowledge Ethereum Virtual Machine (zkEVM), которая начала получать значительное распространение и использование.

Например, zkSync Era достигла максимума в 44 800 ежедневных транзакций 25 марта 2023 года, а в июне 2023 года это число стабилизировалось между 15 000 и 20 000.

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

Эквивалентность EVM означает, что опыт разработки на роллапе на 100% идентичен опыту разработки на Ethereum. Смарт-контракты Уровня-1 могут быть напрямую перенесены на блокчейн Уровня-2 без поломки.

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

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

В настоящее время наиболее часто используемые типы zkEVM включают тип 4 (zkSync Era, Starknet) и тип 2 (Polygon zkEVM). zkEVM типа 3 считаются переходным этапом, когда большинство проектов впоследствии переходят к типу 2.

Ниже сравниваем различные типы zkEVM с точки зрения их типа, TVL, даты запуска в mainnet и токена, используемого для оплаты газа.

За последние три месяца zkSync Era и Polygon zkEVM продемонстрировали значительный рост на TVL, который увеличился примерно в 14,5 раз и 91 раз соответственно.

Тип 1 (полностью эквивалентный Ethereum)

zkEVM типа 1 полностью и бескомпромиссно эквивалентна Ethereum. Основные характеристики zkEVM типа 1 приведены ниже.

Плюсы:

  • zkEVM типа 1 не изменяют никакую часть системы Ethereum для облегчения генерации доказательств.
  • Они идеально совместимы с Ethereum и способны проверять блоки Ethereum.
  • Они отлично подходят для роллапов, поскольку позволяют роллапам повторно использовать такую инфраструктуру, как клиенты исполнения Ethereum (для генерации и обработки блоков роллапа), а также такие инструменты, как блокчейн-исследователи.

Минусы:

  • Основным недостатком zkEVM типа 1 является длительное время генерации доказательств (при использовании нынешней технологии для создания доказательств требуется несколько часов), поскольку многие части протокола Ethereum требуют большого объема вычислений для ZK-доказательства.

В настоящее время zkEVMs типа 1 создаются командой Privacy & Scaling Explorations (PSE), а также командой Taiko. Оба проекта ещё не достигли стадии майннета, при этом Taiko планирует запустить свой мейннет в начале 2024 года.

Тип 2 (полностью эквивалентный EVM)

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

Плюсы:

  1. zkEVM типа 2 по-прежнему обладают полной эквивалентностью на уровне виртуальных машин: приложения, работающие на Ethereum, будут работать на роллапе zkEVM типа 2.
  2. Инструменты отладки EVM и большинство других инфраструктур разработчиков по-прежнему можно использовать на zkEVM типа 2.
  3. zkEVM типа 2 имеют более быстрое время проверки, чем тип 1, поскольку они жертвуют эквивалентностью Ethereum за счет удаления сложных и недружественных к ZK частей стека Ethereum.

Минусы:

  1. zkEVM вносят изменения в структуры данных (такие как структура блоков и дерево состояний), к которым не может получить доступ непосредственно сам EVM; следовательно, это оказывает ограниченное влияние на совместимость.
  2. Клиенты исполнения Ethereum не могут использоваться как таковые на zkEVM типа 2; однако они могут быть использованы с некоторыми модификациями.

Polygon zkEVM

Polygon zkEVM (ранее Polygon Hermez) - zkEVM типа 2. С момента запуска бета-версии в основной сети 27 марта 2023 года она пережила значительный рост TVL, увеличившись с $0,47 млн 28 марта 2023 года до $39,18 млн 30 июня 2023 года.

Polygon zkEVM предлагает масштабируемость Ethereum с производительностью и безопасностью zkEVM. На момент написания статьи производительность Polygon zkEVM составляет в среднем 1,2 транзакции в секунду (TPS), время до завершения - около 2-3 секунд, а также низкая комиссия - около $0,03.

Уникальной особенностью Polygon zkEVM является использование технологии ZK-доказательств Polygon Zero для достижения быстрой окончательности сети с частыми доказательствами достоверности.

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

Scroll

Scroll - zkEVM типа 2 на Ethereum, который поддерживает встроенную совместимость для приложений и инструментов Ethereum. В настоящее время Scroll находится на стадии Alpha Testnet, которая является одной из стадий перед mainnet.

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

Кроме того, Scroll - это zkEVM на уровне байткода, преимуществом которого является упрощение процесса разработки за счет интерпретации байткода EVM. Это позволяет разработчикам использовать существующие инструменты EVM без необходимости переписывать код.

Тип 3 (почти эквивалент EVM)

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

Кроме того, существуют незначительные различия в том, как zkEVM типа 3 обрабатывают код контракта, память или стек.

Недостатком zkEVM типа 3 является то, что некоторые приложения должны быть переписаны из-за использования прекомпиляций или зависимостей, которые ВМ обрабатывают по-разному.

В целом, Тип 3 является переходным этапом, и проекты, как правило, не стремятся навсегда остаться в Типе 3. В целом, zkEVM типа 3 переходят к типу 2 путем включения выдающихся функций, таких как пре-компиляция, тем самым стремясь достичь полной эквивалентности EVM.

Тип 4 (эквивалентный язык высокого уровня)

ЗКЭВМ типа 4 работают путем компиляции исходного кода смарт-контракта, написанного на языке высокого уровня (например, Solidity или Vyper), в язык, дружественный ZK-SNARK.

Основным преимуществом zkEVMs типа 4 является очень быстрое время проверки, а основным недостатком - более высокая несовместимость.

Плюсы:

  1. Прямая компиляция из языков высокого уровня помогает значительно сократить время работы провера, поскольку он может избежать необходимости ZK-доказывать все различные части каждого шага выполнения EVM.
  2. Компиляция с языков высокого уровня помогает повысить децентрализацию, поскольку снижает барьер для участия в проверке.

Минусы:

  1. Контракты могут иметь не те же адреса в zkEVM типа 4, что и в EVM.
  2. zkEVM типа 4 могут не поддерживать рукописный байткод EVM, который используется многими приложениями для повышения эффективности.
  3. Значительная часть отладочной инфраструктуры не может быть перенесена на zkEVM типа 4, поскольку инфраструктура может работать с использованием байткода EVM.

zkSync

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

В zkSync смарт-контракты написаны на Solidity или Vyper (как и в Ethereum) и могут быть вызваны с помощью тех же клиентов, что и другие EVM-совместимые цепочки. Среди ролловеров ZK, zkSync Era имеет самый высокий TVL, составляющий 668 миллионов долларов США по состоянию на 30 июня 2023 года.

Существует две версии zkSync: zkSync Lite и zkSync Era. zkSync Lite - ранняя версия сети без поддержки смарт-контрактов, в то время как zkSync Era поддерживает смарт-контракты.

Основной рабочий процесс операций сворачивания zkSync Era выглядит следующим образом:

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

Существуют различные особенности zkSync Era, которые помогают повысить его безопасность и удобство использования:

  • Благодаря использованию рулонов ZK, zkSync не требует никаких операционных действий для поддержания безопасности средств. Например, пользователи могут уходить в офлайн и безопасно выводить свои средства после возвращения, даже если валидаторов ZK-роллапов больше нет поблизости.
  • zkSync поддерживает переводы токенов ETH и ERC-20 с мгновенными подтверждениями и быстрым завершением на L1.
  • Обеспечивает смарт-контракты, совместимые с EVM, без разрешений.
  • Использует стандартный Web3 API для большей совместимости.
  • Сохраняет ключевые особенности EVM, такие как совместимость смарт-контрактов.

Starknet

Starknet - ZK-роллап без разрешений, который поддерживает общие вычисления и работает как сеть L2 над Ethereum. Смарт-контракты Starknet в основном написаны на языке StarkWare Cairo, который является языком программирования, полным по Тьюрингу и предназначенным для STARK-доказательств.

На данный момент Starknet не поддерживает EVM. Однако проект Warp компании Nethermind находится в процессе создания компилятора с Solidity на Cairo от StarkWare, который превратит Starknet в zkEVM типа 4.

Starknet поддерживал контракты Cairo 1.0 в своей версии 0.11.0 в марте 2023 года; с тех пор Starknet TVL вырос до 67 миллионов долларов по состоянию на 30 июня 2023 года. П

Некоторые из ключевых особенностей и преимуществ Starknet включают:

  • В нём встроена абстракция учётных записей (AA), которая позволяет объединить учетные записи пользователей и смарт-контракты в один тип учетной записи.
  • АА позволяет Starknet поддерживать такие механизмы безопасности, как социальное восстановление и мультиподписи (multisigs). Это также повышает удобство, поскольку пользователи могут выбрать идентификатор лица или вход по отпечатку пальца и не будут нуждаться в использовании своих закрытых ключей для подписания каждой транзакции.

Starknet также имеет встроенную функцию, известную как "deadman switch". Пользователи могут использовать встроенную закодированную логику Starknet для передачи цифровых активов другим пользователям при наступлении определенных событий.

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

Заключение

Основным недостатком ZK-роллапов является их низкая совместимость с виртуальной машиной Ethereum (EVM); разработка zkEVM существенно помогла преодолеть этот недостаток. Каждый тип zkEVM имеет свои преимущества и компромиссы:

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

В последнее время ZK-роллапы получили значительный объём финансирования.

В мае 2022 года компания StarkWare, создатель Starknet, привлекла 100 миллионов долларов в раунде финансирования серии D, достигнув оценки в 8 миллиардов долларов. А в ноябре 2022 года Matter Labs, компания, стоящая за zkSync, привлекла $200 млн для масштабирования Ethereum.

Согласно прогнозам, в 2030 году сервисы Web 3.0 потребуют выполнения почти 90 миллиардов доказательств нулевого знания, при этом в масштабах рынка будет выполняться 83 000 транзакций в секунду. Для сравнения, сеть Visa обрабатывает до 65 000 транзакций в секунду. Кроме того, по оценкам, рынок генерации доказательств нулевого знания достигнет 10 миллиардов долларов к 2030 году.

По оценкам Виталика Бутерина, технологии создания ZK-доказательств могут потребовать "годы доработки". В то же время, вероятно, будет много инноваций на различных путях масштабирования Ethereum и ZK-роллапов на базе Ethereum.

До!