On the eve of the L2 track explosion, a brief analysis of various zkEVMs
Sep 19, 2024 06:43:39
Author: 0xRJ.eth
Introduction
The major Ethereum upgrade expected to be implemented in the fall and winter of 2023—the Cancun-Deneb Upgrade—aims to enhance the scalability, security, and usability of the Ethereum network while significantly reducing the gas fees of layer 2 networks. If successfully implemented, it will directly benefit the Ethereum layer 2 scaling (L2 Rollups) ecosystem and may even drive an explosion in the entire L2 sector.
In the L2 scaling track, zero-knowledge proof scaling solutions (ZK Rollups), which have excellent data compression capabilities, are already regarded as the core solution for Ethereum in the medium to long term. Ethereum founder Vitalik categorized various ZK Rollups based on their compatibility with the Ethereum Virtual Machine (EVM) in 2022, establishing foundational standards for the zkEVM type.
This article is inspired by the aforementioned Vitalik's groundbreaking classification standards. After a year of development, significant progress has been made in this field. This article aims to provide updates on the track and a more detailed interpretation (friendly for technical novices) based on Vitalik's insights, using clear logic and concise language.
What is EVM?
The EVM (Ethereum Virtual Machine) is the first Turing-complete blockchain virtual machine. It can be understood as the code execution environment on Ethereum, specifically designed to execute smart contracts deployed on the Ethereum network. Through the EVM, smart contracts can achieve automated functionality on a decentralized network.
As the most tested blockchain virtual machine released in 2015, the EVM is undoubtedly a crucial piece of infrastructure for Ethereum. Even when evaluating other blockchains, EVM compatibility has become an important consideration, as EVM compatibility represents not only a smart contract execution environment and the available Ethereum toolset but also significant network effects and a mature, complex ecosystem.
However, the EVM was not originally designed with the expectation that ZK Rollup L2 would become the core solution for Ethereum scaling, which means that the EVM's design did not consider being friendly to zero-knowledge proofs. This has made building a zero-knowledge proof-friendly EVM (zkEVM) quite challenging.
What is zkEVM?
Due to the high difficulty of achieving compatibility between zero-knowledge proofs (ZKP) and the Ethereum Virtual Machine (EVM), early ZK Rollups did not support EVM. They generally lacked the ability to execute smart contracts (or supported special virtual machines), thus being limited to relatively simple specific scenarios, such as token swaps and payments.
To address this issue, many organizations and researchers focused on creating zkEVM (Zero Knowledge Ethereum Virtual Machine), which, as the name suggests, generates zero-knowledge proofs for the execution (process and results) of smart contracts in the EVM.
With the increasing determinism of ZK Rollup scaling solutions and advancements in technology, various zk scaling projects have developed different methods to combine EVM execution with zero-knowledge proof computation, balancing compatibility and performance (proving time).
Different Types of zkEVM:
Source: Vitalik's blog "The different types of ZK-EVMs"
In 2022, Vitalik published an article explaining "The different types of zkEVM" and roughly categorized and compared the zk scaling projects on the market.
Next, let's clarify the types, technical architecture, and respective advantages and disadvantages of zkEVM in simple language and clear logic.
Type 1 zkEVM: Fully equivalent to Ethereum
Type 2 zkEVM: Fully compatible with the EVM
Type 3 zkEVM: Almost compatible with the EVM
Type 4 zkEVM: Compatible with high-level languages
Type 1 zkEVM—Fully Equivalent to Ethereum
Architecture:
Completely identical to Ethereum without changing any part of the Ethereum system environment.
No need to replace hashes, state trees, transaction trees, precompiled contracts, or any other consensus logic.
Its goal is to be fully compatible with existing applications, allowing developers to seamlessly migrate their applications.
Advantages:
It is the most compatible solution among all types of ZK Rollups, making it the most developer-friendly option—allowing developers to deploy existing code to L2 without friction (no modifications needed) since all consensus logic and system environment are identical to Ethereum.
It aligns closely with Ethereum's own exploration of scaling directions, as explorations on Type 1 zkEVM can be frictionlessly integrated into Ethereum itself in the future, making Ethereum L1 more scalable.
It allows Rollups to seamlessly leverage the existing vast Ethereum infrastructure (for example, Ethereum execution clients can be used as before to generate and process Rollup blocks, and existing block explorers and block generation tools can also be smoothly deployed to L2).
It can verify Ethereum blocks just like the current Ethereum does, or more precisely, verify the execution layer (including all transaction executions, smart contracts, and account logic, but currently excluding beacon chain consensus logic).
As previously mentioned, the complete equivalence to Ethereum provides significant value by leveraging Ethereum's existing massive network effects and mature, complex ecosystem.
Disadvantages:
The issues Ethereum faces in integrating zero-knowledge proofs are also present in Type 1 solutions (after all, it is equivalent to Ethereum, which was not originally designed for zk functionality).
The biggest issue is the long time required to generate proofs. The main solutions in the industry currently focus on cleverly engineering large-scale parallelization of proofs or hardware optimization to accelerate the process.
Main Projects:
Ethereum Foundation's PSE (Privacy and Scaling Explorations) team
Taiko: Updated to Alpha-4 testnet in July this year, expected to launch the mainnet in early 2024. Taiko has prioritized decentralization and compatibility from the beginning and is currently the first and only ZK Rollup to implement decentralized proposers.
Type 2 zkEVM—Fully Compatible with EVM
Architecture:
Strives for full compatibility with the EVM but is not equivalent to Ethereum.
Compared to Ethereum's own runtime environment, this type of zkEVM has made some modifications to block structure, state tree data structures, gas fee pricing logic (re-priced based on zk friendliness), and data storage, making zk proof generation faster and cheaper.
Its goal is to be compatible with as many existing applications as possible, with only a few requiring some modifications.
Advantages:
By re-pricing gas fees (the less zk-friendly op codes are more expensive, and vice versa) and removing some Ethereum stack elements that are not zk-friendly, it provides faster verification times than Type 1.
Type 2 can achieve compatibility with the vast majority of existing Ethereum applications, so most developers and users will not feel friction.
Although it cannot directly use the Ethereum execution client without modifications, it can still support existing EVM debugging tools and other development infrastructure through some debugging, thus leveraging Ethereum's existing prosperous ecosystem to a large extent.
Disadvantages:
Although the scope of changes to the execution environment is small, there are still potential development issues in the medium to long term. For example, replacing Ethereum's commonly used hash (Keccak) with another zk-friendly hash (such as Poseidon) may lead to compatibility issues for applications that rely on the Keccak hash (involving historical data) when migrating to Type 2 projects (e.g., cross-chain bridges).
Changes to gas fee pricing rules (intended to guide developers to reduce the use of zk-unfriendly op codes by re-pricing them based on zk friendliness) may cause issues for contracts that have already optimized gas fees on Ethereum, and even for gas fee optimization tools on Ethereum.
Although these modifications improve the efficiency of provers compared to Type 1 zkEVM, the proving time remains a relative disadvantage compared to Type 4 zkEVM.
Main Projects:
Scroll: Launched Pre-Alpha testnet in September 2022, Alpha testnet in February 2023, and expected to launch the mainnet in August 2023. Initially classified as Type 3 zkEVM on the testnet, it is gradually enhancing EVM compatibility and transitioning to Type 2 zkEVM.
Polygon zkEVM (Polygon team's ZK Rollup solution): Launched mainnet Beta version in March 2023. Initially classified as Type 3 zkEVM, it is currently transitioning to Type 2 zkEVM.
Type 3 zkEVM—Almost Compatible with EVM
Architecture:
Vitalik described Type 3 zkEVM in his 2022 blog post as more of a transition (transitioning to Type 2/1 by increasing compatibility; or transitioning to Type 4 by lowering compatibility and enhancing zk friendliness).
Almost compatible with the EVM. By further sacrificing compatibility, this zkEVM becomes easier to develop, and zk proof generation speed is faster.
More features that are difficult to implement in zkEVM have been removed (e.g., precompiled functions).
There are greater differences in handling contract code, memory, or stack.
The goal is to be compatible with most existing applications.
Advantages:
Compared to Type 1 and Type 2 zkEVM, this type is more zk-friendly, resulting in shorter zk proof generation times.
Compared to Type 4 zkEVM, it can be compatible with more existing Ethereum applications.
Disadvantages:
Compared to Type 1 and Type 2 zkEVM, this type has higher incompatibility and sacrifices more elements (making it less friendly for Ethereum developers). This is why Type 3 is more like a transition, and projects in this category are likely to transition to Type 2 zkEVM by enhancing compatibility.
Proving speed is slower compared to Type 4 zkEVM.
Main Projects:
Scroll: Launched Pre-Alpha testnet in September 2022, Alpha testnet in February 2023, and expected to launch the mainnet in August 2023. A year ago, Scroll was classified as this type, but it is currently developing towards Type 2 zkEVM by enhancing Ethereum compatibility.
Polygon zkEVM (Polygon team's ZK Rollup solution): Launched mainnet Beta version in March 2023. Initially classified as Type 3 zkEVM, it is currently transitioning to Type 2 zkEVM.
Type 4 zkEVM—Compatible with High-Level Languages
Architecture:
This type actually belongs to zkVM (zero-knowledge proof virtual machine, rather than zero-knowledge proof Ethereum virtual machine).
It can be understood as compatibility at the programming language level. The basic logic is that developers can continue to use the programming languages they are accustomed to on Ethereum (such as Solidity) to write smart contracts. This type of project will use a compiler to convert this programming language into their custom readable code (for example, Starkware uses the Warp compiler to convert Solidity code into Cairo bytecode; zkSync converts Solidity code into its custom virtual machine executable code LLVM-IR) for compilation and execution in their custom environment (such as Starknet's Cairo VM and zkSync's Sync VM).
The goal is low cost, high efficiency, and maximizing zero-knowledge proof friendliness.
Advantages:
Very fast verification times.
Directly compiling from high-level languages can significantly reduce costs (time, money, and computational workload).
Lowers the technical barrier for becoming a prover, enhancing decentralization.
This type of zkEVM can natively support Account Abstraction using its custom virtual machine. EVM-equivalent chains cannot natively support account abstraction and need to implement it through Ethereum's ERC-4337.
Disadvantages:
Many existing Ethereum applications cannot be replicated in this type of zkVM, or issues may arise during the replication process: for example, contracts in Type 4 zkVM systems may have different addresses than in EVM; Type 4 zkEVM does not support handwritten EVM bytecode (many applications currently use handwritten EVM bytecode to save gas fees); (as previously mentioned, this type achieves compatibility at the programming language level through a compiler) and its compiler does not support some features of Solidity.
Ethereum developers who want to deploy applications on this type of project need to make more complex adjustments. Therefore, compared to the previous types of zkEVM, this type has relatively low developer friendliness, which may affect the development of the ecosystem and the speed of technological iteration.
It is extremely difficult to leverage Ethereum's existing complex and prosperous ecosystem and network effects.
Main Projects:
zkSync Era (ZK Rollup solution built by the Matter Labs team): Launched zkSync Lite (zkSync 1.0) in June 2020, mainly supporting simple payment and asset swap scenarios, and does not support EVM-compatible smart contracts; launched zkSync Era (zkSync 2.0) in March 2023, achieving compatibility at the high-level language level through the aforementioned architecture. zkSync's goal is not EVM compatibility but to improve zero-knowledge proof generation speed.
Starknet (ZK Rollup solution built by the Starkware team): Launched the mainnet in November 2021 and updated to version v0.12.0 in July this year. It is classified as Type 4 zkEVM, and its goal is not EVM compatibility. However, there are projects like Kakarot on it, aiming to achieve compatibility similar to Type 2.5-3 zkEVM.
Based on Vitalik's 2022 classification of different zkEVMs and the progress of various projects (as of August 2023), we can summarize it simply in the following diagram:
Classification of mainstream ZK Rollup projects
Mainstream Projects of Various zkEVM Types
Comparison chart of mainstream ZK Rollup projects
Vitalik concluded at the end of his article: "Personally, I hope that over time, through improvements in zkEVM and improvements in Ethereum itself, it will become more friendly to ZK-SNARK, and ultimately everything will become Type 1.
In such a future, we will have multiple zkEVM implementations that can be used for both ZK Rollups (zero-knowledge scaling) and for verifying the Ethereum chain itself. Theoretically, Ethereum does not need to adopt a single standardized zkEVM specification for L1; different clients can choose to use different proof methods, allowing us to continue benefiting from redundancy at the code level.
However, achieving such a future will take a considerable amount of time. Meanwhile, we will also see a lot of innovation in the different paths of scaling Ethereum (itself) and ZK Rollups based on Ethereum."
At the same time, it is important to emphasize that while the mainstream classification of zkEVM on the market is based on Vitalik's 2022 classification (cited in this article), there are also other classification standards. Regardless of how they are classified, there is no absolute superiority or inferiority among these zkEVM types. They merely make trade-offs between compatibility and speed: Type 1 zkEVM has the highest compatibility with Ethereum but slower proof speeds (belonging to the ZK Rollup track); Type 4 zkEVM has lower compatibility with Ethereum but faster verification speeds.
Of course, the compatibility and speed of zkEVM are not the only metrics developers should consider when deciding which ZK Rollup to deploy their applications on. Many other factors can influence their choices, such as:
Decentralization of L2 transaction ordering: Whether the sequencer/proposer is decentralized, which directly affects the complexity for ecosystem participants and the overall security of the network;
Costs: Which tokens are used to pay fees, and how the token economic model of a public chain is structured;
Rules for generating proofs: Incentive mechanisms for provers and hardware standards for accelerating proof generation;
Self-custody: Whether there are clear mechanisms to ensure that user assets can still be recovered on L1 in the event of an incident on L2;
Data availability: The cost of complete data availability is naturally higher; whether it is acceptable to have lower-cost data availability models adopted by some ZK Rollups.
However, since most general-purpose ZK Rollup projects are still in the testnet phase, many of the above factors cannot be compared horizontally.
Finally, the type of any zkEVM project is not static and unchanging. As various solutions explore zkEVM and even as Ethereum itself improves, it is possible that all solutions will ultimately achieve the effects of Type 1 zkEVM. At that time, we will have multiple zkEVM implementations—usable for both ZK Rollups and for verifying the Ethereum chain itself.
Before that, let us look forward to seeing continuous innovation in the different paths of scaling Ethereum and ZK Rollups.
References:
https://vitalik.ca/general/2022/08/29/zkevm_zhTW.html
https://taiko.mirror.xyz/w7NSKDeKfJoEy0p89I9feixKfdK-20JgWF9HZzxfeBo
https://docs.moonbeam.network/builders/pallets-precompiles/precompiles/eth-mainnet/
https://news.marsbit.co/20230329154749858367.html

Related Projects
Latest News
Oct 11, 2025 16:17:12
Oct 11, 2025 16:17:02
Oct 11, 2025 16:01:01
Oct 11, 2025 16:00:03