To understand what zkEVM is, let’s first briefly review it’s two underlying concepts: zk-rollups and EVM.
What is zk-rollups
Zk-Rollups, short for Zero-Knowledge Rollups, are a Layer 2 scaling solution for blockchains that aim to improve the scalability and efficiency of transaction processing while maintaining the security guarantees of the underlying blockchain. They are designed to address the scalability limitations of Layer 1 blockchains like Ethereum.
In a traditional Rollup solution, transactions are processed off-chain, and only the summarized information is submitted to the main blockchain, reducing the computational burden and data storage requirements. However, this still requires the validation of transaction data on-chain, which can become a bottleneck as the network grows.
Zk-Rollups take this concept a step further by leveraging zero-knowledge proofs to bundle multiple transactions into a single succinct proof, which is then published on the main blockchain. This proof attests to the validity of the entire batch of transactions without revealing the details of individual transactions.
The EVM (Ethereum Virtual Machine) is a virtual computer on the Ethereum blockchain that runs smart contracts and processes transactions. It serves as the execution environment for decentralized applications (DApps) on the Ethereum network. Every smart contract execution triggers the EVM to transition from an old state to a new state. The EVM defines the rule for calculating new and valid states from one block to another.
In Ethereum, the concept of “state” holds significant importance. It is represented by a Merkle Patricia Trie data structure, reflecting the current condition of the Ethereum network. This structure enables the tracing of transaction information from the latest block to the genesis block.
Every node in the Ethereum network plays a crucial role in maintaining continuity and achieving consensus, ensuring that each node has an identical view of the current state. The EVM (Ethereum Virtual Machine) is instrumental in preserving this consistency and ensuring the smooth operation of the network.
How does zkEVM work?
At its core, zkEVM is a zero-knowledge proof system that allows for the execution of Ethereum smart contracts in a way that preserves the privacy of the transactions involved. This is accomplished through the use of zk-SNARKs, or zero-knowledge succinct non-interactive arguments of knowledge, which allow for the verification of the correctness of a computation without revealing any information about the inputs or the computation itself.
One of the key challenges in Ethereum scaling is the need to maintain the security and integrity of the network while allowing for greater transaction throughput. Traditional approaches to scaling, such as sharding, have focused on increasing the number of transactions that can be processed in parallel. While this can improve performance, it also introduces additional complexity and security concerns.
In contrast, zkEVM allows for the execution of transactions in a more secure and efficient manner by allowing for the verification of transactions without revealing any sensitive information. This not only improves the privacy of transactions on the network but also allows for greater scalability by allowing for the parallel execution of multiple transactions without compromising the security of the network.
The different types of ZK-EVMs
According to Vitalik Buterin’s taxonomy of zkEVM types, there are five types of zkEVMs
- Type 1 zkEVMs: These zkEVMs are fully equivalent to Ethereum and do not make any changes to the Ethereum system. They are fully compatible with all Ethereum-native applications but may have longer proving times for generating zero-knowledge proofs.
- Type 2 zkEVMs: These zkEVMs aim to be fully EVM-equivalent and compatible with existing Ethereum applications. They make minor modifications to make proof generation faster and development easier. However, current implementations of Type 2 zkEVMs are still considered to be too slow.
- Type 2.5 zkEVMs: These zkEVMs are EVM-equivalent except for gas costs. They aim to maintain compatibility with the EVM while making specific changes to improve proof generation and development ease.
- Type 3 zkEVMs: These zkEVMs depart from the EVM and may sacrifice some EVM features to enable easier application development. They prioritize the ease of placing an EVM-like system within ZK-rollups and may have minor differences in how they treat contract code, memory, or stack.
- Type 4 zkEVMs: These zkEVMs are fully compatible with ZK-rollups but may not be EVM-compatible. They may have different execution environments, state trees, or other features that make them more optimized for ZK-rollups.
It’s important to note that some projects may be in the process of transitioning between types or improving their implementations, and the development of zkEVMs is still ongoing
Who’s building zkEVM rollups?
Several projects are working on building zkEVM rollups, which are zero-knowledge rollups that are compatible with the Ethereum Virtual Machine (EVM) and can execute smart contracts. Here are some of the most promising projects in this field:
- Applied ZKP is a project funded by the Ethereum Foundation to develop an EVM-compatible ZK-rollup and a mechanism for generating validity proofs for Ethereum blocks.
- Polygon zkEVM is a decentralized ZK Rollup on the Ethereum mainnet working on a zero-knowledge Ethereum Virtual Machine (zkEVM) that executes Ethereum transactions in a transparent way, including smart contracts with zero-knowledge-proof validations.
- Scroll is a tech-driven company working on building a native zkEVM Layer 2 Solution for Ethereum.
- ZKSync is an EVM-compatible ZK Rollup being built by Matter Labs, powered by its own zkEVM.
Overall, zkEVM represents an exciting development in the field of Ethereum scaling and has the potential to greatly improve the performance and security of the network. By leveraging the power of zero-knowledge proofs, zkEVM allows for the efficient and secure execution of transactions, paving the way for a more scalable and secure Ethereum network.