zkEVM is a zero knowledge Ethereum virtual machine, credited as being “the ultimate solution to Ethereum scaling”
The Ethereum ecosystem continues to grow alongside concerns around its scalability and privacy. A new technology currently being rolled out aims to address these issues through the implementation of zero-knowledge rollups.
In this article, we’ll take a closer look at how zkEVM’s work, the significant risks and compare the projects building zkRollups.
- How Does A zkRollup Work?
- zkEVM Risks & Mitigations
- Teams Building zkEVM Compared
- Privacy Scaling Explorations
- The Future Of zkEVMs
How Does A zkRollup Work?
A zkRollup uses a set of zero knowledge circuits to prove the transactions provided create a defined change to the network state. i.e. if Alice sends Bob $1 DAI then the prover can verify the new balances stored in the storage of the EVM (Ethereum Virtual Machine).
The zkEVM prover generates zero-knowledge proofs to verify the correctness of smart contract transactions on the layer 2 blockchain. For developers and users the workflow is much the same as transacting on any other chain, switch the network in metamask and interact with the EVM as usual.
A zkEVM rollup can be divided into three parts, the execution environment, prover circuit, and verifier contract. The execution environment accepts batched transactions from a sequencer and creates a trusted implicit state. The prover circuit produces zero-knowledge proofs verifying the validity of transactions computed in the execution environment. The verifier smart contract processes the validity of proofs submitted by ZK-rollups on the Ethereum mainnet.
ZKEVMs will run as independent chains on top of the Ethereum mainnet but there is more potential for composability and interoperability between the layers 2’s and their parent L1.
The final vision is to have a network of L2 rollups managing execution with Ethereum mainnet becoming a chain of chains on top of that. Users will connect to a L2 or a group of L2’s and it will look and feel like Ethereum but transaction speed will be faster, cost will be negligible and throughput will be almost unlimited.
zkEVM Risks & Mitigations
Zero Knowledge tech is still in its infancy and the risks associated with it are somewhat of an unknown. Currently every team that is building a ZKEVM is using the same set of circuits provided by the Ethereum Foundation led Privacy & Scaling Explorations team.
These circuits have 30,000 lines of code and there are going to be bugs in that code. We don’t have the auditing tools currently or the experience necessary to ensure that code is 100% secure.
Teams are currently rushing to be first first to launch a zkRollup mainnet in production and I believe there will be some drama here as the tech isn’t battle tested and as soon as the networks go live blackhats will be incentivised to start probing it.
The main risks I can foresee are as follows:-
- Prover Correctness – This is the highest risk factor where an attacker may find a way to abuse the prover to send a tx in which results in a incorrect state change i.e. they have a higher balance than they should.
- Prover Soundness – this is when the same transactions can compute two different states. This is a significant challenge with decentralized networks as all nodes need to agree on a consensus. To mitigate this all the teams currently working on zkEVM are starting out with centralized provers.
- Denial Of Service – a transaction that breaks the prover or creates a invalid state could cause a DoS attack on the network causing the network to halt.
- Smart Contract Bugs – The verification smart contracts are less of risk because as an industry we have developed systems and experience in auditing this side of things but as with any contract you can only reduce the probability of issues.
These challenges are not easily solved and Vitalik has talked about launching with training wheels on the Ethereum Magicians forum:
As far as I’m aware all the current implementations of zkEVM are built using centralized sequencers and provers to some degree. Initially these training wheels will provide a back up plan but also a central point of failure due to their inherent centralization.
Teams Building zkEVM Compared
The race is on to create the next generation of layer 2 rollups on Ethereum. Arbitrum and Optimism have gained popularity with their optimistic rollups and proven a product market fit for a scaling solution.
Let’s look at the main players building zkEVM tech in the space.
Privacy Scaling Explorations
The main research is being carried out by the Privacy & Scaling Explorations team (formerly known as AppliedZKP team) who are funded by the Ethereum foundation.
Their open source prover circuits provide the base for everyone working on this tech currently: https://github.com/privacy-scaling-explorations
There are currently between 15-20 people working in the zkevm-circuits repository and over 145 open issues. The team deserves a medal for taking on the technically daunting challenge of creating the brain of the zkEVM.
Polygon are due to launch their zkEVM beta mainnet on March 27th. There is an excellent talk from ethDenver about the tech here:
The team aims to provide complete EVM opcode equivalence. Extendable EVM processor with a new zk-assembly language.
Polygon has a token called Matic which has a $10B market cap and is currently trading at $1.14, providing one potential way to gain exposure. ZK rollup tech was originally Hermez project which has been merged into Polygon, HEZ token will be phased out tbc.
Polygon also raised $450M in Feb 2022 in a funding round led by Sequoia. They are burning through this at quite a rate ($200m a year prior to layoffs) and publicly said they have $250m left which is maybe 18 months of runway.
Likely they can do another raise or sell some of the foundations Matic distribution which received 21.9% of the 10B supply.
I think there’s a case to be made that Polygon will become Ethereum’s biggest competitor and eventually they’ll shift from using Ethereum mainnet to Polygon mainnet as the parent layer. I’m going to discuss this tin foil hat conspiracy theory further in my newsletter at some point.
The zkSync team has recently released a mainnet beta product called zkERA which is basically zkSync 2.0
The project raised a total of $458M and reserved 66% of a potential future token for the ecosystem.
Formed a partnership with @OpenZeppelin
One defining feature is the account abstraction that Polygon zkEVM doesn’t have which may be useful in creating private transactions.
They are also releasing a Hyperchain SDK framework similar to those of Cosmos which will enable 3rd parties to create modular zkApp chains.
Launching Alpha 2 Testnet mid March, expect mainnet to be around a year away.
Building a type1 zkEVM full Ethereum compatibility
Scroll are building a native zkEVM based zkRollup for Ethereum. Scroll mainnet is expected end of Q2 or early Q3 2023.
The Future Of zkEVMs
One thing to note is that the privacy & scalling explorations team has another repository in their Github account. A zkEVM-Chain at: https://github.com/privacy-scaling-explorations/zkevm-chain
This is under active development and I suspect it may in the future be released as a native L2 on Ethereum. This team is working directly for the Ethereum foundation and their work and circuits provide much of the building blocks for the 3rd party projects discussed above.
However a native network of L2 zkRollups could be deployed on Ethereum using zkEVM technology to share liquidity and data between L1 <> L2 and L2 <> L2. Justin Drake recently talked about this as a superpower of zkRollups. This would provide a spider web of interconnected blockchains that can all work together as a single entity.
If Ethereum launches an “official L2” then I think Polygon will be pushed to move their zkRollup over to using Polygon mainnet as the parent chain in a move that would make it independent from Ethereum.
This is all based on speculation and I have no inside information or alpha to offer here. Most likely I am wrong to some degree and it will play out differently.
What is clear is that the Ethereum Foundation are investing their efforts in to zero knowledge technology in the hope that it will help Ethereum scale to the capacity where it can become the worlds computer.