The Consensys zkEVM network is a new zk-rollup, designed by Consensys R&D and operated by Consensys. The rollup is the culmination of years of research and offers full Ethereum Virtual Machine (EVM) compatibility, so developers can deploy and manage applications using familiar tools like MetaMask, Truffle and Infura as if they were using Ethereum directly. 

Opening the Private Beta

Users will be able to bridge assets between the Goerli testnet and the zkEVM to test their smart contracts and dapps using the tools, infrastructure, and wallets they are familiar with. Out of the box integration with the existing Ethereum toolchain enables the experience, security, and decentralization of Ethereum but with ultra-low transaction fees. 

At DevCon, we published a nearly complete specification for the zkEVM arithmetization and announced our plans to launch a private testnet, for which we’ve received over 150,000 sign ups so far. We also recently published the prover scheme that will be used in the zkEVM. Next week, we will begin our internal testing of the testnet and starting in January, Consensys will gradually “allow list” and onboard external users who have signed up to the network. We expect to start slowly, onboarding users in batches to guarantee the stability and security of the system. 

Developers will be able to deploy and test smart contracts, and migrate dapps from existing networks. Testnet participants can also bridge tokens, transfer tokens, and interact with deployed dapps listed on our upcoming ecosystem portal page. We intend to learn whether the developer experience of the zkEVM has the potential to accelerate innovation in Web3 and will be evaluating feedback from the community to inform our next step.

If you would like to participate in the private beta and have not yet signed up, we’ve re-opened our signup here

Here is all you need to know about the testnet: 

Why did you build this?

Deploying a zk-rollup that offers the same experience as Ethereum is technically challenging. The EVM was never designed to be proven in a zk circuit and therefore most zk-rollup teams decided to go a different path, using bespoke languages and virtual machines separate to the EVM. We felt this created friction for developers familiar with Ethereum. 

Consensys R&D, along with others in the ecosystem, have been working on an approach to wrap EVM computation in zero-knowledge proofs to create a zkEVM implementation. This zkEVM handles native EVM bytecode for proving and verification to allow the execution of Solidity smart contracts and enable developers to get the benefits of a zk-rollup using the developer tools and infrastructure they are familiar with. You can read more about our goals and the specification here

How can I sign up to participate in the private testnet? How long will it run?

Users can register for our waitlist here. The private testnet phase will run for approximately three months to allow our Protocols team to receive feedback on the developer and user experience, at which point we’d make a determination about the future of the testnet. 

If I already signed up, do I need to sign up again?

No. If you completed one of our previous forms, your details have been captured and you do not need to sign up again. You can expect to receive an email from Infura on next steps. You will require an Infura account to access the private testnet because it is currently permissioned. Once you receive the confirmation email that your account has been allowlisted, the Consensys zkEVM network card will appear in your Infura dashboard.

When can I expect to be onboarded?

In January 2023, we will begin the process of allowlisting registered users in the order they signed up in. We aim to onboard a new batch of users every day, starting small and increasing the size of each batch as we monitor the activity. We have already received over 150,000 signups and expect this number to grow. 

With such high demand, it may take several weeks before you are granted access. While we aim to onboard all users to the testnet, we may not be able to accommodate everyone on the waitlist.

How will onboarding work?

When we are ready to add you to the testnet, we will send an email to the address you provided in the signup form. This email will come from Infura, and will outline how to configure your Infura account, select the Consensys zkEVM network card, and copy your RPC endpoint to be imported into MetaMask. This will allow you to interact with the zkEVM network.

Am I required to use Infura to participate in the testnet?

During the private beta testnet, yes. Users are required to have an Infura account to retrieve their unique RPC endpoint for testing the network. If you do not have an Infura account, you will need to create one using the same email address you used to register for the testnet. Registering for an Infura account is free and only takes a few minutes.

This is required as the testnet is currently a private beta testnet and is not permissionless. 

Which protocols are participating?

We are speaking to the top protocols across all Web3 segments from stablecoins, DeFi, NFT marketplace, gaming, social. 

A full list of partners and sample apps will be shared on our upcoming Testnet Portal. If you would like to submit your project to deploy to the zkEVM and be added to the portal, please complete the following form.

Will it be open source?

Yes, the plan is to open source both the specification and the code. You can read our  specification for the arithmetization, which was published during DevCon 6. We will provide an update to this specification and the source code when it is documented and is ready to be assessed by the community. Additionally, we recently published the prover scheme.

How will you reward early testers?

We are discussing ways to reward those who help us test and improve the product but do not have details at this time.

Will there be a token?

The network is still in private beta, so it is too early to discuss launching a token.

What performance should I expect?

We are throttling the testnet to focus on security and performance for a restricted set of users so max throughput is less of a concern at this stage.

What is the difference between our zkEVM offering and others available?

There are different types of zkEVM. Vitalik’s blog post describes zkEVM’s in types and the goal of our Rollup is to be a Type 2 zkEVM. A Type 2 zkEVM is bytecode-compatible which means we’re the most compatible with Ethereum and the EVM making it easy for developers to build and maintain applications on Layer 2.

We do not use transpilers or custom compilers to generate zk proofs for Solidity smart contracts. We take the compiled bytecode of Solidity. We believe this approach reduces the surface area risk for bugs and hacks.

What opcodes and pre-compiles are supported?

The prover is still incomplete–typically we do not prove the precompiles. In the testnet, we decided to make them available to the smart contracts (i.e. they are executed properly, but the execution is not proven), as we plan to support them for the production ready release.