Ethereum is notoriously slow and laggy, especially during high user activity. Transactions clog the network, fees spike, and decentralized applications run at a glacial pace.
Even after the Merge changed the way Ethereum verifies transactions—switching from electricity-chugging miners to stakers—the network can process only around a dozen transactions per second.
Many Ethereum developers have built “scaling solutions” that process transactions away from the main network, which relies on the consensus of thousands of distributed nodes.
“Optimistic rollups,” for instance, batch and quickly process transactions before submitting them back to the base layer for final verification. However, they come with risks: although these rollups inherit Ethereum’s security, they assume that transactions are valid unless a fraud proof shows otherwise. Therefore, transactions can take a week or so to finalize.
A second scaling solution is the zero-knowledge rollup (zk-rollup). Unlike “optimistic” rollups, these rollups do not assume legitimacy. Instead, they use “zero-knowledge proofs,” clever cryptographic proofs that signal the content of a transaction without revealing any identifying details.
Zero-knowledge proofs are not unique to crypto—they’ve been around since the 1980s, when cryptography was discussed as a way to trustlessly convey information without compromising oneself.
A zk-rollup, then, can safely process a batch of transactions away from the core protocol, verifying their authenticity without waiting for final ratification from the main chain. That means, theoretically, transactions can be processed far more quickly than their optimistic counterparts.
Unfortunately, zk-rollups aren’t entirely compatible with Ethereum. To this point, many have been application-specific, working for some types of data but not others.
This is where the latest innovation comes in: the zkEVM.
What Is a zkEVM?
The zkEVM is basically an alternative to Ethereum’s main computing infrastructure, known as the Ethereum Virtual Machine, or EVM. The EVM translates inputs to outputs, making the network run and allowing programmable applications to be built on top of it.
The problem with the existing set of zk-rollups is that they are application-specific—that is, there is not yet one standardized rollup that can be used on a case-by-case basis.
A zkEVM, by offering a zk-rollup-compatible alternative to Ethereum’s computing infrastructure, would allow these to be deployed at scale with a standardized rollup that every app can use.
In many cases, it would also allow developers to write zk-rollups in Ethereum’s primary programming language, Solidity, instead of more arcane, specialized languages. (This, however, has its limits, according to Alex Pruden, the CEO of zero-knowledge privacy platform developer Aleo, who points out that there are certain tasks that are too expensive to prove using a zk-rollup.)
Some developers believe zk-rollups will be able to process up to 2,000 transactions per second—or as many as 20,000 with enhancements like ZKporter, another zkEVM-compatible scaling solution. (Other sources put that figure at 100,000 transactions per second.)
Unsurprisingly, there has been stiff competition to roll out a fully equipped zkEVM. The biggest contenders are StarkNet, Polygon, Matter Labs, and Scroll. Matter Labs claims its testnet has already reduced transfer costs by 50% and processed around 4 million transactions.
Far From Perfect
Of course, a zkEVM is by no means a perfect solution. Though the technology can theoretically quicken Ethereum’s pace by moving transactions away from the main chain, generating thousands of zero-knowledge proofs can itself be grindingly slow, taking many hours.
Another problem is that zk-rollup proofs are typically generated by a single, centralized EVM node, which could, theoretically, be co-opted. And while the cryptographic proof prevents transactions from being actively faked, they can still be mistakenly omitted.
The problem is that the zero-knowledge “prover” becomes the “gatekeeper for transactions on the network,” said Pruden of Aleo. “This is different from the fundamental design of Ethereum, where you really don’t need any other party to send a transaction.”
There is also a battle raging between Ethereum-related zkEVMs and so-called “layer-1” zkEVMs like Aleo, alternative blockchains that have baked zk-rollup functionality into their base layer. This, devs for the latter argue, makes them more efficient than layer-2 zkEVMs, which require “re-execution” of transactions on Ethereum proper.
Finally, there’s disagreement on what counts as a zkEVM. While Starknet and zkSync can mimic the Ethereum Virtual Machine at the language level, the holy grail is equivalence at the consensus level. The Polygon zkEVM and the Scroll zkEVM are in between.
Though the idea behind zk-rollup-compatible blockchain computing goes back to at least 2014, zkEVM technology is now moving ahead rapidly, despite previous speculation that it would take many more years to develop.
Matter Labs, the company behind the pioneering zkSync technology, released a mainnet in February 2023 to onboard a limited number of projects that want to integrate the technology. However, unlike Ethereum, developers must register with Matter Labs to use it.
Polygon’s zkEVM, meanwhile, is due to launch on March 27, 2023.