zkEVM для верификации блоков L1
zkEVM — это технология, которая использует доказательства 0-знания для верификации исполнения блоков Ethereum. Вместо того чтобы требовать от каждого повторного исполнения всех транзакций в блоке, один специализированный участник (называемый «прувером» или доказывающим) исполняет блок и генерирует криптографическое доказательство того, что исполнение было правильным. Затем любой узел может верифицировать это доказательство — процесс, который на порядки дешевле, чем повторное исполнение всех транзакций.
Не путать с zkEVM-роллапами
Проблема повторного исполнения
Сегодня Ethereum использует модель верификации «N-из-N»: каждый валидатор должен независимо повторно исполнить каждую транзакцию в каждом блоке, чтобы убедиться, что предложенные изменения стейта верны. Хотя этот подход максимально не требует доверия, он создает фундаментальное узкое место.
Проблема в том, что пропускная способность Ethereum ограничена тем, что может обработать средний валидатор. Повышение позволило бы включить больше транзакций в блок, но это также повысило бы требования к оборудованию для валидаторов. Это угрожает децентрализации — если для запуска валидатора требуется дорогостоящее оборудование, меньше людей смогут участвовать в обеспечении безопасности сети.
zkEVM предлагает выход из этого компромисса. Перейдя от модели «каждый исполняет повторно» к модели «один доказывает, все верифицируют», Ethereum может безопасно увеличить лимит газа без повышения требований к оборудованию валидаторов.
Как работает верификация zkEVM L1
Верификация zkEVM преобразует валидацию блоков в модель «1-из-N»:
- Исполнение: Прувер исполняет все транзакции в блоке, отслеживая каждое изменение стейта
- Доказательство: Прувер генерирует криптографическое доказательство (SNARK или STARK), которое подтверждает правильность исполнения
- Верификация: Валидаторы верифицируют доказательство вместо повторного исполнения транзакций — это значительно дешевле, чем полное повторное исполнение
Гарантия безопасности остается прежней: если исполнение было неверным, невозможно сгенерировать действительное доказательство. Но теперь, вместо того чтобы каждый узел выполнял дорогостоящие вычисления, это делает только прувер, а верификация достаточно дешева, чтобы не ограничивать лимит газа.
zkEVM типа 1
zkEVM классифицируются по типам в зависимости от их совместимости с Ethereum:
- Тип 1: Полностью эквивалентны Ethereum. Никаких модификаций EVM, поэтому любой блок Ethereum может быть доказан точно в таком виде, в каком он есть
- Типы 2-4: Идут на различные компромиссы, модифицируя поведение EVM для упрощения доказательства
Для верификации L1 тип 1 имеет решающее значение. zkEVM должен быть способен доказать любой действительный блок Ethereum, включая крайние случаи и исторические блоки. Любое отклонение от точного поведения Ethereum создало бы проблемы с консенсусом.
Исследования zkEVM, проводимые Ethereum Foundation, сосредоточены на реализациях типа 1, которые полностью совместимы с существующим исполнением Ethereum.
Преимущества для Ethereum
Более высокая пропускная способность
Когда верификация обходится дешево, лимит газа может безопасно увеличиваться. Это расширяет пропускную способность сети и помогает стабилизировать комиссии в периоды высокого спроса. Текущий лимит газа частично ограничен оборудованием валидаторов — zkEVM снимает это ограничение.
Более сильная децентрализация
С верификацией zkEVM валидаторам нужно только верифицировать доказательства, а не исполнять транзакции. Это значительно снижает требования к оборудованию для запуска валидатора, позволяя большему числу людей участвовать в обеспечении безопасности сети. Большее разнообразие валидаторов усиливает устойчивость Ethereum к цензуре и его надежность.
Обратите внимание, что само доказательство требует значительных вычислительных ресурсов, превышающих возможности текущего оборудования валидаторов. Однако, в отличие от валидации, доказательство не обязательно должно быть децентрализовано таким же образом: для каждого блока требуется только одно правильное доказательство, и любой может быстро его верифицировать. Исследования рынков пруверов, агрегации доказательств и аппаратного ускорения направлены на то, чтобы доказательство оставалось конкурентоспособным и доступным, а не концентрировалось среди нескольких крупных операторов.
Предсказуемая завершённость
Верификация доказательств выполняется за постоянное время независимо от сложности блока. Это делает время аттестации более предсказуемым и сокращает количество пропущенных аттестаций, которые могут возникать, когда валидаторы не успевают вовремя обработать сложные блоки.
Проблемы доказательства в реальном времени
Главной проблемой для верификации zkEVM L1 является скорость. Блоки Ethereum создаются каждые 12 секунд, что означает, что доказательства должны генерироваться в аналогичные сроки, чтобы быть полезными для консенсуса.
Текущим реализациям zkEVM могут потребоваться от нескольких минут до нескольких часов для доказательства одного блока. Исследования сосредоточены на устранении этого разрыва с помощью:
- Параллелизации: Распределение работы по доказательству между несколькими машинами
- Специализированного оборудования: Разработка схем и оборудования, оптимизированных для доказательств 0-знания
- Алгоритмических улучшений: Более эффективные системы доказательств и дизайн схем
- Инкрементального доказательства: Генерация доказательств по мере исполнения транзакций, а не после
Текущие исследования и реализации
Ethereum Foundation финансирует исследования zkEVM через команду Privacy Stewards of Ethereum (PSE) (opens in a new tab). Ключевые направления исследований включают:
- Доказательство в реальном времени: Генерация полных доказательств блока в течение 12-секундных слотов
- Интеграция клиентов: Стандартизация интерфейсов между исполнительными клиентами и пруверами
- Экономические стимулы: Разработка устойчивых рынков пруверов и структур комиссий
Статус реализаций
Несколько реализаций zkVM разрабатываются и тестируются для доказательства блоков Ethereum:
| Реализация | Архитектура |
|---|---|
| OpenVM (opens in a new tab) | rv32im |
| RISC Zero (opens in a new tab) | rv32im |
| Airbender (opens in a new tab) | rv32im |
| Jolt (opens in a new tab) | rv32im |
| Zisk (opens in a new tab) | rv64ima |
Они используют виртуальные машины на базе RISC-V для исполнения байт-кода EVM, а затем генерируют доказательства 0-знания правильного исполнения. Актуальные результаты тестов и прогресс отслеживаются в трекере zkVM от Ethereum Foundation (opens in a new tab).
Как zkEVM сочетается с другими обновлениями
Верификация zkEVM L1 связана с несколькими другими пунктами дорожной карты Ethereum:
- Деревья Веркла: Обеспечивают меньшие размеры свидетелей для верификации без сохранения стейта, уменьшая объем данных, с которыми нужно работать пруверам
- Отсутствие стейта (Statelessness): zkEVM является ключевым фактором — с доказательствами 0-знания исполнения узлам не нужен полный стейт для верификации блоков
- PBS: Сборщики блоков потенциально могли бы интегрировать генерацию доказательств, или мог бы появиться отдельный рынок пруверов
- Завершённость одного слота: Более быстрая генерация доказательств могла бы обеспечить завершённость одного слота с криптографическими гарантиями
Дополнительная литература
- zkEVM Foundation (opens in a new tab) — Официальный исследовательский центр zkEVM от Ethereum Foundation
- Ethproofs (opens in a new tab) — Отслеживайте гонку за доказательство Ethereum в реальном времени
- zkevm.fyi (opens in a new tab) — Техническая книга о zkEVM для L1
- Спецификации PSE zkEVM (opens in a new tab) — Технические спецификации
- The Verge (opens in a new tab) — Обзор улучшений верификации от Виталика
- Блог EF zkEVM (opens in a new tab) — Анализ производительности от команды EF