Recently, multiple ZKR (zk-rollup) projects have intensively announced the latest progress and route planning:
On July 19, the zkEVM-based ZKR project Scroll announced the release of the testnet.
On July 20th, Polygon announced the launch of Polygon (Hermez) - the first EVM-equivalent zkEVM ZKR project.
On the same day, zkSync announced that zkSync will be the first zkEVM-based ZKR to go live on the mainnet in 100 days.
As one of the key words, zkEVM has sparked heated discussions among users on Twitter. Some people think that these developments mark the arrival of L2 Summer.
Why is zkEVM attracting so much attention? zkEVM is the key to the ZKR project. It can improve performance while being compatible with (or even equivalent to) EVM at a high level, so that applications on Ethereum L1 can be directly migrated to L2 without modification. Therefore, zkEVM is also considered by many to be the end game of L2 Rollup and the killer of Ethereum killers.
In order to explain zkEVM clearly, Odaily divides this series into three articles from shallow to deep:
1. Basic introduction and subdivision level of zkEVM
2. Inventory of zkEVM and zkVM projects
3. Comparative analysis of zkEVM and zkVM projects
Basic Information
Basic Information
image description
Image source: https://www.cth.group/insights/page/zk/
zkEVM is a combination of two words. ZK is the abbreviation of Zero Knowledge, and EVM is the abbreviation of Ethereum Virtual Machine.
image description
Image source: Miden ETH Amsterdam presentation
On the one hand, ZKR that implements zkEVM can take advantage of the high performance of ZK technology, and on the other hand, it can inherit Ethereum’s developer resources such as a code base that has been tested and audited in practice, a wide range of tools, documents, and a large number of developers. The applications, assets, and users of Ethereum can be transferred to ZKR L2 with higher TPS and lower gas without loss, simplicity, and speed. Therefore, ZKR is considered by many professionals including V God to be the most promising L2 solution.
Common Misunderstandings
zkEVM is sometimes confused with EVM compatible. In the discussion of professionals, zkEVM often refers to the ZKR project that realizes EVM compatibility at the bytecode or opcode level, and EVM compatibility includes not only compatibility at the Solidity language level, but also compatibility at the bytecode, opcode, and consensus levels .
For example, StarkNet achieves EVM compatibility at the language level, but it is zkVM, not zkEVM; and ZKR projects such as Polygon Hermez, Scroll, and zkSync are not only compatible with Solidity language, but also compatible with most development tools, protocol standards, byte codes, which are ZKRs that implement zkEVM.
To sum up, a project compatible with EVM is not necessarily zkEVM, because there are multiple levels of compatible EVM; a project that implements zkEVM must be compatible with EVM, because the real zkEVM is an equivalent (high-level compatible) EVM. We will explain the detailed difference between zkEVM and EVM compatibility below.
Compatible difference
Suning Yao mentioned the definition of EVM compatibility in Foresight Ventures: Interpreting the Current Status and Future of zk, zkVM, and zkEVM.
EVM compatibility: Adaptation at the language level such as Solidity.
EVM Equivalence: Adaptation at the EVM bytecode level.
EVM Specification Adaptation: The so-called true zkEVM, in most cases even an optimized superset of backward compatibility, can provide account abstraction (that is, each account is a smart contract) and other things that EVM does not provide characteristic.
Fundamental Labs also mentioned in FL Research | Incomplete Guide to ZK: Why ZK Matters? that there are three levels of EVM compatibility (from low to high):
Language level: There is no real zkEVM in this state. The transpiler converts Solidity into a ZK friendly VM which is completely different from the EVM. StarkNet (zkVM) adopts this method, and the translator Warp has been developed to translate Solidity into StarkNets native language.
Bytecode level: The ZK proof system plays an important role in this zkEVM. At this stage, the state root generated by zkEVM is not compatible with Ethereum EVM, but applications on Ethereum can be ported to zkEVM intact. Including Polygon Hermez, Scroll adopted this method. zkSyncs original direction was zkVM, but it is now changed to zkEVM. According to the latest announcement, it supports most of the opcodes of Ethereum, but it is currently in a closed source state and cannot be reviewed in detail.
Consensus level: zkEVM is equivalent to the EVM on Ethereum, which generates proofs for the state root on Ethereum. Vitalik declared that in the Ethereum roadmap, Ethereum will integrate a consensus-level zkEVM in the future.
image description
references
references
1.《ETHEREUM VIRTUAL MACHINE (EVM)》
2.《Zero Knowledge EVMs: What is a zkEVM?》
3.《Foresight Ventures: Interpretation of the current status and future of zk, zkVM, zkEVM》
4.《In-depth analysis of Cipholio|Talking about the solution and future of ZKVM》