Hey friends 👋
The first few times I used Ethereum, it was... messy. I didn't know what I was doing, and I ended up burning through my first $50-100 or so just failing one transaction after another.
It would be fair to say that I should have done a bit more research before diving in headfirst, but it would also be fair to say that there were some serious issues with user experience (UX) that could scare away even the most adventurous among us.
When I delved into the details of this new technology, I realized that Ethereum was still undergoing significant improvements. It was following a roadmap of major upgrades intended to address issues that were either impossible to solve at its launch or had only become apparent through real-world usage over time.
Back then, the list of upgrades (to be launched in stages) was collectively referred to as Ethereum 2.0.
Many of you who were in the space back then (early to mid 2021) may recall it as a time of both exhilaration (the crypto boom famously dubbed DeFi summer) and exasperation (battles over gas fees, incidents of wallet breaches, fraudulent schemes, and numerous other challenges).
If you're reading this, chances are you persevered because you recognized the potential of this groundbreaking technology. After all, technology is ever-evolving.
Eventually, the Ethereum roadmap was tweaked as the realization set in that some of the goals were too lofty, especially given how much value the chain was already securing. Each modification could introduce technical risks if rushed, so some goals were prioritized, and others either pushed down the road, or abandoned altogether.
The most important change to be introduced was the so-called Merge. This title was given to the engineering feat that would switch the blockchain from Proof-of-Work, the energy and capital-intensive system pioneered by Bitcoin, to Proof-of-Stake, a game-theoretical approach to securing the network that involves risking a large amount of capital if you try to harm the network.
You can learn about the differences between these two consensus mechanisms in this post I wrote in early 2022 ⬇️
The merge was delayed a few times to make sure that the code base was completely secure, and when it officially shipped on September 15th, 2022, it went smoothly. Then after a collective sigh of relief, everyone went right back to building.
The merge greatly reduced energy consumption and laid some of the groundwork for making Ethereum more scalable in the long term. However, it had very little impact on scaling transaction throughput, which is a crucial step in lowering the cost of using the network. To be fair, by the time the merge occurred, an entirely new thesis for scaling had already been adopted...
After years of exploring different scaling solutions, Ethereum researchers and developers determined that the ideal design was a technology called rollups.
Rollups perform transaction execution outside layer 1 and then the data is posted to layer 1 where consensus is reached. As transaction data is included in layer 1 blocks, this allows rollups to be secured by native Ethereum security.
There are two types of rollups with different security models:
The basic idea of rollups is that transactions can be bundled (or "rolled up") together into batches, and only the data about what has happened can be submitted to the Ethereum blockchain. Since many transactions are batched together, this approach is both less expensive and reduces congestion in the blockspace.
In his blog post, An Incompete Guide to Rollups, Ethereum co-founder and lead researcher, Vitalik Buterin, explained some of the benefits of rollups compared to other scaling solutions such as state channels. A good example of a state channel is Bitcoin's Lightning network, while Plasma serves as the basis for the Polygon PoS chain.
Plasma and channels are "full" layer 2 schemes, in that they try to move both data and computation off-chain. However, fundamental game theory issues around data availability means that it is impossible to safely do this for all applications. Plasma and channels get around this by relying on an explicit notion of owners, but this prevents them from being fully general. Rollups, on the other hand, are a "hybrid" layer 2 scheme. Rollups move computation (and state storage) off-chain, but keep some data per transaction on-chain.
He continued, with what is perhaps the most important paragraph you can read on this subject:
Putting data on-chain and having consensus on that fact allows anyone to locally process all the operations in the rollup if they wish to, allowing them to detect fraud, initiate withdrawals, or personally start producing transaction batches. The lack of data availability issues means that a malicious or offline operator can do even less harm (eg. they cannot cause a 1 week delay), opening up a much larger design space for who has the right to publish batches and making rollups vastly easier to reason about.
That’s not the easiest couple of paragraphs to parse, but here’s my reading of it:
Rollups don't require the same level of trust as other layer 2 solutions. While Plasma may need a group of validators with various technical or game-theoretical safeguards to prevent them from acting maliciously, the fact that rollups depend on data being submitted to the layer 1 allows anyone to independently verify the accuracy of the outcomes on Ethereum (although it might be costly).
Vitalik and many others argue in favour of using zero-knowledge validity proofs to batch rollup transactions via an implementation known as zk rollups. This approach offers a higher potential transaction throughput and faster time to finality, but it requires a technology called a prover which may need to be run on specialized hardware.
This technology has only recently begun to proliferate, and is still not producing cost-effective results to gain significant market share, however, most agree that long term it will play an important role in scaling Ethereum.
In the meantime, optimistic rollups, which assume correctness by default and rely on users submitting a fraud proof within a delay period (7 days) before settlement happens to the layer 1, have become widely popular.
Note: at the time of writing, permissionless fraud proof submission is not yet available on any optimistic rollup, though recently at least one has made the transition to allowing a permissioned selection of actors to submit fraud proofs.
You can keep up to date on the state of decentralization of various Layer 2s at L2 Beat
The two most popular optimistic rollups are Arbitrum and Optimism, but while the former is both technically impressive and broadly popular, the focus of this article is on the latter.
That’s because Optimism is built different, and I mean that in more ways than one.
The core team behind Optimism are Karl Floersh, Jinglan Wang, and Ben Jones, who previously worked together to develop another Ethereum scaling solution: Plasma. Together they bring years of technical expertise and a lot of big ideas about designing systems. Take, for example, governance.
Like many other L2s, Optimism has a token (OP), but unlike other L2s that token was not airdropped in a “one and done” style giveaway. Instead the token has been released in waves through a process called retroactive public goods funding (RPGF).
The idea behind RPGF is that it can help reward those contributing to building open source software or other public goods, something which is considered to be crucial to the long term success of decentralized systems.
The decision to use the OP token to fund public goods was directly influenced by the team’s time at Plasma Group where they worked to build open source software but quickly ran out of money to pay developers.
Open source is a common theme at Optimism. Their blockchain’s code is all MIT-licensed and completely forkable. In fact it has been heavily forked, especially since the release of the long awaited Bedrock Upgrade. Speaking of which, let’s discuss what makes this upgrade so interesting.
Bedrock is a major upgrade to the optimism network which introduces a number of key improvements, each designed to create the most robust, customizable, and, yes, forkable codebase possible. This open-source codebase is referred to as the OP Stack.
Inspired by the Ethereum Merge’s separation of the consensus and execution layers, and making use of the very same engine api that facilitates this, Optimism itself now separates execution and consensus. And that's not all.
The OP Stack introduces a fundamentally modular design consisting of three main layers:
Consensus, further divided into:
By separating these components from one another, this design allows for substitutions to be made within each layer. One of the most interesting benefits of this approach—which is not talked about enough—is that it supports using zk proofs for settlement instead of fault proofs, essentially creating an OP Stack zk rollup.
In fact, at every layer of the OP stack, substitutions can be made that redefine what the end product exactly is. Far from being a way to produce an army of perfectly cloned optimistic rollups, as some might assume, the OP stack can allow for easily deployed scaling solutions that may very well be neither optimistic nor rollup.
And the OP Stack does all of this while achieving near exact Ethereum equivalence. That’s right, not just EVM equivalence, but actual Ethereum equivalence including complete opcode compatibility and accurate timestamping. Even chain reorganizations accurately match L1 via to peer-to-peer gossip.
The modularization of the OP Stack is the major outcome from the Bedrock upgrade, but in bringing the code base so close to the open-source Go Ethereum (geth) codebase, Bedrock enables a number of other benefits, which become available to Optimism mainnet as well as any forks which adopt the OP Stack.
Deposits from L1 to L2 go from 10 min down to just 3
Support for EIP-1559
Optimized batch compression
Paralellized batch submission
Advanced calldata compression
Fast P2P networking, sets the stage for decentralized sequencing in a future upgrade
Cannon fault proofs (as well as other settlement systems) can be slotted into the new OP Stack architecture
Since the upgrade went live, users have experienced a notable decrease in transaction fees, as well as quicker processing times for both deposits and withdrawals. Additionally, the node syncing process has also become faster and more efficient. And one other thing users will have noticed are...
By making this modular codebase available under the MIT license for open-source, Optimism has laid the groundwork for a Cambrian explosion of forks. Together, these forks, sharing so much of the same codebase, will help to instantiate Optimism's Superchain thesis.
According to the Optimism Collective's blog post Optimism Goes Superchain,
The Superchain seeks to integrate otherwise siloed L2s into a single interoperable and composable system. [...]
In the near term, this collaboration strives to upgrade OP Mainnet, Base, and other L2s to an initial Superchain structure, with shared bridging and sequencing.
In the long term, the Superchain can blossom into a sprawling network which maximizes interoperability, shares decentralized protocols, and standardizes its core primitives–all while funding the public goods which enable it.
That post coincided with the introduction of Base, a new layer 2 network incubated by Coinbase and built on top of the OP Stack (of course).
Since that day, a whole swath of new OP Stack chains have either gone live or have had their testnets announced. These include, but are not limited to ZORA NETWORK, Public Goods Network (PGN), and Debank Chain. However Base remains the poster child for the Superchain model because of the specific commitments they've made to return value to the ecosystem.
From the moment Base was announced, it was clear that this was not going to be a vampire attack scenario. Firstly, because Coinbase, as a publicly traded company bound by strict securities laws, wanted to make it clear that there is no token. And, who knows? It may be that simple fact that led them to decide to go all in on building a public good. And build they shall.
In the announcement, we learned that Coinbase will be joining OP Labs as core developers of the OP Stack codebase. Furthermore, "Base will commit a portion of transaction fee revenue back to an Optimism Collective treasury, furthering the vision for a sustainable future where Impact = Profit."
There was some confusion about what exactly was meant by "a portion" but that was cleared up in the post Welcoming Base:
Transaction proceeds from Base will be split and directed to the Collective through an onchain contract. Specifically, the greater of (a) 2.5% of Base's total sequencer revenue, or (b) 15% of Base’s net onchain sequencer revenue (L2 transaction revenue minus L1 data submission costs) will go to the Collective.
In return, Optimism will be providing a token grant to Base:
To solidify our long-term alliance, the Optimism Foundation has provided Base the opportunity to earn up to approximately 118 million OP tokens over the next six years. To maintain balance, there's a cap on Base using this grant to vote or delegate more than 9% of the votable supply. This grant is meant to retroactively reward Base’s contributions thus far to scaling Ethereum and the OP Stack, ensure Base’s long term alignment and commitment to the ecosystem, and critically, give Base a meaningful voice in the system of Optimism Governance, to which they’ve entrusted the future of their chain.
After all, OP tokens play a key role in the governance of the Optimism Collective, so it makes sense for Base to hold some of that governance power as core developers.
Now all of these public statements are taken in good faith with the understanding that things may change. However, the teams at Base and Optimism have been working together, alongside others from the community to develop a codified set of guidelines by which participants agree to operate.
In the blog post Introducing the Law of Chains, Optimism explained the need for a framework to unify OP Stack Chains:
To realize the Superchain, we need to move from OP Stack chains as independent and disparate blockspace, to a unified collective of chains that uphold a shared commitment to open, decentralized blockspace. We need a world where problems only have to be solved once, improvements benefit everyone, and users aren’t overwhelmed.
While this post served more as but a rough outline for what might become the so-called Law of Chains, it linked to a discussion on Optimism's governance forum with a detailed outline of version 0.1 of the proposed guidelines.
Throughout the blog post and the governance forum post, readers are reminded that this is not a legal framework, but rather "guidance intended to be enforced socially by Optimism Governance"
This limitation of power and freedom to opt in/out is a feature, not a bug; something Optimism noted in Introducing the Law of Chains:
As an MIT-licensed public good, it is your right to use the OP Stack however you see fit. The Law of Chains will only apply to OP Chains that opt-in to become part of the Superchain, providing a value proposition for those who want to play the positive sum game.
However, as we've seen since the early days of Ethereum, social consensus is a big part of what makes systems work. And Optimism has shown us that through the combination of building public goods and rewarding builders (with what is both financial reward and collective ownership rights of the public good being built) we can ensure positive sum games are possible.
And if you ask me, that's reason enough to be Optimistic.
Until next time,
If you enjoyed this blog post, consider collecting a copy. It's like tipping and receiving a unique digital collectible as a receipt.
And for the cypherpunks, I accept anonymous tips with Zcash to my shielded address: