The “scaling wars” of Ethereum have been heating up this past few months, and we're now at the point where over half the major protocols have launched their zero-knowledge EVM (zkEVM) offers.
zkEVMs herald the next era of scalability for Ethereum by utilising zero-knowledge proof technology in order to provide greater transaction throughputs (~2000 tps is suggested) than is possible using other layer 2 technologies, such as optimistic rollups.
This throughput is achieved by reducing the amount of data that needs to be stored on the layer one network — the Ethereum mainnet which holds proof of the transactions contained in the rollup. This is as opposed to optimistic rollups which require all transaction data to be published on the layer one network.
The greater throughput isn't the only benefit of zkEVMs, they also provide a lower transaction cost, faster finality and proof of the underlying computation taking place.
The state of the ecosystem
2023 has seen a lot of activity with zkEVM launches, and at the start of April we have:
Polygon's zkEVM mainnet is now in beta.
Matter Labs zkSync Era mainnet is now in alpha
Scroll's zkEVM testnet is live
ConsenSys' Linea zkEVM testnet is live
Starkware's Starknet mainnet has been live for some time
(Note: I include Starkware in the zkEVM discussions even though their solution uses a different approach)
In addition to the ZK-EVM chains, we also have the more established layer 2 networks on Ethereum, Polygon, Arbitrum and Optimism.
The EVM in zkEVM
ZkEVMs are compatible with the EVM, the idea being that you could take any smart contract code written in Solidity compile it to EVM byte code and run it on a zkEVM without having to make any adjustments.
In practice, many zkEVMs require a custom compiler to generate the bytecode executed by their zkEVM, and this is where the approaches vary between different teams.
Depending on which layer 2 you use, the ease with which you can switch over to it will vary. For instance, if you want to develop on Starknet with Solidity, you'll need to use a transpiler that converts Solidity code to Cairo code (Starknet smart contract language), whereas with Scroll or Linea you can use the regular Solidity compiler as they have EVM equivalence with their zkEVMs.
For a primer on the specifics on how zkEVMs work, I encourage you to refer to this excellent primer by Alchemy
Additional considerations
On top of the compilation considerations, to use any of these networks, you will need to bridge Ether to them to pay for gas fees.
Then there is the additional infrastructure used by layer 2 networks. All layer 2 networks have sequencers which are responsible for taking batches of transactions in the case of optimistic rollups, or proofs in the case of ZK rollups and writing them to the Ethereum mainnet.
zkEVM networks have the addition of provers which are responsible for creating the proofs of transactions which take place on the network.
Both sequencers and provers are currently centralised components within layer 2 networks. It is anticipated that they will become decentralised over time, but at the current time, they are infrastructure typically operated by the teams behind the layer 2 network technology.
This isn't a cause of contention at present, but it’s likely that there'll be competition between the various teams to fully decentralise their infrastructure too.
Where to start
With all of the activity happening with ZK technology, it's exciting, but also quite daunting if you're considering which layer 2 network to work with.
As is clear from the five companies listed above, the ecosystem is still very young, without clear leaders emerging yet from the zkEVM camps.
Referring to some of the total value locked (TVL) metrics provided by l2beat, optimistic rollups Arbitrum One and Optimism account for around $8bn of the TVL on layer two networks, with the zkEVMs being in the low hundreds or tens of million in terms of TVL.
It won't stay this way forever, but it is a consideration of what will be the motivation for users preferring zkEVM-based solutions over optimistic. There are clear technical benefits for zkEVMs, however, we know that convenience and the switching costs can be high to migrate people and teams to new technologies, so it may not happen as quickly as some may think.
"Visa scale"
For teams looking to launch new applications on public networks, the zkEVMs will be very attractive if they can comfortably handle 2000 tps as opposed to the hundreds of tps that optimistic rollups can handle.
This ability to process “Visa scale” transaction volumes will no doubt pave the way for new classes of applications on public networks and interest those companies that were constrained by the volumes provided by regular blockchain networks.
However, until clear winners emerge out of the current crop of zkEVMs teams will need to keep in mind that they may need to be willing to migrate down the line depending on how the landscape plays out.
In addition, there are the challenges associated with interacting with these networks, where funds need to be bridged to networks which are not as streamlined as they could be.
ZK != private
There are still real privacy considerations too. While zero-knowledge technology may be powering a new class of scaling solutions, they don't come with built-in privacy measures. On-chain privacy is still a challenge that teams like Aztec are focusing on with their Aztec Network.
Alternatively, we may start seeing launches of zkEVM based app-chains which use zk-rollup technology to achieve scale but anonymise their activity via the proofs that are sent to a public blockchain network. This is a trend that is likely to gather traction, as it could provide consortia to help benefit from some of the security guarantees of the public blockchain networks.
The main takeaway is whilst there is currently a flurry of activity taking place in the zkEVM space, it's going to take time for the technology to mature and properly decentralise.
Wen standardisation?
It's also useful to contrast the approach being taken here with multiple teams building their own layer 2 technology stacks. They are all making use of the Ethereum mainnet to inherit the security and decentralisation guarantees offered by this network.
However, each layer2 network is its own individual ecosystem. There is commonality as far as they provide EVM compatibility in their own ways, but if you have one app on Linea and another one on Scroll, there is not going to be a point where the networks consolidate down the line, they will remain their own separate entities.
This differs significantly from the approach taken by the creation of Ethereum where multiple teams were working together to build out a shared vision of a global decentralised network.
There is no standardised approach to building layer 2 networks. They are being created in a bottom-up manner to the Ethereum mainnet.
This brings with it a proliferation of albeit open, but still walled gardens with respect to how the different networks work. It also means that there will be a lack of client diversity in many of these networks until they gain significant momentum.
It also provides significant competition between client teams to gain adoption themselves which is what we're seeing now.
This isn't a bad thing, but we won't know how this approach plays out contrasted with a more top-down approach such as that taken by Polkadot.
In Polkadot, its mainnet — the relay chain, uses a standardised approach to launch their parachain networks which are roughly equivalent to layer2s on Ethereum.
This means there are fewer barriers to launching new networks and transacting between them, as they all make use of Parity Technologies Substrate Framework.
Change is the only constant
It’s great to see all of the mainnet and testnet launches this past month and momentum will continue to build as more and more teams start to build on these platforms, but if you're trying to pick an L2 to double down on, if you can buy yourself some time, you should.
One thing we can say with certainty is that the landscape is likely to look quite different in 12-18 months from now versus where we are right now and now is not the time to go all-in on one layer 2 if you don’t have to.