Author: Benjamin Simon
June 1, 20211
Let’s begin with a metaphor.
Imagine that we are back in middle school math class. Our teacher, cruel as only middle school math teachers can be, hands us a list of one hundred long division problems, each with very large numbers. The assignment, we are told, is to solve as many problems as possible. But there is a catch. We must write both the final solutions and every computational step on a single piece of paper. Just minutes in, and with a sinking feeling in our stomachs, we come to grips with the sheer absurdity of the task. It’s simply impossible to squeeze more than a handful of fully worked-out solutions onto the page.
What does this Kafkaesque story have to do with rollups?
In the metaphor, the sheet of paper is an Ethereum block and the math problems are smart contract transactions. Ethereum is currently extremely congested. There are far too many transactions that need to be included in each block. To make matters worse, the majority of these transactions are computationally intensive, such as flash loans or trades routed through aggregators. We’ve left the bygone, pre-DeFi era of simple transfers and payments.
And here’s the crux of the issue. Just as the metaphorical math teacher requires us to stuff each painstaking line of long division onto that one sheet of paper, so too must Ethereum process and record each line of computation for every single transaction.
Rollups move computation offchain, while storing only the bare minimum of transaction data onchain. They are, in this basic sense, Ethereum’s scratch paper. Rollups handle all of the messy data processing, allowing exponentially more smart contract transactions to be batched (“rolled up”) within a single Ethereum block.
This metaphor helps to paint a picture of the problem that rollups aim to solve (“network congestion due to computational overload”). It even provides us with a vague idea of what the rollup solution entails (“move computation offchain”). But as for how rollups actually work, what they look like, and why they make people like me so excited—we need to dig in.
What is a rollup?
A rollup is essentially a separate blockchain, but with a couple of modifications. Like Ethereum, a rollup protocol has a “virtual machine” that executes smart contract code. The rollup’s virtual machine operates independently from Ethereum’s own virtual machine (the “EVM”), but it is managed by an Ethereum smart contract. This connection allows rollups and Ethereum to communicate. A rollup executes transactions and processes data, and Ethereum receives and stores the results.2
On a technical level, the crucial difference between a rollup chain and other more conventional blockchains is the way in which new blocks are produced.
Normally, a blockchain is maintained by a distributed network of parties (“miners” or “validators,” depending on the kind of chain). These parties produce blocks jointly via consensus. In simple terms, the parties vote on how to process a set of transactions—or in other words, how to construct the next block. The block with majority support is the one that is written permanently onto the chain.
By contrast, a rollup chain does not operate via majority rule. Instead, a single party monitoring the state of the rollup can send what’s called an “assertion” back to Ethereum about how the transactions ought to be processed. Importantly, Ethereum will accept or reject this assertion independently of whether a majority of the other rollup parties support this assertion.3 In practice, what this usually means is that a single party on the rollup is designated the task of processing transactions and producing blocks.4
Wait…rollups are centralized?
The centralized nature of rollup block production is part of what makes it possible for rollups to process transactions so efficiently. But it also raises an obvious and concerning question: Without majority consensus, how does a rollup ensure that block production is correct—what happens if the block producer happens to be malicious?
This centralization is confusing to crypto users who are accustomed to consensus-based blockchains. Indeed, if the story ended here, we might be tempted to conclude (mistakenly) that rollups are just “databases replicated by single parties,” as Avalanche co-founder Kevin Seqniqi recently tweeted.
In reality, as we will see, the allegation of centralization is not so much wrong as it is logically misguided. Normally it is true that centralized blockchains without robust consensus mechanisms are vulnerable to corruption and hostile takeovers. In the unique case of rollups, however, the lack of decentralization is not actually a problem for their security and integrity.5 To understand why this is the case, we need to dig a bit deeper.
The importance of data availability
Recall the unfortunate math assignment with which we began. Scratch paper for computation was our saving grace, as it allowed us to write only the problems and their solutions on the main sheet. Comparing rollups to scratch paper, we said that they “move smart contract computation offchain, while storing only the bare minimum of transaction data onchain.”
In fact, this last part—the storage of onchain transaction data—is crucial to how rollups work. In a rollup, only the computation, the data processing, lives offchain. Every single transaction that a rollup processes still stores its input data (formally known as “calldata”) on Ethereum.
What is the importance of keeping transaction data onchain? In the math assignment metaphor, the final sheet of paper that we hand in to the teacher includes both the long division problems and their solutions. This allows our teacher to check our work after the fact, even though we didn’t include the individual computational steps. Similarly, the persistent availability of data onchain means that any computation on a rollup can be repeated by the Ethereum base layer.
In short, rollups’ onchain data availability allows for a built-in review process. Ethereum can “double-check” the integrity of transactions processed on the rollup chain before writing them permanently into the ledger—almost like the US Supreme Court’s power of judicial review.6
Limitation as a strength
The key quality of rollups, then, is their limited nature. Rollups only push transactions to the base layer; they cannot force acceptance, since Ethereum can overturn any rollup transaction if necessary. Because they are subject to this review process, rollup transactions are said to lack true finality.
With the limited nature of rollups in mind, we can return to the unresolved allegation of centralization. A rollup’s individual block producer could attempt to process transactions maliciously. But if it does, Ethereum will simply reject the batch after the review process is complete, and the block producer will be penalized.7
Now, how exactly the “review process” works depends on whether the rollup is Optimistic or Zero Knowledge (more on that here). But for both, the review process is exponentially more efficient than having Ethereum process transactions on its own without a rollup.
In sum, the rollup system is based upon “checks and balances” which ensure that Ethereum remains the sovereign chain; Ethereum’s own consensus is the final arbiter of truth. Importantly, though, the same cannot be said of sidechains. Lacking the same kind of review process, sidechains process transactions through their own, entirely-independent consensus mechanism. Sidechain transactions are “final” in a way that rollup transactions aren’t (until they are confirmed on Ethereum). Sidechains thus require significantly greater trust assumptions, since they do not benefit from Ethereum’s own decentralized security. In fact, I would argue that sidechains are more akin to EVM-compatible layer 1s than they are to rollups.
To summarize at a high level: Rollups move computation offchain to free up more space onchain. Onchain data availability is crucial, since it allows Ethereum to double check the integrity of rollup transactions. This review process, in turn, serves as a “check” on rollup block production, obviating the need for a consensus mechanism.
Rollups ultimately allow Ethereum to have its cake and eat it too: they free up exponentially more capacity onchain without undermining the network’s decentralized security. This, to my mind at least, is about as elegant of a scaling solution as we could have hoped for.
Thank you to t11s and Hasu for their thoughtful comments and advice.
- Note: I recently began a series on rollups in Deribit Insights, the first installment of which explores some of the differences between Zero Knowledge and Optimistic Rollups. A number of readers have asked me whether there is a non-technical introduction to rollups that I would recommend, since my piece assumes a baseline knowledge of the subject. In fact, there are a number of helpful overviews (see here, here, and here). But I haven’t found a comprehensive introduction for beginners that avoids technical jargon (at least to the extent possible). The following primer aims to fill that gap.
- As an aside, this connection is maintained onchain by something called a “state root,” which keeps track of the rollup’s internal state—account balances, transactions, code, etc. See Vitalik’s introduction for further detail.
- In fact, in an Optimistic Rollup, a transaction can be processed (correctly!) by one party even if all the other network participants disagree. This is the “one of n” honest participant assumption of Optimistic Rollups, which I explore in more depth in the section titled “Security Considerations,” in this Deribit article.
- The block producer role has different requirements in an Optimistic vs. Zero Knowledge rollup. For more on this, see the same section (“Security Considerations”) in the Deribit article.
- Haseeb Qureshi’s thought-provoking piece on decentralization is helpful here. Qureshi’s thesis is that decentralization is not intrinsically valuable, and, conversely, that centralization is not inherently bad. While Qureshi doesn’t discuss rollups in the article, his argument is still highly relevant.
- In Marbury v. Madison (1803), the Marshall court ruled that the Supreme Court has the power to overturn Congressional legislation that it deems unconstitutional, effectively giving the judicial branch the final say on all legislative matters.
- In fact, the block producer in a ZK Rollups cryptographically barred from processing transactions fraudulently, since the Zero Knowledge proof of the transaction would itself be invalid.