
Taiko строит тип 1 (эквивалент Ethereum) ZK-EVM. Какие преимущества дает использование ZK-EVM Type 1? Чтобы ответить на этот вопрос, нам нужно понять изменения, которые ZK-EVM может внести на различных уровнях, и компромиссы, с которыми они связаны. Давайте учиться вместе.
В этом посте делается несколько предположений о вашем понимании Ethereum. Мы собираемся предложить вам сначала понять следующее:
- Что такое ZK-EVM (EVM-совместимый ZK-Rollup) на высоком уровне
- Как Ethereum хранит данные в виде дерева Патриции Меркла и использует доказательства Меркла
- Как смарт-контракты оценивают свое исполнение с концепцией газа
- Различные типы ZK-EVM
С учетом этого, вот пять вопросов, которые мы будем изучать:
- Что такое ZK-EVM типа 1?
- Что меняет ZK-EVM Type 2+?
- Каковы последствия этих изменений?
- Почему стоимость генерации доказательств имеет значение?
- Зачем использовать тип 1 ZK-EVM?
Что такое ZK-EVM типа 1?
Один из способов представить различные типы ZK-EVM — это их близость к архитектуре Ethereum на базовом уровне, например:
- Использование дерева Меркла Патриции для различных деревьев состояний
- Спецификация клиента исполнения
- Количество газа, которое использует каждый опкод

