The Merge is now done. The historic network upgrade had the Ethereum community’s attention for the last seven years – from testing various aspects of the Ethereum blockchain’s transition to Proof of Stake, to finally making the switch on the mainnet.

After a successful Merge, the Ethereum community is now shifting its focus towards scaling. In 2020, Vitalik outlined a rollup-centric roadmap as the best path forward for Ethereum to scale to billions of users. One scenario laid out in this roadmap was Web3 users holding information about their primary accounts, balances, assets and liabilities etc on Layer 2s (L2s), and being able to move their assets between different L2 platforms seamlessly.

Building on that roadmap, Consensys R&D is proud to announce our specification for a Type 2 zero knowledge Ethereum Virtual Machine (zk-EVM). A zk-EVM replicates the Ethereum environment as a rollup, and allows developers to build on it as they would on the mainnet.

After publishing our first draft nearly a year ago, we are excited to release an updated and expanded version to the Ethereum community. You can help us test this version by signing up here

The goals of this design are:

  • Execution of unaltered, native bytecode in accordance with the Ethereum VM specification as specified in the yellow paper

  • 100% coverage of the different opcodes

  • Delivery of a “Type 2” zk-EVM as defined by Vitalik

ZK-Rollups are a trustless solution to scaling Ethereum, but developers have so far been unable to use this technology with the EVM. 

Our design offers one path forward where developers can deploy any smart contract, use any tool, and develop exactly as if they were building on Layer 1 (L1). For users, this enables the experience and security guarantees of Ethereum, but with far lower transaction costs. 

But before we get into further details about our updated zk-EVM offering, let’s back up and see how rollups help Ethereum scale, some challenges that zk-rollups face, and how we address those challenges with our zk-EVM update.

Scaling Solutions for Ethereum

The problem of securely scaling public-permissionless blockchains has been well discussed. As it stands, the Ethereum Foundation (EF) is committed to a rollup-centric roadmap, declaring rollups as the best scaling solution that does not sacrifice security.

Most rollups can be categorized as either optimistic rollups or zero-knowledge rollups (zk-Rollups). Optimistic rollups assume that all transactions posted to the L1 are valid and rely on a series of “watchers” to monitor the activity and submit a fraud proof in the case of a dispute. If the dispute is valid and the operator has been dishonest, the fidelity bond deposited by the operator will be slashed and distributed to the watcher. This game-theory economic incentive is what provides security for optimistic rollups. Arbitrum and Optimism are examples of teams doing great work in this space.

On the other hand, zk-Rollups use cryptography to generate a zero- knowledge proof of the executed transactions, which is then posted to the L1 for verification. The verification of the proof will either be valid or invalid and does not rely on watchers to monitor the honesty of the operator, and therefore it is often referred to as a trustless verification of computational integrity. StarkWare and zkSync are two examples of teams pushing the boundaries of zk-Rollups.

The Challenges of zero-knowledge Rollups

When assessing the landscape, we saw that building general-purpose (EVM) rollups with zk- proofs faced two key challenges:

First, the speed at which we can generate a proof of execution—an operation carried out by the prover. Without a highly performant prover, the throughput of the rollup is limited and the transaction costs for users remain too high for widespread adoption.

The second problem was compatibility with the EVM. Without a truly equivalent developer experience, we risk losing all the experience, infrastructure, and knowledge that has gone into building Ethereum over the last decade. Enabling developers to build on zk-Rollups as if they were on Ethereum will no doubt help accelerate the transition to Web3.

Consensys zk-EVM Solution

Consensys R&D has a deep experience with rollups, exploring trustless transfers between rollups back in 2019, before formalizing the first account-based anonymous rollup which we later extended to a partially-anonymous rollup

After identifying the challenges discussed above, we spent the last years developing a Type 2 EVM-equivalent zk-EVM. We hope this latest contribution will complement the great work by other teams in the ecosystem, such as Polygon zk-EVM and Scroll, and complete the possible infrastructural choices for decentralized application (dApp) developers, startups, and enterprises to choose and scale on Ethereum.

Our team is working hard to implement the full design of the zk-EVM and will soon be launching a private testnet to receive feedback from the community.

If you’re interested in joining this private testnet, then click here to join our waitlist. We welcome all dApp developers, users, researchers, and existing protocols to join and help us scale Ethereum. In the meantime, if you have any questions or want to stay up to date on our progress, then make sure to visit the Consensys discord zk-EVM-rollup channel.