The major Ethereum upgrade, the Cancu-Deneb Upgrade, is expected to be implemented in the autumn and winter of 2023. The core goal is to enhance the scalability, security, and usability of the Ethereum network, while greatly reducing the gas fees of layer 2 networks. Therefore, if successfully implemented, it will directly benefit the Ethereum layer 2 scaling (L2 Rollups) ecosystem, and even have the potential to drive the explosion of the entire L2 track.
In the L2 scaling track, the zero-knowledge proof scaling solution (ZK Rollups) with excellent data compression performance has been recognized as the core solution for Ethereum in the medium to long term. Ethereum founder Vitalik divided it into four different types based on the compatibility between various ZK Rollups and the Ethereum Virtual Machine (EVM) in 2022, establishing a basic standard for the zkEVM type.
This article is deeply inspired by the groundbreaking classification standards of Vitalik mentioned above. After a year of development, significant progress has been made in this field. The purpose of this article is to provide updated information and more detailed explanations (friendly to non-technical readers) based on Vitalik's insights, with clear logic and concise language.
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 EVM, smart contracts can achieve automated functions on a decentralized network.
As the most tested blockchain virtual machine released in 2015, EVM is absolutely an important infrastructure for Ethereum. Even when evaluating other blockchains, EVM compatibility is an important consideration dimension, because EVM compatibility represents not only the smart contract execution environment and available Ethereum toolset, but also represents huge network effects and a mature and complex ecosystem.
However, when EVM was designed, it did not anticipate that ZK Rollup L2 would become the core solution for Ethereum's scalability. Therefore, the design of EVM did not consider being friendly to zero-knowledge proofs. This makes it very difficult to build a zero-knowledge proof friendly EVM (zkEVM).
Due to the high difficulty in compatibility between Zero Knowledge Proof (ZKP) and 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), and were therefore limited to relatively simple specific scenarios, such as token exchange (swap) and payment.
In order to solve this problem, many organizations and researchers are focused on creating zkEVM (Zero Knowledge Ethereum Virtual Machine), which, as the name suggests, is designed to generate zero-knowledge proofs for the execution (process and results) of smart contracts in the EVM.
With the increase in certainty of the ZK Rollup scaling solution and the advancement of technology, various zk scaling projects have created different methods of combining EVM execution with zero-knowledge proof calculation based on the balance between compatibility and performance (proving time for generating zero-knowledge proofs).

