ZK-Rollups and the Path to Scaling Ethereum
ZK-Rollups are aiming to fix Ethereum's scaling issues.
- High gas fees on Ethereum have highlighted the urgent need for scaling solutions.
- While the scaling solutions of today have seen success, they suffer from problems with composability and decentralization.
- ZK-Rollups improve on existing Layer 2 networks by offering enhanced interoperability and security.
Share this article
As the cost of using Ethereum increases, the need to scale the network has become more apparent than ever. Zero-Knowledge Rollup technology promises to lower gas fees without compromising on decentralization and security.
Ethereum’s Scalability Issues
High gas fees have become a major problem for Ethereum.
As transaction fees are paid in ETH, the cost of using the network rises when the price of the asset does. ETH is up 460% this year, which means the cost of transactions has also increased by 460% in U.S. dollar terms.
Transaction fees also depend on the level of network congestion. As there is huge demand for Ethereum block space today, gas fees are also high.
The high cost of using the network has priced many users out of DeFi, NFTs, and even participating in DAOs. Many crypto enthusiasts have migrated to other Layer 1 blockchains such as Solana and Avalanche because of Ethereum’s expense.
Over the last few years, several scaling solutions have been developed to help relieve congestion on Ethereum and reduce the cost of transactions. Polygon launched in 2019 and was arguably the first Ethereum scaling solution to gain significant traction. The network uses a scaling solution called Plasma, which offloads transactions from the main Ethereum blockchain into a dedicated sidechain. Many Ethereum-native DeFi applications such as Curve and Aave have launched on Polygon this year.
While Polygon has successfully attracted users by offering low fees, it is often criticized for not being a true scaling solution. Polygon uses a Proof-of-Stake consensus mechanism governed by its own set of node validators. This means that it doesn’t use Ethereum mainnet to validate transactions so is generally regarded as less secure and decentralized. There are only 100 validators governing Polygon. According to data from Polygonscan, the top validator address accounts for over 27% of the network.
Over the past year, another type of scaling solution called rollups has generated a buzz in the Ethereum community. Currently, every transaction on Ethereum includes all the computational data needed when interacting with a smart contract. As block space is limited, Ethereum can easily become congested, resulting in slow transaction confirmations and high gas fees.
Rollups offer a way to outsource computational data and send validity proofs back to Ethereum mainnet. This saves block space and allows for transactions to be bundled together, further reducing the amount of data committed to mainnet. When transactions are bundled together, gas fees are split between many users. Rollups offer users near instant transaction speeds and can reduce fees by a factor of 50 to 200 while maintaining the security and decentralization of Ethereum mainnet.
What Are Zero-Knowledge Rollups?
Rollups come in two flavors: Optimistic and Zero-Knowledge. Optimistic Rollups assume that transactions sent back to the base chain are legitimate. Transactions only get rejected if someone watching the chain can prove that they are fraudulent by submitting a fraud proof. In other words, Optimistic Rollups take an “innocent until proven guilty” approach to validating transactions.
Conversely, Zero-Knowledge Rollups, also known as ZK-Rollups, generate cryptographic proofs that demonstrate transactions are legitimate when sent back to mainnet. Transactions are only accepted on Ethereum after the cryptographic proof is validated. Unlike Optimistic Rollups, ZK-Rollups take a “guilty until proven innocent” approach to validation.
Currently, Optimistic Rollups have seen the most adoption, thanks in part to the ease of developing applications on them. Optimistic Rollups can support full smart contract functionally straight out of the box, and developers can code applications using Solidity, Ethereum’s native programming language. Data from L2beat shows that the biggest Optimistic Rollup today, Arbitrum, has attracted over $2.5 billion of total value locked in DeFi applications. It hosts many of the most popular DeFi applications on Ethereum.
However, Optimistic Rollups face a few challenges. Because of their approach to validating transactions, funds sent back to Ethereum mainnet are subject to a dispute period of up to a week. This inconveniences users and breaks composability.
While Optimistic Rollups have improved on Plasma-based solutions like Polygon, they are generally regarded as inferior to ZK-Rollups. Optimistic Rollups have a dispute period and offer scalability improvements up to a factor of 77. ZK-Rollups have no dispute period, and they offer improvements up to a factor of 500.
However, ZK-Rollups have not yet reached the same level of compatibility as their Optimistic counterparts. Because ZK-Rollups have validity proofs accompanying every transaction, their technology is more difficult to construct. ZK-Rollups have been developed to handle simple tasks like direct transfers and trading. While integrating smart contract functionality is possible, it has proven a lot more difficult.
As recently as this year, Ethereum co-founder Vitalik Buterin predicted that development of fully composable ZK-Rollups would take several years. However, developers are ahead of schedule. Several ZK-Rollups are getting ready to deploy solutions that are mutually composable and interoperable, even across rollups.
The development of ZK-Rollups will allow for a shared communication framework between Ethereum mainnet and multiple Layer 2 networks, where networks can share liquidity and overcome the biggest adoption challenges Layer 1 blockchains face. ZK-Rollup-based networks will not need to compete for liquidity in order to deliver efficient trading through decentralized exchanges, and will instead be able to work cooperatively to scale Ethereum.
ZK-Rollups also have another unique feature. Transactions become cheaper as more people use them due to the way fees are calculated for each batch of transactions. The cost to send a batch isn’t subject to much variance, so gas costs can be split among more users as more transactions are bundled in a batch. ZK-Rollups can bundle an almost infinite amount of transactions, so gas fees for transactions could be reduced to fractions of pennies with enough users. This feature is called validity proof amortization.
While Ethereum is still facing scalability issues, several developers are already in the process of deploying Layer 2 ZK-Rollup networks, promising full composability and compatibility between smart contracts, other Layer 2 solutions, and the Ethereum Virtual Machine.
Types of ZK-Rollup
There are currently two different types of ZK-Rollup being utilized in Ethereum scaling solutions.
The first and most widely used type of ZK-Rollup uses ZK-SNARKs—succinct non-interactive arguments of knowledge. SNARKs were the first type of zero-knowledge proof discovered; the early blockchain project Zcash used them as early as 2016. SNARKs form the majority of ZK-Rollup developer libraries and published code and are regarded as a strong option for Ethereum scaling projects.
One big drawback of SNARKs is that they require an initial creation event of the keys that are used to create the proofs required for transactions. If the keys in the trusted setup event are not destroyed, they could be used to create new tokens out of thin air or falsify transactions.
The most prominent SNARK-based scaling solution today is the Matter Labs’ zkSync project. Launched in June 2020, zkSync is promising 2,000 transactions per second in its current iteration, with hopes of achieving higher throughput in the future. In May, the platform started working toward smart contract deployment in an EVM-compatible environment with the launch of its zkEVM testnet.
The main focus of zkSync has been making the transition from Ethereum mainnet as easy as possible. Those wanting to develop on zkEVM can write smart contracts using Solidity, Ethereum’s programming language. Matter Labs recently raised $50 million to aid development of zkSync in its Series B funding round led by Andreessen Horowitz. Additionally, the company has partnered with several Ethereum DeFi blue chips such as Curve Finance, Aave, and 1inch.
The other type of ZK-Rollup uses STARKs—scalable transparent arguments of knowledge. STARKs offer an advantage over SNARKs as they rely completely on hash functions and do not require a trusted setup. This means that STARKs are theoretically more secure than SNARKs, which has made them a favorite of the Ethereum Foundation.
StarkWare is the first company to use STARKs to scale Ethereum and is currently the main driving force behind the development of STARK-based technology (Two of StarkWare’s co-founders, Eli Ben-Sasson and Michael Riabzev, co-invented the technology). StarkWare has created a Turing-complete programming language for STARK-based ZK-Rollups called Cairo. It used Cairo to create its first product, the StarkEx protocol.
StarkEx is an application-specific scaling solution that is currently being used by several Ethereum projects, including dYdX, Immutable X, Sorare, and DeversiFi. StarkWare is about to release StarkNet, a permissionless ZK-Rollup network that lets developers build and launch applications directly on Layer 2. StarkNet is aiming to become a true, decentralized, multi-app scaling solution.
ZK-Rollups are about to change the way the crypto community uses Ethereum. As high-speed, low-cost networks like zkSync and StarkNet materialize, transactions on Ethereum mainnet will increasingly be outsourced to Layer 2. This should allow Ethereum to move closer to its vision of becoming a scalable, secure, and decentralized blockchain network.
Disclosure: At the time of writing this feature, the author owned ETH and several other cryptocurrencies.