Blockchain technology has revolutionized the way we think about trust, security, and decentralized systems. However, one of the major challenges facing blockchain adoption is scalability. As the number of users and transactions on blockchain networks grows, the processing power required to verify and validate transactions can become a bottleneck, resulting in slow transaction times, high fees, and reduced efficiency. In recent years, many innovative solutions have emerged to address these scalability challenges, including ZK rollups, Optimistic rollups, Validium, and more. Among the various scaling solutions, zkEVM is one of the hottest solutions in this space. Let’s find out if zkEVM is truly the holy grail of scaling!
What is zkEVM?
The zero-knowledge Ethereum Virtual Machine (zkEVM) is a virtual machine that can develop and execute smart contracts with zero-knowledge capabilities. All zkEVMs strive to achieve the same goal: to provide the same ZK rollup experience as the Ethereum layer 1 (L1) blockchain. In the early stages of the Ethereum scaling race, Optimistic rollups such as Arbitrum and Optimism had a significant advantage because this style of rollups was initially relatively simpler and compatible or even completely equivalent to the EVM. Due to this technical affinity, developers can avoid changing code or abandoning EVM tools and smart contracts while migrating or creating smart contracts on more scalable solutions to maintain the security and decentralization of L1 for an excellent user experience.
Types of zkEVM
Vitalik Buterin divides zkEVM into four different types based on compatibility and performance. Type-1 zkEVM will be fully compatible with the EVM and can even be used to upgrade Ethereum itself, while Type-4 zkEVM is only suitable for specific Ethereum applications. A more technical explanation of the advantages and disadvantages of each type can be sought in Vitalik’s blog. Here is his breakdown of the various types of zkEVM:
Image from Vitalik's blog
Type-1 and Type-2 zkEVM
zkEVM belongs to Type-1 and Type-2 ZK rollups, which have the highest compatibility with Ethereum. They are fully compatible with most Ethereum applications because they do not touch the application layer. Therefore, zkEVM has become the first choice for developers building applications on Ethereum.
The race to scale is intensifying to see which team can produce the first “Type-1” and “Type-2” zkEVM to provide Ethereum developers with highly compatible scaling solutions that can be built without major changes to their codebase. Despite similar goals, they have all taken different approaches.
In March of this year, multiple ZK rollups projects released their own zkEVM implementations. The public release of zkEVM represents the most important step towards Vitalik’s prediction in 2021: “In the medium to long term, as the technology improves, ZK rollups will win in all use cases.”
While Type-1 zkEVM provides the greatest compatibility with Ethereum, proof times are still very slow because Type-1 zkEVM also replicates Ethereum's inefficiencies. Currently, proofs for Ethereum blocks take hours to generate. Type-2 zkEVM offers a better balance between compatibility and performance, providing developers with sufficient compatibility while significantly reducing proof times. Many initiatives are currently prioritizing the development of Type-2 zkEVM.
The zkEVM frontrunner
Image from msfew.eth
Scroll: Building a Type-2 zkEVM. The team worked with the Privacy & Scaling Exploration group to develop their zkEVM. The last step before mainnet, Scroll Alpha testing, was released in August 2022.
Polygon zkEVM: Open source and uses Type-2 zkEVM. It uses ZK proofs to reduce transaction fees and increase throughput while maintaining the security of Ethereum L1. The Polygon zkEVM mainnet beta was officially launched on March 27, 2023.
zkSync Era: Adopts Type-4 zkEVM, created by Matters Lab. Its Type-4 zkEVM has unique features and impressive willpower of zkPorter. As a result, zkSync Era becomes the first EVM to be launched on the mainnet and is fully accessible to the public to bridge their funds to the system or deploy their code on the network.
StarkNet: uses Type-4 zkEVM. In fact, EVM is not a native function of Starknet. Starknet uses the Warp converter (provided by Nethermind) to convert Solidity code to Cairo to support smart contract deployment. Kakarot is a community-driven project that also helps StarkNet compatibility with EVM.
Other zkEVM
Taiko: As stated on its website, Taiko presents itself as a “fully decentralized, Ethereum-equivalent zk-rollup” with a Type-1 zkEVM. According to Taiko, being a Type-1 zkEVM sets it apart from the other initiatives on the list, with one of its main benefits being simplified migration with minimal code modifications required.
Linea: Type-2 zkEVM powered by Consensys. By integrating ZKP with full EVM compatibility, developers can create scalable DApps or move existing DApps to new platforms without changing code or rewriting smart contracts. The public testnet was released on March 28 this year and has been added to the default network options of the Metamask extension.
in conclusion
Launching the Polygon zkEVM and zkSync Era on the Ethereum mainnet will be the most critical first step to testing the zkEVM with real users and DApp activity. The accessibility and scalability of a production-ready zkEVM has the potential to disrupt not only the competition between Ethereum’s various scaling solutions, but also the competition between Ethereum and other layer-1 chains. A successful implementation of the Type-2 zkEVM will enable existing Ethereum developers to scale their DApps on code they are familiar with, further increasing the stickiness of the Ethereum ecosystem.
zkEVM represents a step toward building a more sustainable Ethereum with the developer community in mind. By providing developers with a scaling platform with greater compatibility, more developers can build on it, and we unlock a larger design space for the entire ecosystem. In the future, more developers may move to higher-performing Type-3 and Type-4 ZK rollups, which can better scale Ethereum and provide more use cases, but now with Type-1 and Type-2 zkEVM, developers can more easily transition to rollups.