Ethereum gas fees can get expensive, so expensive in fact, it can be difficult to even use the blockchain. Sometimes the fees to pay for a transaction are more expensive than the asset you’re creating or purchasing, and that just doesn’t seem right.
However, what if there was a way to reduce these fees and increase transaction efficiency? Well, now there is using rollups!
A rollup takes multiple Ethereum transactions and rolls them up into a single piece of data before submitting them all to the blockchain. This saves space, increases transaction speed, and reduces the cost to transact.
Before we get into the technicalities, let’s talk about how the Ethereum blockchain works, and the different types of rollups.
Ethereum blocks are limited to the amount of data they can hold. For example, let’s say a block can only do 100 transactions. This means that if 100,000 people want to do a transaction at the same time, Ethereum will pick 100 of the highest bidding fees first.
Since gas fees are based on the current demand on the blockchain at a given moment, these fees can become very expensive. But, since a transaction can simply be a piece of data as well, what if you could include ten transactions in one piece of data.
You would essentially have scaled to 1,000 transactions per block as opposed to 100, simply by using the data portion instead of the transaction portion.
Rollups are layer 2 scaling solutions that perform transaction operations off the main Ethereum blockchain, but still, post the transaction data onto layer 1. Considering the transaction data is on layer 1, rollups are secured by the same layer 1 security measures. In fact, this is the defining feature that rollups offer to users.
Rollups are useful because they reduce gas fees, increase transaction throughput, and expand participation. One question you may have about rollups is how does Ethereum know that the posted data is valid and wasn’t submitted by someone who is trying to take advantage of the system?
Ultimately, it depends on the specific rollup implementation, but in general, each rollup deploys a set of smart contracts on Layer 1 that are responsible for processing deposits and withdrawals and verifying proofs. Lets take a look at the two types of rollups currently utilized on the Ethereum blockchain and how they work.
Optimistic rollups assume transactions are valid by default and only runs computation via a fraud-proof, meaning it only presents evidence that a state transition was incorrect, in the act that someone decides to challenge the transaction.
Optimistic rollups sit in parallel to the Ethereum Mainnet on layer 2 and don’t perform any computation (mathematical equations) by default. Instead, after the transaction is complete, they submit the new state to the Ethereum Mainnet, essentially notarizing the transaction.
Optimistic rollup transactions are written into the main Ethereum blockchain, further optimizing transactions by reducing the cost of gas.
Advantages of optimistic rollups include:
- Lower gas fees
- Increased throughput
- Smart contract capability
- Security (guaranteed by the Ethereum Mainnet)
Disadvantages of optimistic rollups:
- Long withdrawal time (challenge periods can last for weeks)
- If a fraudulent transaction is discovered, the rollup will automatically call a fraud-proof and run the transaction’s computation using the available written data, leading to long withdrawal times if the transaction is challenged.
There are several applications of optimistic rollups that you can integrate into your own decentralized apps:
Zero-knowledge rollups (ZK rollups) bundle thousands of transactions off of the main Ethereum chain and create a cryptographic proof which is known simply as validity proof, aka SNARK (succinct non-interactive argument of knowledge), which is posted to the Ethereum Mainnet.
The smart contract for a ZK rollup keeps the data of all transfers on layer 2 and the data can only be edited with validity proof. Meaning, ZK rollups only need validity proof, opposed to all the transaction data. This function decreases the cost to transact due to less data being included.
When it comes to ZK rollups, there is minimal hesitation when moving assets from layer 2 to layer 1, considering the validity proof has already been approved by the ZK rollup and has already authorized the transaction.
Advantages of ZK rollups include:
- Near-instant transfers
- Not vulnerable to the attacks that optimistic rollups may be affected by
- Still secure and decentralized
Disadvantages of ZK rollups:
- Validity proofs are extreme to compute for smaller applications with less on-chain activity
- A user can influence transaction ordering
- Some rollups don’t offer Ethereum Virtual Machine (EVM) support
As well, there are numerous applications of ZK rollups that you can integrate into your own decentralized app:
Overall, rollups are Ethereum’s solution to solve high gas fees, slow transaction times, and increase scalability.
Applications like Immutable X are being used for large-scale NFT projects like Gary Vee’s Book Games and offer consumers a cheaper and more efficient way to collect their favorite NFTs.