ZkEVM Cracks Code to Run Ethereum Smart Contracts with Zero-Knowledge Proofs
The Ethereum Virtual Machine (EVM) was designed in 2015 to run smart contracts, but it wasn't meant to produce cryptographic proofs. Zero-knowledge proofs were created to verify computation cheaply and privately, without knowing what an opcode is.
For years, the two concepts seemed incompatible, but engineers found a way to fuse them together. This resulted in ZkEVM (Zero-Knowledge EVM), which runs Ethereum-compatible smart contracts and generates a zero-knowledge proof that the execution was correct. The goal is to enable fast and cheap transaction settlement on Ethereum mainnet without sacrificing security guarantees.
The engineering challenge of creating ZkEVM lies in solving the 'EVM incompatibility problem.' Zero-knowledge proofs speak a mathematical language, but the EVM was designed with different concepts in mind. Opcodes like KECCAK256 are particularly unfriendly to ZK circuits because they involve bitwise operations that translate into expensive constraint sets.