zkEVM для перевірки блоків рівня 1
zkEVM — це технологія, яка використовує докази з нульовим розголошенням для перевірки виконання блоків Ethereum. Замість того, щоб вимагати від кожного повторно виконувати всі транзакції в блоці, один спеціалізований учасник (який називається «доводжувачем» або «prover») виконує блок і генерує криптографічний доказ того, що виконання було правильним. Будь-який вузол може потім перевірити цей доказ — процес, який на порядки дешевший, ніж повторне виконання всіх транзакцій.
Не плутати зі згортаннями zkEVM
Проблема повторного виконання
Сьогодні Ethereum використовує модель перевірки «N-з-N»: кожен валідатор повинен незалежно повторно виконати кожну транзакцію в кожному блоці, щоб перевірити правильність запропонованих змін стану. Хоча цей підхід є максимально бездовірчим (trustless), він створює фундаментальне вузьке місце.
Проблема полягає в тому, що пропускна здатність Ethereum обмежена тим, що може обробити середній валідатор. Підвищення дозволило б обробляти більше транзакцій на блок, але це також підвищило б вимоги до апаратного забезпечення валідаторів. Це загрожує децентралізації — якщо для запуску валідатора потрібне дороге обладнання, менше людей зможуть брати участь у забезпеченні безпеки мережі.
zkEVM пропонує вихід із цього компромісу. Перейшовши від моделі «кожен виконує повторно» до «один доводить, усі перевіряють», Ethereum може безпечно збільшити ліміт газу без підвищення вимог до апаратного забезпечення валідаторів.
Як працює перевірка zkEVM на рівні 1
Перевірка zkEVM перетворює валідацію блоків на модель «1-з-N»:
- Виконання: Доводжувач виконує всі транзакції в блоці, відстежуючи кожну зміну стану.
- Доведення: Доводжувач генерує криптографічний доказ (SNARK або STARK), який підтверджує правильність виконання.
- Перевірка: Валідатори перевіряють доказ замість повторного виконання транзакцій — це значно дешевше, ніж повне повторне виконання.
Гарантія безпеки залишається незмінною: якщо виконання було неправильним, неможливо згенерувати дійсний доказ. Але тепер, замість того, щоб кожен вузол виконував дорогі обчислення, це робить лише доводжувач — а перевірка є достатньо дешевою, щоб не обмежувати ліміт газу.
zkEVM типу 1
zkEVM класифікуються за типами на основі їхньої сумісності з Ethereum:
- Тип 1: Повністю еквівалентні Ethereum. Жодних модифікацій EVM, тому будь-який блок Ethereum може бути доведений точно в такому вигляді, як він є.
- Типи 2-4: Йдуть на різні компроміси, змінюючи поведінку EVM, щоб полегшити доведення.
Для перевірки на рівні 1 (L1) тип 1 є обов'язковим. zkEVM повинен мати можливість довести будь-який дійсний блок Ethereum, включаючи крайні випадки та історичні блоки. Будь-яке відхилення від точної поведінки Ethereum створило б проблеми з консенсусом.
Дослідження zkEVM від Ethereum Foundation зосереджені на реалізаціях типу 1, які повністю сумісні з існуючим виконанням Ethereum.
Переваги для Ethereum
Вища пропускна здатність
Коли перевірка дешева, ліміт газу може безпечно зростати. Це розширює пропускну здатність мережі та допомагає стабілізувати комісії в періоди високого попиту. Поточний ліміт газу частково обмежений апаратним забезпеченням валідаторів — zkEVM усуває це обмеження.
Сильніша децентралізація
Завдяки перевірці zkEVM валідаторам потрібно лише перевіряти докази, а не виконувати транзакції. Це значно знижує вимоги до апаратного забезпечення для запуску валідатора, дозволяючи більшій кількості людей брати участь у забезпеченні безпеки мережі. Більша різноманітність валідаторів посилює стійкість Ethereum до цензури та його надійність.
Зверніть увагу, що саме доведення вимагає значних обчислювальних ресурсів, більших, ніж у поточного апаратного забезпечення валідаторів. Однак, на відміну від валідації, доведення не обов'язково має бути децентралізованим таким же чином: для кожного блоку потрібен лише один правильний доказ, і будь-хто може швидко його перевірити. Дослідження ринків доводжувачів, агрегації доказів та апаратного прискорення спрямовані на те, щоб доведення залишалося конкурентоспроможним і доступним, а не зосереджувалося серед кількох великих операторів.
Передбачувана фіналізація
Перевірка доказів працює за постійний час незалежно від складності блоку. Це робить час атестації більш передбачуваним і зменшує кількість пропущених атестацій, які можуть виникнути, коли валідатори не встигають вчасно обробити складні блоки.
Виклики доведення в реальному часі
Головним викликом для перевірки zkEVM на рівні 1 є швидкість. Блоки Ethereum створюються кожні 12 секунд, що означає, що докази повинні генеруватися в аналогічні терміни, щоб бути корисними для консенсусу.
Поточні реалізації zkEVM можуть витрачати від кількох хвилин до годин на доведення одного блоку. Дослідження зосереджені на подоланні цього розриву за допомогою:
- Паралелізації: Розподіл роботи з доведення між кількома машинами.
- Спеціалізованого апаратного забезпечення: Розробка схем та обладнання, оптимізованих для ZK-доведення.
- Алгоритмічних покращень: Більш ефективні системи доведення та дизайн схем.
- Інкрементального доведення: Генерація доказів під час виконання транзакцій, а не після.
Поточні дослідження та реалізації
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, а потім генерують ZK-докази правильного виконання. Актуальні результати тестів і прогрес відстежуються на трекері zkVM від Ethereum Foundation (opens in a new tab).
Як zkEVM поєднується з іншими оновленнями
Перевірка zkEVM на рівні 1 пов'язана з кількома іншими пунктами дорожньої карти Ethereum:
- Дерева Веркла: Забезпечують менші свідчення (witnesses) для перевірки без збереження стану, зменшуючи обсяг даних, з якими потрібно працювати доводжувачам.
- Відсутність стану (Statelessness): zkEVM є ключовим фактором — завдяки ZK-доказам виконання вузлам не потрібен повний стан для перевірки блоків.
- 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 для рівня 1
- Специфікації PSE zkEVM (opens in a new tab) — Технічні специфікації
- The Verge (opens in a new tab) — Огляд покращень перевірки від Віталіка
- Блог EF zkEVM (opens in a new tab) — Аналіз продуктивності від команди EF