(Source: Vitalik's blog "The different types of ZK-EVMs")
In 2022, Vitalik wrote an article explaining "Different Types of zkEVM", and roughly classified and compared the zk scaling projects on the market.
Next, let's use simple language and clear logic to sort out the types, technical architecture, and respective advantages and disadvantages of zkEVM.
Type1 Class zkEVM: Fully equivalent to Ethereum.
Type2 zkEVM: Fully compatible with the Ethereum Virtual Machine (EVM) (there used to be a Type2.5 category, but it seems to have merged with Type2 now).
Type3 zkEVM: Almost compatible with the Ethereum Virtual Machine (EVM).
Type4 zkEVM: Compatible with high-level languages.

Architecture:
Completely equivalent to Ethereum without the need to change any part of the Ethereum system environment.
There is no need to replace Hashes, State Trie, Transactions Trie, Precompiles, and any other In-consensus Logic in the encryption industry.
Its goal is to be fully compatible with existing applications, and developers can smoothly port their applications over.
Advantages:
is the most compatible solution among all types of ZK Rollups. Therefore, it is also the most developer-friendly solution - allowing developers to deploy existing code to L2 without friction (without modification), because all consensus logic and system environment are completely identical to Ethereum.
The direction of exploring scalability in Ethereum itself is highly consistent, because the exploration on Type1 zkEVM can be seamlessly introduced into Ethereum itself in the future, making Ethereum L1 itself more scalable.
It allows Rollup to seamlessly replicate existing Ethereum infrastructure (such as Ethereum execution clients can be used to generate and process Rollup blocks in the same way, and existing block explorers and block generators can also be smoothly deployed to L2).
It can verify Ethereum blocks just like Ethereum does now, or more precisely, verify the execution layer (including all transaction execution, smart contract and account logic, but currently not including beacon chain consensus logic).
Compared with the running environment of Ethereum itself, this type of zkEVM mainly makes some modifications to the block structure, data structure of the state tree, pricing logic of gas fees (re-priced according to zk-friendliness), and data storage, etc., so as to generate zk verification proofs faster and cheaper.
Its goal is to be compatible with the vast majority of existing applications as much as possible, with only a few applications requiring some modifications.
By re-pricing gas fees (the more zk-unfriendly op codes are, the more expensive they are, and vice versa) and removing parts of the Ethereum stack that are unfriendly to ZK, we provide faster verification times than Type1.
缺点: (This content is already in Chinese and does not need to be translated.)
Although these modifications have further improved the efficiency of the prover compared to Type1 zkEVM, the proof time is still a relative disadvantage compared to Type4 zkEVM.
Popular Projects:
Scroll: Pre-Alpha testnet will be launched in September 2022, Alpha testnet will be launched in February 2023, and the mainnet is expected to be launched in August 2023. At the time of the testnet launch, it belongs to Type3 zkEVM, but it is gradually enhancing EVM compatibility and transitioning to Type2 zkEVM.
Polygon zkEVM (Polygon team's ZK Rollup solution): The mainnet beta version was launched in March 2023. At launch, it belonged to the Type3 class of zkEVM, but is currently transitioning to the Type2 class of zkEVM.
Architecture:
In his 2022 blog post, Vitalik referred to Type3 zkEVM as more of a transition (transitioning to Type2/1 by increasing compatibility, or transitioning to Type4 by decreasing compatibility and increasing zk-friendliness).
Almost compatible with the Ethereum Virtual Machine (EVM). By further sacrificing compatibility, zkEVM is easier to develop and generates proofs faster.
There are greater differences in handling contract code, memory, or stack in the encryption industry.
The goal is to be compatible with most existing applications.
Compared to Type1 and Type2 zkEVM, this type is more zk-friendly and has shorter zk proof computation time.
缺点: (This content is already in Chinese and does not need to be translated.)
Compared to Type4 zkEVM, the proof speed is slower.
Popular Projects:
Polygon zkEVM (ZK Rollup solution by the Polygon team): The mainnet beta version was launched in March 2023. At launch, it belonged to the Type3 zkEVM category, but is currently transitioning to Type2 zkEVM.
Architecture:
This type actually belongs to zkVM (Zero-Knowledge Proof Virtual Machine), not the Zero-Knowledge Proof Ethereum Virtual Machine.
Can be understood as compatibility at the programming language level. The general logic is: developers can continue to use the programming language they are accustomed to using 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 (such as Starkware using the Warp compiler to convert Solidity code into Cairo bytecode; zkSync using the LLVM compiler to convert Solidity code into its custom virtual machine executable code LLVM-IR) for compilation, and execute it in their custom environment (such as Starknet's Cairo VM and zkSync's Sync VM).
The goal is low cost, high efficiency, and maximum zero-knowledge proof friendliness.
Advantages:
Very fast verification time.
Compiling directly from high-level languages can greatly reduce costs (time, money, and computational workload).
Lower the technical threshold to become a validator and increase decentralization.
This type of zkEVM can natively support Account Abstraction by using its custom virtual machine. Because EVM-equivalent chains cannot natively support account abstraction, it needs to be implemented through Ethereum's ERC-4337.
缺点: (This content is already in Chinese and does not need to be translated.)


(Comparison chart of various mainstream ZK Rollup projects)
Vitalik concluded at the end of his article: "Personally, I hope that over time, through the improvement of zkEVM and the improvement of Ethereum itself, it (Ethereum) will become more friendly to ZK-SNARKs, and ultimately everything will become Type1."
In such a future, we will have multiple zkEVM implementations that can be used for both ZK Rollup and verifying the Ethereum chain itself. In theory, Ethereum does not need to establish a single, standardized zkEVM specification for L1 (Layer 1) use; different clients can choose to use different proof methods, allowing us to continue to benefit from redundancy at the code level.
Meanwhile, it should be emphasized that although the mainstream classification of zkEVM on the market is the one introduced by Vitalik in 2022 (as quoted in this article), there are also other classification standards. Regardless of the classification, these types of zkEVM do not have an absolute advantage or disadvantage. They only make trade-offs between compatibility and speed: Type1 zkEVM has the highest compatibility with Ethereum, but its proof speed is slower (belonging to the ZK Rollup track); Type4 zkEVM has lower compatibility with Ethereum, but its verification speed is faster.
Of course, the compatibility and speed of zkEVM are not the only factors that developers should consider when deploying applications on a ZK Rollup. There are many other factors that can affect their choice, such as:
· Decentralization of L2 transaction ordering: whether the sequencer/proposer is decentralized directly affects the complexity of ecosystem participants and the security of the entire network;
· Cost: Which tokens are used to pay for fees, and how does the token economy model of a public chain work;
· Self-custody: Is there a clear mechanism to ensure that user assets can still be recovered on L1 when accidents occur on L2?
Before that, let us look forward to the continuous innovation on different paths of expanding Ethereum and ZK Rollup.
Disclaimer: This article does not constitute any investment advice. The market is risky and investment needs to be cautious.
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
https://www.evm.codes/precompiled?fork=shanghai
https://foresightnews.pro/article/detail/30153
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia