Основные выводы
zkEVM — это нулевая машина Ethereum, которая может выполнять смарт-контракты таким образом, чтобы быть совместимой с технологией нулевых доказательств (ZKP).
zkEVM расширяет zk-роллапсы на Ethereum, чтобы поддерживать децентрализованные приложения (DApps), а не только простые переводы токенов.
Разработчики могут переносить существующие DApps и смарт-контракты Ethereum на zkEVM, не обучаясь криптографии с нулевым разглашением.
zkEVMs классифицируются на четыре основных типа на основе компромисса между совместимостью EVM и эффективностью ZK доказательств.
Введение
Разработчики Ethereum не проектировали сеть с учетом доказательств с нулевым разглашением (ZKP), когда впервые предложили сеть в 2014 году. С тех пор технология ZKP приобрела значительное движение в пространстве блокчейна, и команды усердно работали над тем, чтобы внедрить возможности ZKP в Ethereum.
Результатом стал zkEVM, тип виртуальной машины, который может запускать смарт-контракты Ethereum, генерируя криптографические доказательства их корректности. Эта статья объясняет, что такое zkEVM, как он работает и какие сети внедрили эту технологию на практике.
Что такое zk-роллапы?
Роллап — это решение масштабирования второго уровня, которое обрабатывает многие транзакции вне основной сети Ethereum, а затем отправляет сжатое резюме в Ethereum как одну транзакцию. Этот подход увеличивает пропускную способность и снижает затраты по сравнению с выполнением каждой транзакции на уровне 1.
zk-роллап — это роллап, который использует технологию ZKP для доказательства того, что все оффчейн-транзакции были обработаны корректно. Вместо того, чтобы публиковать все данные транзакций, он отправляет доказательство действительности вместе с обновлением состояния. Оптимистичные роллапы используют другой подход, полагаясь на доказательства мошенничества и экономические стимулы, а не на криптографические гарантии.
Ранние zk-роллапы были ограничены простыми операциями, такими как переводы токенов. zkEVM расширяет это, чтобы охватить полный спектр выполнения смарт-контрактов, делая zk-роллапы подходящими для общих DApps.
Что такое EVM?
Ethereum Virtual Machine (EVM) — это среда выполнения внутри Ethereum, где выполняются смарт-контракты. Каждый раз, когда смарт-контракт выполняется, EVM переходит из одного состояния в другое. Все узлы в сети должны согласовывать это состояние для поддержания консенсуса.
EVM определяется набором опкодов, которые являются низкоуровневыми инструкциями. Когда разработчики пишут контракты на Solidity или Vyper, эти контракты компилируются в байт-код EVM, который EVM может интерпретировать. Этот общий стандарт делает смарт-контракты Ethereum переносимыми между совместимыми цепями.
Как работает zkEVM?
zkEVM воспроизводит среду Ethereum внутри zk-роллапа. Он принимает начальное состояние, обрабатывает пакет транзакций в соответствии с правилами EVM и выводит новое состояние вместе с доказательством действительности. Контракт-проверка на основной сети Ethereum проверяет это доказательство без повторного выполнения каждой транзакции.
Этот подход означает, что правильность каждого перехода состояния гарантируется криптографически, а не просто предполагается. Разработчики могут развертывать существующие смарт-контракты Ethereum на zkEVM с небольшими или без изменений, потому что среда выполнения следует тем же правилам, что и основной сетевой.
Генерация ZK доказательств для выполнения EVM является ресурсоемкой. Аппаратное ускорение и алгоритмические улучшения в последние годы значительно сократили время генерации доказательств для многих реализаций, с того, что когда-то потенциально занимало несколько часов, до минут или секунд в некоторых конфигурациях, хотя это варьируется в зависимости от сети и размера пакета.
Совместимость EVM против эквивалентности EVM
Совместимость EVM означает, что блокчейн может развертывать и запускать контракты на базе Solidity с минимальными изменениями. Многие цепи (включая BNB Smart Chain) являются совместимыми с EVM. Разработчики могут обычно копировать контракты Ethereum и развертывать их с небольшими поправками.
Эквивалентность EVM идет дальше. Это означает, что zkEVM ведет себя идентично Ethereum на глубоком техническом уровне, поэтому существующие инструменты, отладочные среды и инфраструктура разработчиков работают без модификаций. Чем ближе zkEVM к полному эквиваленту, тем проще становится миграция, но тем сложнее генерировать эффективные ZK доказательства.
Разные типы zkEVM
В блоге соучредитель Ethereum Виталик Бутерин классифицировал zkEVM на четыре типа, основываясь на компромиссе между эффективностью ZK и совместимостью с EVM.
Тип 1: эквивалентность на уровне консенсуса
Тип 1 zkEVM полностью эквивалентен Ethereum на уровне консенсуса. Он может непосредственно проверять блоки Ethereum. Это делает его самым совместимым типом, но генерация ZK доказательств является самой ресурсоемкой. Одним из примеров является основная сеть Type 1 zkEVM от Taiko, запущенная в середине 2024 года.
Тип 2: эквивалентность на уровне байт-кода
Тип 2 zkEVM полностью совместим с EVM, но отличается от Ethereum в некоторых внутренних структурах данных, таких как дерево состояния. Он поддерживает все существующие DApps и инструменты Ethereum. Время доказательства улучшено по сравнению с Типом 1, но остается значительным. Примеры сетей Типа 2 — это Scroll и Polygon zkEVM.
Тип 2.5: Тип 2 с измененными затратами на газ
Тип 2.5 похож на Тип 2, но корректирует затраты на газ для операций, которые сложно доказать. Это улучшает эффективность доказателя с небольшим влиянием на полную совместимость.
Тип 3: почти эквивалент EVM
Тип 3 zkEVM жертвует некоторой совместимостью ради лучшей производительности ZK. Они могут исключать определенные предкомпиляции или другие функции EVM, которые сложно эффективно доказать. Некоторые DApps могут потребовать незначительных модификаций для развертывания.
Тип 4: эквивалентность высокоуровневого языка
Тип 4 zkEVM компилирует высокоуровневые языки, такие как Solidity, напрямую в байт-код, удобный для ZK, полностью обходя байт-код EVM. Это обеспечивает лучшую производительность доказательства, но наименьшую совместимость. zkSync Era использует подход Типа 4.
Часто задаваемые вопросы (FAQ)
Что такое zkEVM?
zkEVM — это нулевая машина Ethereum, которая обрабатывает смарт-контракты внутри zk-роллапа, а затем генерирует криптографическое доказательство, показывающее, что все транзакции были выполнены корректно. Это позволяет разработчикам использовать существующий код Ethereum с добавленной безопасностью и масштабируемостью благодаря технологии ZKP.
Как zkEVM отличается от обычного zk-роллапа?
Ранние zk-роллапы поддерживали только простые операции, такие как переводы токенов. zkEVM расширяет это на полный набор инструкций EVM, что означает, что любой смарт-контракт Ethereum, включая сложные DeFi-протоколы и платформы NFT, может работать на zkEVM с минимальными модификациями.
Каковы четыре типа zkEVM?
Виталик Бутерин определил четыре типа. Тип 1 полностью эквивалентен Ethereum на уровне консенсуса. Тип 2 полностью совместим с EVM, но отличается в некоторых внутренних структурах данных. Тип 3 жертвует некоторой совместимостью ради лучшей производительности ZK. Тип 4 компилирует высокоуровневые языки напрямую в байт-код, удобный для ZK, предлагая наивысшую эффективность доказательства.
Увеличивают ли zkEVM безопасность Ethereum?
zkEVM используют криптографические доказательства действительности, а не полагаются на экономическую теорию игр для обеспечения корректного выполнения. Это означает, что правильность каждой партии математически проверяема, что может укрепить гарантии безопасности по сравнению с системами, которые зависят от оспаривателей для выявления мошенничества. Тем не менее, как и все блокчейн-системы, zkEVM несут риск смарт-контрактов и другие технические риски, которые пользователи должны исследовать самостоятельно.
Заключительные мысли
zkEVM комбинируют безопасность криптографии ZKP с полной совместимостью смарт-контрактов, что позволяет запускать DApps с более высокой пропускной способностью и меньшими затратами, не жертвуя гарантиями безопасности уровня Ethereum. Стоит разобраться в различных типах и в том, как технология может быть совместима с использованием Web2.
Дополнительные материалы
Что такое доказательство с нулевым разглашением и как это влияет на блокчейн?
Оптимистичные против нулевых роллапов: в чем разница?
Улучшение прозрачности крипты с помощью доказательства с нулевым разглашением
Что такое zk-роллапы? Техника масштабируемости второго уровня
Блокчейн Уровень 1 против решений масштабирования Уровень 2
Отказ от ответственности: Этот контент предоставляется вам в "таком виде, как есть" для общих информационных и/или образовательных целей только без каких-либо представлений или гарантий какого-либо рода. Его не следует рассматривать как финансовый, юридический или другой профессиональный совет, также он не предназначен для рекомендации покупки какого-либо конкретного продукта или услуги. Вы должны обратиться за советом к своим собственным профессиональным консультантам. Если контент предоставлен сторонним автором, пожалуйста, имейте в виду, что выраженные мнения принадлежат стороннему автору и не обязательно отражают мнение Binance Academy. Цены на цифровые активы могут быть волатильными. Стоимость ваших инвестиций может снизиться или увеличиться, и вы можете не вернуть вложенную сумму. Вы несете полную ответственность за свои инвестиционные решения, и Binance Academy не несет ответственности за любые убытки, которые вы можете понести. Для получения дополнительной информации, смотрите наши Условия использования, Предупреждение о рисках и Условия Binance Academy.
