Transaction fees on Ethereum have grown to the point where dapps, left and right, are becoming unusable. How can someone send $5 to a friend, or test an app, or withdraw interest earnings, when the transaction fee is $10, $25, $100, even $300 in some cases?
It is indisputable that DeFi has awoken Ethereum from a two year-long hibernation, however, the scalability problem that everyone — familiar and unfamiliar with the technology — has been talking about can no longer be ignored.
Although the transition to Eth2 has already commenced, sharding, which will help with network congestion, is yet to be implemented. The roadmap states that it is expected to arrive some time in 2021, but based on the numerous delays of the launch of the Beacon Chain, it is reasonable to assume that sharding will not be deployed this year.
But there’s light in the tunnel: rollups. Rollups are a layer-2 solution which have the sole purpose of solving Ethereum’s scalability problem. In a nutshell, rollups are smart contracts that create a semi-independent ecosystem within Ethereum itself. This ecosystem, through the use of, as Vitalik put it, “fancy compression tricks to replace data with computation wherever possible”, manages to lower transaction fees therein to negligible amounts.
Here’s an example. Let’s say that I am sick of the transaction fees on Uniswap — I’m sick of paying $20 for an approval transaction; I’m sick of paying $30 to withdraw $50; and I’m sick of having to sit two weeks in a pool just to break even. I’m a small-time trader who wants to move capital abruptly, to react to market conditions and increase revenue. I start to look around for solutions to the transaction fee problem. Some suggest trading on weekends, others suggest growing a pair. Helpful advice. Still, by sheer Googling, I learn of proposed layer-2 solutions, and rollups. I find one that has already been extensively tested and has been deployed to the mainnet. Moreover, I find that they have liquidity pools, not unlike Uniswap or SushiSwap, and that they even have a liquidity mining program — rewards being paid in some token with an apt name, description, and abbreviation. So I decide to give it a go. I send 1 ETH to the rollup’s smart contract — a small leap of faith to test the waters. The transaction is confirmed and I am now part of the small ecosystem of the rollup. So far so good. I go to the Swap page to exchange 50% of my ETH for DAI so I can join the DAI-ETH pool. To my amazement, the transaction fee is two cents, and I’m left sodden with tears when the transaction goes through immediately. The APY is a respectable 97% due to the lack of popularity of the rollup, and rollups in general (yet). The realization that I won’t have to wait two weeks just to break even on my transaction fees hits hard. What a great feeling. Is this what it was like before? I can’t remember.
However far fetched this example might seem to some, it is already a reality. Rollups such as Loopring have already created their own version of Uniswap on layer-2, and projects such as zkSync are helping existing DeFi protocols transform into rollups.
SushiSwap have already announced that they are leaning towards zkSync, and are following their development closely, though nothing has been promised yet. Uniswap have not announced anything regarding a layer-2 migration, but it is a popular opinion that it will come with the third version of the exchange. Bancor’s team is working with Offchain Labs on migrating Bancor’s contracts to the Arbitrum Rollup, when its mainnet is launched, with a testnet demo of the exchange already live; Offchain Labs has implemented the entire Uniswap exchange on their Arbitrum Rollup (on a testnet), showing the viability of the process.
In terms of raw numbers, rollups are expected to increase Ethereum’s current 45 transactions-per-second capability at least one hundred fold (in the short term), or as Vitalik elaborated:
“On the existing Ethereum chain, the gas limit is 12.5 million, and each byte of data in a transaction costs 16 gas. This means that if a block contains nothing but a single batch (we’ll say a ZK rollup is used, spending 500k gas on proof verification), that batch can have (12 million / 16) = 750,000 bytes of data … a rollup for ETH transfers requires only 12 bytes per user operation, meaning that the batch can contain up to 62,500 transactions. At an average block time of 13 seconds, this translates to ~4807 TPS (compared to 12.5 million / 21000 / 13 ~= 45 TPS for ETH transfers directly on Ethereum itself).”
A comprehensive breakdown, as well as a technical scrutiny of rollups can be found in this blog post by Vitalik, out of which the above quote is taken. I recommend reading it if you are not familiar with rollups, or the Ethereum layer-2 landscape in general — it provides a great overview.
My goal with this article was not to provide a technical explanation of rollups, but to merely popularize the term and depict the solution with a simple example. I reckon rollups will become an integral part of the Ethereum ecosystem by the end of the year, therefore I find it imperative that everyone involved is familiar with the concept. Familiarity is the precursor of adoption.
To answer the question posed by this article: Ethereum transaction fees will normalize, in the general sense of the word, when DeFi platforms begin migrating to rollups en masse. When Uniswap, SushiSwap, Bancor, Curve, Aave, and all others are integrated to work with a rollup, will we once again think that 15 gwei is too much. What each of us can do, as involved members of the communities of these projects, is to push them towards the implementation of a layer-2 solution.