Купить крипту
Рынки
Спот
Фьючерсы
Earn
Акции
Больше
reward-centerДля новичков
Анализ отчетаДетали
Исследования проектов

ZK-EVM: Священный Грааль ZK-Rollup

  • ZEC0%
  • ETH0%
  • ZK0%
  • DYDX0%
  • GTC0%
CoinEx logo
Опубликовано 2022-10-31

Масштабирование Ethereum было горячей темой, которую с нетерпением ждали многие пользователи. Распространено заблуждение, что слияние Ethereum в сентябре 2022 года, которое изменило механизм консенсуса с PoW на PoS, улучшит производительность Ethereum. В действительности, слияние не изменило размер блока, а время блока уменьшилось лишь с в среднем 13 секунд до 12 секунд, что означает ограниченный прирост производительности. Надежда на краткосрочное масштабирование Ethereum по-прежнему возлагается на сети второго уровня (Rollups). Среди двух основных подходов Rollup — Optimistic Rollup и ZK-Rollup — многие отдают предпочтение последнему. ZK-Rollup не только снижает сетевые комиссии путем пакетной обработки нескольких внесетевых транзакций, но и наследует безопасность Ethereum через доказательство с нулевым разглашением, устраняя необходимость в периоде оспаривания, как в Optimistic Rollup.

Платёжные ZK-Rollups

Ранние ZK-Rollups критиковались за отсутствие совместимости с EVM и, следовательно, за отсутствие поддержки функциональности смарт-контрактов. Например, zkSync 1.0, основной метод платежей для пожертвований Gitcoin, мог поддерживать только базовые переводы. Текущие ZK-приложения, такие как dYdX, являются специализированными и неинтероперабельными, что усложняет разработку. Кроме того, различные ZK-приложения используют отдельные специальные схемы, ограничивая композируемость. Поэтому рынку срочно требуется ZK-Rollup, совместимый со смарт-контрактами Ethereum, для которого основным препятствием является достижение виртуальной машины, совместимой с доказательством с нулевым разглашением. В этой статье будут представлены EVM, ZK-EVM и основные проекты ZK-EVM, а также их различия.

Что такое EVM?

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

ZK-EVM: Священный Грааль ZK-Rollup


Появление ZK-EVM

Хотя EVM играет решающую роль в экосистеме Ethereum, разработка ZK-EVM является сложной задачей. ZK-EVM генерирует доказательства с нулевым разглашением, будучи совместимой с EVM, позволяя развертывать смарт-контракты Ethereum без модификации и проверять вычисления через доказательство с нулевым разглашением. EVM не была разработана с учетом совместимости с ZK, поскольку алгоритмы доказательства с нулевым разглашением, такие как zk-SNARKs, не были широко приняты до 2016 года, когда их начал использовать Zcash. Некоторые операции EVM недружественны к ZK, что делает генерацию доказательств сложной, медленной или объемной.

Разработка ZK известна своей сложностью, включающей криптографию, математику и аппаратную экспертизу. Создание ZK-EVM добавляет к этой задаче требование как совместимости с EVM, так и дружественности к ZK. К счастью, в последние годы были достигнуты значительные прорывы в технологии ZK. Игроки в пространстве ZK-EVM, включая Starkware, zkSync 2.0, Polygon и Scroll, ускорили разработку ZK-EVM, причем большинство анонсировало запуск основной сети начиная с 2023 года.


Сравнение проектов ZK-EVM

ZK-EVM не следуют единому дизайну или стандарту, и каждый проект находит свой баланс между совместимостью с EVM и поддержкой ZK. Существуют два основных подхода:

1. Поддержка на уровне языка программирования: Настройка опкодов EVM для оптимизации под ZK, реструктуризация виртуальной машины для поддержки ZK-дружественных операций и компиляция Solidity в новый опкод VM.

2. Поддержка на уровне байткода: Поддержание совместимости с нативными опкодами EVM.

К проектам первой категории относятся StarkNet от Starkware и zkSync 2.0. StarkNet может запускать любое Ethereum dApp путем компиляции Solidity в язык StarkNet, Cairo, для развертывания на его ZK-дружественной VM. Аналогично, zkSync 2.0 достигает функциональности ZK-EVM через свои компиляторы Yul и Zinc, где Yul является промежуточным представлением Solidity, а Zinc — язык на основе Rust для смарт-контрактов и общих ZK-схем. Оба построены на фреймворке LLVM для обеспечения высокоэффективного байткода ZK-EVM.

Эти проекты предлагают совместимость с Solidity на уровне языка, позволяя разработчикам переносить контракты Solidity, хотя базовая архитектура VM отличается от EVM и технически является zkVM. Некоторые существующие инструменты разработчика могут не работать напрямую из-за различий в наборах инструкций VM, но этот подход более дружественен к ZK и может генерировать доказательства более эффективно.

Во втором подходе проекты, такие как Polygon ZK-EVM и Scroll, поддерживают совместимость с нативными опкодами EVM. uVM от Polygon, ZK-оптимизированная VM, использует пользовательские опкоды для улучшения операций EVM путем компиляции байткода EVM в микро-опкоды для выполнения. Polygon ZK-EVM полностью совместим с EVM, обеспечивая бесперебойную работу существующих смарт-контрактов, инструментов разработчика и кошельков. Scroll аналогичным образом разрабатывает схемы для каждого байткода, проверяя каждый шаг выполнения EVM, включая загрузку байткода, выполнение опкодов и обновление хранилища.

ZK-EVM: Священный Грааль ZK-Rollup - image 2


В блоге Виталика он категоризирует ZK-EVM по типам. Тип 1 относится к ZK-EVM, разработанным непосредственно на Ethereum, что сложно и неэффективно, с продолжающимися исследованиями Ethereum Foundation. Типы 2, 2.5 и 3 — это ZK-EVM, эквивалентные EVM, причем Scroll и Polygon Hermez в настоящее время находятся на Типе 3, работая над достижением Типа 2.5 или даже Типа 2. Тип 4 включает ZK-EVM, совместимые с языками более высокого уровня, такие как Starkware и zkSync. Эти типы не имеют внутреннего преимущества или недостатка, так как нет стандартизированной модели ZK-EVM. Как заявил Виталик, "Теоретически нет необходимости в том, чтобы Ethereum стандартизировал единую реализацию ZK-EVM для использования L1; разные клиенты могут использовать разные доказательства, поэтому мы продолжаем получать выгоду от избыточности кода."

ZK-EVM: Священный Грааль ZK-Rollup - image 3


Заключение

Каждое решение ZK-EVM имеет уникальные сильные стороны, и поскольку большинство проектов еще не открыли свой код, сравнения эффективности недоступны. Как крупнейшая платформа смарт-контрактов, экосистема Ethereum и сетевые эффекты сильны. ZK-EVM, святой Грааль ZK-Rollups, использует экосистему Ethereum и сетевые эффекты для наследования её безопасности, снижения комиссий и создания динамичной экосистемы разработчиков. В начале 2021 года Виталик предположил в своем блоге, что Optimistic Rollup может превзойти в общих вычислениях EVM в краткосрочной перспективе, в то время как ZK-Rollup может преуспеть в более простых платежах, торговле и специфических случаях использования приложений. Однако с развитием технологии zk-SNARK, ZK-Rollup может превалировать во всех случаях использования в средне- и долгосрочной перспективе. С запуском основных сетей нескольких проектов ZK-EVM, ландшафт масштабирования второго уровня Ethereum обещает быть захватывающим в ближайшем будущем.

Посмотреть полное содержание