Различные типы ZK-EVM позволяют найти компромисс между совместимостью и стоимостью генерации доказательств. ZK-EVM типа 1 отдает предпочтение совместимости, а не стоимости генерации доказательства.
Другой термин для ZK-EVM типа 1 — «Эфириум-эквивалент». Этот термин происходит от того факта, что ZK-EVM Типа 1 не вносят изменений в архитектуру Ethereum, будь то хэш-функция, деревья состояний или стоимость газа. Эта эквивалентность позволяет нам повторно использовать исполняемые клиенты с минимальными изменениями.
Что меняет ZK-EVM Type 2+?
В этом посте, когда мы говорим Type 2+, мы имеем в виду ZK-EVM Type 2/2.5. ZK-EVM типа 3/4 не совсем эквивалентны EVM , поэтому мы отложим их для обсуждения в этом посте.
ZK-EVM типа 2+ изменяют части стека Ethereum, которые сложно доказать. Изменения могут включать:
- Изменение стоимости газа для ZK-недружественных операций
- Изменение хеш-функции Keccak на более удобную для ZK
Эти изменения приводят к снижению затрат на создание доказательств при сохранении совместимости на уровне байт-кода, но они также могут иметь некоторые другие последствия.
Каковы последствия этих изменений?
Давайте разберем это на примерах, чтобы нарисовать более четкую картину того, как эти изменения могут повлиять на вас как на разработчика смарт-контрактов.
1. Механизмы безопасности могут измениться
Классический пример использования газа в качестве механизма безопасности — установка фиксированного лимита газа для перевода ETH, чтобы изменение состояния адреса назначения было невозможным. Смарт-контракты, которые полагаются на это для обеспечения безопасности, больше не будут безопасными, если стоимость газа изменится, что приведет к изменению состояния. Другой сценарий возникает, если хэши Keccak становятся слишком дорогими, а безопасность смарт-контракта зависит от минимально возможного количества хэшей (например, для защиты от мошенничества).
2. Изменение стоимости газа может иметь побочные эффекты
Если ваш смарт-контракт оптимизирован для расходов на газ, как указано в Ethereum L1, изменение этих расходов на газ может привести к тому, что контракт будет использовать больше газа, чем предполагалось. Вы также можете использовать инструменты для точной настройки использования газа в своем контракте, и изменение стоимости газа может сломать эти инструменты. Кроме того, увеличение стоимости газа может привести к тому, что контракт превысит установленный лимит газа. Например, если в контракте часто используется код операции Keccak, разработчику может потребоваться найти более экономичные способы выполнения задач или изменить хеш-функцию.
3. Изменение хэша блока может иметь побочные эффекты
ZK-EVM типа 2+ может использовать другую хеш-функцию и создавать другие корни состояний. Это изменение может нарушить совместимость смарт-контрактов, использующих хэш блока. Например, бридж-контракт может использовать доказательство Меркла для проверки , и изменение хеш-функции с Keccak на что-то другое нарушит эти доказательства. Такой способ полагаться на хеш-блоки также нарушил бы введение деревьев Веркла. Надеюсь, у нас будет абстрактный прекомпилятор для использования в будущем.
4. Вы можете потерять некоторые полезные функции Keccak
Хеш- функция Keccak широко известна как проверенная и безопасная хэш-функция, поэтому замена ее на альтернативу может быть рискованной. Кроме того, Keccak имеет гораздо более высокую производительность и более низкую плату за газ по сравнению с некоторыми более дружественными к ZK хэш-функциями, такими как Poseidon .
Почему стоимость генерации доказательств имеет значение?
Более высокая стоимость генерации доказательств может рассматриваться как отрицательная по нескольким причинам:
- Потенциально более длительное время до завершения
- Дисбалансирует соотношение между стоимостью газа и стоимостью доказательной генерации.
- Более дорогие транзакции
Мы не беспокоимся о более длительном времени до завершения, потому что мы достигаем мгновенной окончательности благодаря дизайну нашего протокола, обходя необходимость ждать подтверждения при объединении (предлагаемые блоки имеют ту же окончательность, что и блок Ethereum L1, см.: Слой 2 Финал ). В случае, когда требуется доказательство, например перемещение ресурсов на другой уровень, мы с оптимизмом смотрим на новые методы соединения, не требующие полного доказательства .
Соотношение между стоимостью газа и стоимостью генерации доказательства имеет значение, потому что злоумышленник может отправить блоки, которые дешевы в газе, но дороги для создания доказательства (DOS-атака). Смягчение этого вектора атаки — более обширная тема, поэтому мы углубимся в предлагаемое нами решение в следующем посте.
В целом, мы с нетерпением ждем будущих улучшений стоимости генерации доказательств, что снизит стоимость транзакций:
- Оптимизации уровня Prover, такие как Hyperplonk и Caulk
- Общие оптимизации и хитрости
- Сообщество фокусируется на полностью SNARKed Ethereum
- Аппаратное обеспечение ZKP
Зачем использовать тип 1 ZK-EVM?
Основное преимущество использования ZK-EVM типа 1 заключается в том, что вы можете попробовать его без каких-либо предварительных затрат — вам не нужно вносить какие-либо изменения в свой код или среду разработки. Вы можете сначала создать прототип, разработать, протестировать, проверить и развернуть на Ethereum L1, а затем перейти на Taiko. Кроме того, вы можете разрабатывать на Taiko, а затем в любое время перейти на L1 или другую цепочку, эквивалентную EVM.
ZK-EVM типа 1 — это непрерывный процесс разработки. Это означает не только быть эквивалентом Ethereum сейчас, но и продолжать наследовать будущие обновления Ethereum. Сохранение Типа 1 удерживает нас от добавления функций, которые нарушили бы нашу эквивалентность Ethereum. Это также побуждает нас вносить улучшения в Ethereum L1.
Спасибо за чтение! 🥁
Ссылки
- Веб-сайт (с официальным документом): https://taiko.xyz
- Дискорд: https://discord.com/invite/tnSra3aFfg
- Гитхаб: https://github.com/taikoxyz
- Твиттер: https://twitter.com/taikoxyz
- Присоединяйтесь к нам: https://taikochain.notion.site/Taiko-Jobs
Источники
- https://vitalik.ca/general/2022/08/04/zkevm.html
- https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie/
- https://ethereum.org/en/developers/docs/nodes-and-clients/
- https://ethereum.org/en/developers/docs/scaling/zk-rollups/
- https://ethereum.org/en/developers/docs/gas/
- https://ethereum.org/en/developers/docs/evm/opcodes/
- https://academy.binance.com/en/glossary/keccak
- h ttps://medium.com/@eiki1212/ethereum-state-trie-architecture-explained-a30237009d4e
- https://github.com/cgewecke/hardhat-gas-reporter
- https://consensys.net/diligence/blog/2018/12/silent-but-vulnerable-ethereum-gas-security-concerns/