🎞️ Optimistic Rollup — Issue No. 69
/📰News
Earlier this month, during the Devcon conference, the folks at Plasma Group teamed up with the developers of the Uniswap Exchange to run a demonstration they called the "Unipig Exchange". The facetiously named demo featured a version of Uniswap's smart contract based decentralized exchange running on top of a layer 2 network built with so-called Optimistic Rollups. Over the course of the event, the exchange processed 2,500 transactions as users traded valueless Unicorn tokens for equally valueless Pig tokens. Link.What exactly is an Optimistic Rollup? It's a layer 2 scaling solution that is significantly simpler than others, such as Plasma or Lightning. To achieve this simplicity, it sacrifices on scalability, but could still enable 100x greater throughput compared to the base Ethereum network. Here's the compressed version how how it works: Optimistic Rollup relies on Aggegators to accumulate transactions from users. Anyone can become an aggregator by placing a deposit in a smart contract on the main Ethereum chain. Aggregators process user transactions, and return promises to include those transactions in "rollup blocks", which are published in a smart contract on the main chain. Anyone can challenge new rollup blocks if the Aggregator fails to include a transaction or posts an invalid one. This writeup by Plasma Group team member Karl Floersch is a comprehensive but approachable intro to the technology. Link.
The ideas that enable Optimistic Rollups have been floating around for years, but the most immediate inspiration for the design came from a September 2018 post on the Eth Research message boards by Vitalik Buterin. In the post, Vitalik laid out the idea for a so-called "ZK-Rollup" construction, which relies on a zero-knowledge cryptographic proof to ensure Aggregators aren't lying. The issue with this approach is that generating zero-knowledge proofs for smart contract state transitions is prohibitively computationally intensive, at least for now. By replacing the proof with a deposit and slashing system, Optimistic Rollup makes this scaling approach feasible with technology available today. Link.
Just two weeks ago, in issue number 67 of this newsletter, I wrote about the limitations of layer 2, on both Bitcoin and Ethereum. In that same edition, I linked to a post by Vitalik Buterin discussing hybrid layer 2 solutions, which mentioned ZK-Rollup and Optimistic Rollup. In that newsletter, I wrote:
Part of the reason Lightning is complex is because Bitcoin is simple. At the base layer, Bitcoin lacks the expressivity that might make layer 2 solutions easier to build. Yet even on Ethereum, which has rich statefulness and Turing complete smart contracts, successful layer 2 solutions have been elusive. These things are hard to build.
Having now seen a demo of Optimistic Rollup (ORU) in the wild, and having learned much more about how it works this week, I may have to eat my words. A workable layer 2 solution may be coming to Ethereum sooner than we think. Here's why.
First, Optimistic Rollup is (relatively) simple. I was able to understand how ORU works quickly. After a few articles and a good Twitter thread or two, I've mostly gotten my head around them. That's a stark contrast to many other proposed layer 2 systems, which are overwhelmingly complex. Things that are hard to understand are also hard to build.
Second, everything needed to make Optimistic Rollups work exists today. There's no handwaving away problems with future technical breakthroughs, like "once we figure out how to solve this intractable routing problem", or "once we make zero knowledge proofs efficient for arbitrary state transitions". This, too, differentiates ORU from virtually all other layer 2 solutions.
I'm not saying ORU is a silver bullet. It's not. Thats part of why it just might work. By accepting an upper limit of hundreds of transactions per second, instead of hundreds of thousands, Optimistic Rollup trades complexity for feasibility. The programability and statefulness of Ethereum's base layer makes this possible.
It would not surprise me if we saw the mainnet launch of an Optimistic Rollup chain on Ethereum sometime in 2020. This could take the pressure off of the chain, which has been operating at near capacity for some time, and also enable "lower value" use cases like micro transactions and small games. A few hundred transactions per second won't enable global domination. Still, it would represent a huge improvement. For the first time in long time, Optimistic Rollup has me, well....optimistic about layer 2.