zkEVMs Quick Overview
zkEVM, zero-knowledge Ethereum Virtual Machine, is a virtual machine that executes smart contracts through zero-knowledge proof computation
What is a zkEVM?
zkEVM, zero-knowledge Ethereum Virtual Machine, is a virtual machine that executes smart contracts through zero-knowledge proof computation. Unlike traditional virtual machines, zkEVMs present a solution for validating inputs and outputs within an ecosystem.
The Ethereum Virtual Machine (EVM) is a runtime environment where deployed Ethereum-based smart contracts are executed. EVM works like a “world computer” powering dApps deployed on the Ethereum protocol. Often, Virtual Machines operate with smart contracts written in Solidity and other high-level programming languages. zkEVMs are EMV-compatible based on their ability to deploy smart contracts without modifying the underlying logic.
Zero-knowledge proofs provide the validity of a statement without revealing the information itself. Despite the unique design making it challenging to build EVMs compatible with zero-knowledge proofs, extensive research has made it possible.
How do zkEVMs work?
The Ethereum Virtual Machine transits to new states based on inputs. During smart contract execution, a change is triggered in EVM's condition, called "site transition."
Peer-to-peer nodes load and execute the contract bytecode from the source code. Nodes run on the same transaction inputs, guaranteeing that nodes arrive at the same results. The succeeding procedure is where EVM Opcodes interact with different EVM parts, including memory, stack, and storage. This update transitions the EVM into a new state and remains unchanged until a new transaction is created.
zkEVMs initiate zero-knowledge proofs to verify various components in each computation:
- Bytecode access – Is the appropriate program code loaded as required from the correct address?
- Read-write operations – Is the program fetching the correct values from memory before the computation? Is the program giving the correct output from memory after computing?
- Computation – Are EVM Opcodes executing correctly, sequentially, without skipping steps?
The zkEVM Architecture
zkEVMs have three parts: a running (execution) environment, a proving circuit, and the verifier contract. Each section contributes to zkEVM operation from execution and proof generation to verification.
- The Execution Environment
This is where the program’s smart contracts run in the zkEVM. In this section, the zkEVM execution environment works similarly to the EVM; its output is a new state taken from the initial and current transaction.
- The Proving Circuit
At this point, transactions in the execution environment are verified using zero-knowledge proofs. The circuit uses pre-state, transaction, and post-state inputs to complete the proof generation process. This way, the prover asserts concise validity proof of the state transition.
- The Verifier Contract
Here, the zk roll-ups avail validity proofs to smart contracts deployed on Ethereum. The pre-states, transactions, and post-states are further committed to the verifier contract. Finally, the verifier contract analyzes the provided proof through computations asserting that submitted outputs are generated correctly from inputs.
Who’s Building zkEVM?
Several teams are building on zkEVM roll-ups:
The Importance of zkEVMs
- Secure scalability – All nodes are bound to re-executing computations performed in EVM. This method assures safety but pulls down the transaction speed to about 15 per second. With zkEVM compatible roll-ups, the rate optimizes to over 2000 transactions per second without jeopardizing security.
- Cheaper costs – Zk roll-ups efficiently combine transaction data on Ethereum by omitting transactions and publishing only the final states. This tactic allows developers and users to reduce roll-up costs for posting data on-chain. By reducing the data requirements, zk roll-ups make processes cheaper for dApps such as decentralized exchanges and NFT marketplaces.
- Fast finality & capital efficiency – Finality in blockchain refers to the time needed before a transaction is rendered irreversible. ZkEVM transactions finalize instantly after writing on Ethereum. This is effective for NFT traders and DeFi investors who constantly move assets between Ethereum Layers 1 and 2.
- Network effects – The main reason for using zkEVMs is to leverage Ethereum’s network effects. As the most prominent smart contract platform, the Ethereum ecosystem is valuable to developers and projects. In this case, developers can tap into crucial infrastructures, including audited code libraries, extensive tools, and reliable documentation harnessing Ethereum's network effects.
While zkEVMs are still developing, they offer a solution to scaling Ethereum. We can expect EVM-compatible zk roll-ups to be essential in scaling blockchain technology. Similarly, there is much anticipation for customizable zkEVM solutions.
To learn more about zkEVMs, check out Ethereum's guide to zero-knowledge proofs.
Subscribe to receive our weekly newsletter and in-house research content!