A Brief History of Ethereum Scaling

This article is published as part of the Ethereum.org Writers Cohort.

This piece may contain factual and other errors that I’m simply not aware of. I’m just a curious amateur learning about blockchain and writing along the way. Take everything written here with a grain of salt and do your own research.

Also, none of this is financial advice.


Rollups are all the rage when it comes to scaling Ethereum. However, there have been many attempts over the years to come up with different scaling methods to finally bring Ethereum to the masses.

Let’s see, in rough chronological order, how the Ethereum scaling game has evolved since its inception in 2015.

Self-explanatory.
Self-explanatory.

State channels

State channels are one of the earliest (circa 2015) blockchain layer 2 (L2) scaling methods. Here’s how they work.

Say John and Gaby want to transfer funds to each other for as cheap as possible. What they can do is establish a channel by creating a smart contract on a blockchain like Ethereum and locking their funds in it. They then conduct multiple offchain transactions, updating the channel state. When John and Gaby want to settle, they submit the final state to the blockchain for validation and distribution of funds.

By making most of the transactions offchain and only posting two of them onchain (the first and the last one), John and Gaby transact faster, save on fees, and preserve their privacy.

State channels simplified. Source: web3.university.
State channels simplified. Source: web3.university.

There have been many projects that tried to scale Ethereum with state channels, including Connext and Celer. However, there are multiple drawbacks linked to state channels. For example, state channels usually require a large amount of capital to be locked up by participants. This creates liquidity issues for participants and limits access only to those who can afford it.

On top of that, honest participants can be exposed to “griefing attacks” — a form of malicious behavior where dishonest participants flood honest participants with invalid states, forcing them to resubmit valid states onchain at a cost. These attacks don't benefit the dishonest participants but cause grief for the honest participants, hence the name. Sounds weird but this is how it works.

For these and other reasons, Ethereum largely decided to move away from state channels as a scaling solution. Plasma came next.

No, not this plasma. Source: wired.com.
No, not this plasma. Source: wired.com.

Plasma

It wasn’t too long before the Ethereum community had come up with another scaling method. That scaling method is called Plasma.

Proposed by Vitalik Buterin and Joseph Poon in 2017, Plasma introduced “child chains“ that operate alongside Ethereum mainnet. These child chains, or Plasma chains, periodically submit aggregated data to Ethereum mainnet, thus reducing costs and increasing throughput.

Plasma works similarly to sidechains, another niche Ethereum scaling method. However, as Vitalik points out, Plasma chains are sidechains that have a “non-custodial property.” This means that if there’s a suspicious transaction on a Plasma chain, that transaction can be detected, a fraud proof submitted, and users can exit the chain without losing their funds. Regular sidechains don’t have this property.

Plasma explained. Source: nirolution.com.
Plasma explained. Source: nirolution.com.

Plasma promised infinite scalability but quickly fell out of fashion due to a variety of reasons like data unavailability, mass exit problem, and inability to support smart contract execution.

Then, rollups came to the rescue.

A good boy. Source: wagwalking.com.
A good boy. Source: wagwalking.com.

Rollups

Rollups are the dominant player in the current Ethereum scaling game. They work similarly to state channels and Plasma in that they also take transactions offchain. However, there are many differences between them.

The main difference lies in that state channels and Plasma, as Vitalik says, are considered “full” L2 schemes, meaning they move both data and computation offchain. Rollups, on the other hand, are “hybrid” L2s and move “computation (and state storage) offchain, but keep some data per transaction onchain.” (Also see validium.)

How Taiko's ZK-rollup works. Source: taiko.mirror.xyz.
How Taiko's ZK-rollup works. Source: taiko.mirror.xyz.

There are two main types of rollups: Optimistic rollups and zero-knowledge rollups. Both of them derive security from Ethereum L1 but the main difference between the two is that optimistic rollups use fraud proofs and zero-knowledge rollups use zero-knowledge proofs (or validity proofs).

