Что такое zkEVM (Zero-Knowledge Ethereum Virtual Machine)
zkEVM — это совместимые с EVM среды выполнения, которые используют доказательства с нулевым разглашением для проверки правильности вычислений вне цепочки, обеспечивая масштабируемые и приватные транзакции Ethereum.
zkEVM предназначены для выполнения транзакций Ethereum и смарт-контрактов, генерируя доказательства с нулевым разглашением. Эти доказательства позволяют проверять действительность транзакций, не раскрывая базовые данные. Этот подход значительно повышает масштабируемость, разгружая вычисления с основной цепочки Ethereum и снижая транзакционные издержки. Различные типы zkEVM предлагают разные уровни совместимости с EVM, влияя на простоту миграции существующих приложений.
graph LR
Center["Что такое zkEVM (Zero-Knowledge Ethereum Virtual Machine)"]:::main
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Rel_ethereum["ethereum"]:::related -.-> Center
click Rel_ethereum "/terms/ethereum"
Rel_evm_ethereum_virtual_machine["evm-ethereum-virtual-machine"]:::related -.-> Center
click Rel_evm_ethereum_virtual_machine "/terms/evm-ethereum-virtual-machine"
Rel_scalability["scalability"]:::related -.-> Center
click Rel_scalability "/terms/scalability"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Проверка знаний
🧒 Простыми словами
Imagine [Ethereum](/ru/terms/ethereum) is a busy city, and a zkEVM is like a super-fast train station built nearby. It processes lots of passenger requests (transactions) really quickly off to the side, and then sends a single, tiny report back to the main city saying everything was done correctly, without slowing down the main city.
🤓 Expert Deep Dive
zkEVMs represent a sophisticated application of zero-knowledge proof technology to enhance blockchain scalability, particularly for Ethereum. The fundamental challenge is bridging the gap between the EVM's execution model and the algebraic structures required by ZK-proof systems (like SNARKs or STARKs). Different zkEVM designs employ distinct strategies to achieve EVM compatibility while enabling ZK-proof generation. Type 1 zkEVMs aim for full EVM equivalence, meaning any valid EVM execution is also a valid zkEVM execution, often requiring complex circuit designs to represent EVM opcodes and state transitions. Type 2 and Type 3 zkEVMs relax strict EVM equivalence for greater ZK-friendliness, potentially sacrificing some compatibility for improved proof efficiency. Type 4 zkEVMs focus on abstracting the computation into a general arithmetic circuit, requiring a transpilation step from EVM bytecode. Key technical considerations include the efficient representation of EVM's Merkle Patricia Trie for state storage, handling of complex opcodes (e.g., hashing, precompiles), and managing the proof generation overhead. The security of a zkEVM relies on the soundness of the underlying ZK-proof system and the correctness of the EVM emulation within the ZK-friendly domain. Trade-offs involve the degree of EVM compatibility versus the efficiency and complexity of proof generation.