Ethereum L1 scaling roadmap
It pains me to write a post about infra at a time when a complete and utter obsession around infra and degeneracy is crippling the blockchain industry while infra remains largely underutilized, but I’ll allow myself one post in a couple of months to clear away significant misconceptions.
Vitalik’s latest roadmap is very similar to last year’s. This is the first time a year has passed with the Ethereum roadmap remaining stable, suggesting we finally have an endgame in sight with a sustainable design. Obviously, a lot of work needs to be done over the next several years, but for the first time, it feels like we know how to scale blockchains massively without compromising on important tenets like ease of verification, open-source development, and economic security & sustainability. (Side note: other blockchain projects may compromise on these, at least in the short-medium term, just saying these are historically important tenets for Bitcoin and Ethereum communities)
However, there’s one change which I feel was a mistake. The “increase L1 gas limit” was removed because Vitalik thought it was obvious that it can be raised at any time. Judging by some comments, unfortunately it has had the opposite effect - many think the current roadmap signals abandonment of scaling Ethereum L1. This is not true, has never been true, but here I’ll quickly recap why.
Over the years, Ethereum L1 has scaled with Moore’s Law, Nielsen’s Law, and improvements in client software. In July 2015, Ethereum had a gas limit of ~3M. This scaled up 5x over the next 6 years. At The Merge, the block times shortened, leading to another 10% increase. Overall, today, Ethereum L1 has 5.5x higher throughput than at launch, with 25x increase in data (EIP-2028). It’s worth noting that The Merge did increase system requirements, as will EIP-4844, which may explain a reluctance in increasing L1 gas limit. Some observations: SSDs cost half as much and are twice as fast as a couple of years ago, it’s possible to get 32 GB RAM and 2 TB SSDs in budget laptops <$500, fibre and 5G have expanded significantly, and importantly Verkle trees are now a reality.
But of course, these incremental upgrades are not enough, and we need greater scale for Ethereum L1. This is where The Verge comes into play. There are two key items that will lead to significant decreases in cost of verification
"The Verge" roadmap
1) Verkle trees & stateless clients
Verkle Trees are a new data structure to replace the Merkle Patricia Trees currently used in Ethereum. This will drastically reduces the size of proofs and enable stateless clients where nodes can verify transactions right away without needing to sync state. This alleviates by far the biggest bottleneck in Ethereum - state growth.
With it being way easier to verify transactions, L1 gas limit can now be safely increased. According to Vitalik’s The Limits to Blockchain Scalability post, this can be a ~3x increase in L1 throughput. However, that post is a bit old, and CPU, RAM and bandwidth are significantly faster now, so those bottlenecks may be hit at a higher point than 3x.
Verkle Trees are considered for inclusion in the hard fork Prague/Electra, which comes after Dencun. It’ll definitely take time for the rollout and for stateless clients to be available, but it’s looking likely Ethereum L1 will be able to scale >3x by 2025.
2) Fully SNARKed Ethereum (I’ll call it zkEthereum)
There are three components for Ethereum to become a fully validity provable chain. I’ll call it zkEthereum for the meme, purists can call it “Fully SNARKed Ethereum” or “Validity proven Ethereum”.
The first is, of course, zkEVM. Thanks to the rapid “private sector” innovation enabled by the rollup-centric roadmap, zkEVM is a reality well ahead of schedule, with at least 4 different zkEVM L2s live today. More importantly, this is a collaboration between Ethereum Foundation’s PSE and the L2 teams, and we have a full zkEVM spec for L1 available today.
Of course, the standards for L1 are much stricter as it’s securing hundreds of billions of dollars, so these zkEVM circuits need to be battle-tested. Realistically, we’re still several years away from zkEVM at the L1, or what Vitalik labels “SNARK for L1 EVM”, but the path is clear. Personally, I’d like to see an “Enshrined zkEVM bridge” first, which will let L2s plug in with the L1 zkEVM spec. This would be the best way to battle-test before upgrading L1 to zkEVM.
In addition to L1 zkEVM, we’ll also need SNARK for Verkle proofs and SNARK for the beacon chain, all combined resulting in a Fully SNARKed Ethereum, or per my meme version - zkEthereum.
Circling back to Vitalik’s Limits post, this can increase gas limits significantly - perhaps 10x-100x. Obviously, there’ll be other bottlenecks to work through, but those are relatively easy to achieve as Polygon PoS’ parallelization of EVM demonstrates.
Ethereum L1 will keep scaling alongside L2s
Ethereum L1 is scaling as fast as possible, but it’s simply a difficult and time-consuming task for a maturing public blockchain like Ethereum, where there are a dozen different client teams, all building out in the open; while at the same time burdened by securing hundreds of billions of dollars.
Ethereum L2s are here to scale today, and will achieve massive scale faster with the “The Surge” part of the roadmap - but this is relatively well understood. But also, the research into L2 tech is speeding up L1 scalability. Like I mentioned, zkEVM L2s have significantly sped up research and development to the point zkEVM on L1 will be viable years ahead of schedule.
Lastly, there’s the silly question “If Ethereum L1 can scale up 100x, why bother with L2s?”. Because any one chain is likely insufficient for the long-term global demand for blockchains. “Web2” runs on 100,000,000 servers, many of them faster than the fastest possible chain, each customized to the demands of its applications. If you believe most things should run on public blockchains (I don’t) you’ll need millions of chains interoperating in tandem. Or, if you believe that blockchains will remain a small niche (like I do), 0.01% of 100,000,000 is still 10,000 - you’re still going to need an ecosystem of chains. The only way to achieve this is through aggregating validity proofs.
For the endgame, we need to scale on all fronts and layers with validity proofs, and that’s precisely spelled out in Ethereum’s roadmap. The real beauty of it all is that even if there are hundreds or thousands of rollups doing millions of “TPS”, all of them can be verified with a single proof on your mobile phone. Wonderful,
Now, can we please go back to discussing and building applications, governance, social etc so all this scaling will actually be utilized?