Then there are application-specific and general-purpose rollups. Application-specific rollups are built for, you guessed it, specific applications. For example, Loopring is an application-specific rollup that has built a decentralized exchange on top of its own ZK-rollup.

Application-specific rollups have fallen out of fashion lately. However, there’s a good chance they’ll come back as L3s once general-purpose rollups get more established.

General-purpose rollups like ZK-EVMs differ from application-specific rollups in that they aim to fully support the Ethereum Virtual Machine (EVM). For example, for developers, that means that they can deploy (or build from the ground up) their dapps on general-purpose rolllups with no (see Taiko) or some code changes (see Scroll).

Different types of ZK-EVMs. Source: vitalik.ca.
Different types of ZK-EVMs. Source: vitalik.ca.

Here’s Vitalik’s post on the different types of ZK-EVMs.

Both optimistic and ZK-rollups tremendously increase throughput and lower fees by batching multiple transactions, executing them offchain, and generating a proof to Ethereum mainnet attesting to the validity of the execution. However, contrary to popular belief, neither optimistic rollups nor ZK-rollups have anything to do with privacy.

Ethereum adopted a rollup-centric roadmap in 2020. Since then, multiple teams have launched their rollup solutions, and they’ve skyrocketed in popularity.

Cummulative  TVL of all rollups. Source: l2beat.com.
Cummulative TVL of all rollups. Source: l2beat.com.

According to L2beat, rollups currently have $8.76 billion in total value locked (TVL). Most of the value sits on optimistic rollups Arbitrum and Optimism, and ZK-EVMs zkSync Era and Polygon ZK-EVM. Taiko, Scroll, Linea, and others are still working to release their ZK-EVMs on mainnet.

Now, a word on sharding.

Actual ceramic shards. Source: bristolmuseums.org.uk.
Actual ceramic shards. Source: bristolmuseums.org.uk.

Sharding

I’ve left sharding last because, as far as I understand, it’s the only viable way of scaling Ethereum L1. Let’s take a closer look at how it works.

Sharding is a way of making a database like Ethereum more accessible by partitioning it into several separate little datasets, or “shards”. Instead of having one heavy and inefficient blockchain burdened with holding mountains of data, we can divide it into, say, a hundred smaller parts, each being responsible for its own data.

These shards all communicate with each other and connect to Ethereum. This allows for higher throughput and lower costs because validators no longer need to keep track of all Ethereum and instead just take care of their own little shards and transactions are executed in parallel.

For the longest time, sharding in its various forms was on the Ethereum roadmap as the main solution to scale Ethereum L1. However, with the rapid growth of rollup technology, sharding as a scaling solution for Ethereum L1 has been abandoned.

Instead, a different design of traditional sharding called danksharding — designed specifically to help rollups scale — is being developed by the Ethereum community.

Danksharding explained. Source: notes.ethereum.org/@vbuterin.
Danksharding explained. Source: notes.ethereum.org/@vbuterin.

In essence, danksharding differs from traditional sharding in that instead of “providing more space for transactions, it provides more space for blobs of data, which the Ethereum protocol itself does not attempt to interpret.” This data space is left for rollups to facilitate hundreds of thousands of transactions per second.

In full danksharding, there will be 128 or more blobs attached to each block. However, Ethereum will first implement proto-danksharding, also known as EIP-4844, which will have up to 4 blobs per block.

All this means that post EIP-4844 and the eventual full danksharding, rollup-powered Ethereum will be able to process millions of transactions per second. This is likely to take years to implement but it’s a path definitely worth taking.

Parting thoughts

In less than a decade, Ethereum has proven that it’s possible, at least in theory, to solve the blockchain trilemma and actually scale blockchains.

While there’s still a lot left to be done, scaling solutions like Arbitrum already have a working product that allows users to experience Ethereum for a fraction of the cost.

And yes, Arbitrum and other rollups aren’t perfect yet. But if innovation continues as fast as it has in the past few years, we’ll soon live in a world where transacting on Ethereum day-to-day is the norm, not the exception.

Further reading

Subscribe to umede
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.