TL;DR
- Bedrock is an epic software update that Optimism put everything they learned. Optimism started splitting the code into three parts to become a rollup framework -- Consensus, Execution, and Proof.
- OP Stack is a rollup framework that allows anyone to plug different modules for rollup’s three parts based on the Bedrock update’s modularization.
- Superchain is a collective of chains that use OP Stack. Superchain provides a single-chain experience for users by leveraging a single set of sequencers.
Intro
Hey there! We are TiP. We build stuff that scales Ethereum.
Bedrock update is coming to Optimism, but none of our team knew Bedrock exactly. We couldn’t also find a blog that explains Bedrock exactly. Everyone is talking about block time and gas cost, but we felt it’s more than block time or gas cost.
We started to dig deeper into Bedrock and fell into the Optimism rabbit hole. It was amazing. This article takes you down the same rabbit hole we fell: the big picture of Optimism connecting Bedrock, OP Stack, and Superchain.
Me at 2 am googling OP on the bed
Bedrock
Bedrock is a) an epic software update that Optimism put everything they learned while operating the chain, and b) a gentle announcement that Optimism is not just a single rollup but also a rollup framework.
Software Update
Bedrock contains a bunch of enhancements. Here are some of the key topics -
- Theoretically optimal data submission: Rollups regularly submit data to Ethereum. Bedrock doesn’t waste a byte and gwei upon data submission, which saves the gas cost.
- Smarter sync, sequencing, and state submission: Syncing update enables Optimism to provide users stable service though L1 is shaking.
- Modularization: It enabled the preceding updates and the transition to the rollup framework.
We see modularization as the 👑 crown jewel of the Bedrock update.
Modularization
Optimism had a monolithic codebase which caused a big problem. Engineers couldn't have flexibly modified the code because the entire codebase is tangled. Therefore, Optimism decided to separate the proof system, which had the most dependencies on the system.
After Optimism initiated the modularization, amazing things happened. The new codebase was so intuitive that the community could’ve forked the code and implemented a whole new rollup, such as Minecraft rollup and Game boy rollup. Modularization ended up enabling the community to accessibly build variations of Optimism rollup and advance the rollup community at the end of the day.
As a result, the Optimism team built a bedrock for the OP Stack.
OP Stack
Source: Introducing the OP Stack (https://optimism.mirror.xyz/fLk5UGjZDiXFuvQh6R_HscMQuuY9ABYNF7PI76-qJYs)
OP Stack is a rollup framework that allows anyone to plug different modules for rollup’s three parts -- Consensus, Execution, and Settlement. It could be possible thanks to Bedrock’s modularization!
OP Stack allows you to build various kinds of chains! You can build an EVM chain that uses ZK-proof and stores data to the blob on Ethereum; or a Game Boy chain that uses fault-proof and stores data on your desktop computer. I’m not joking; it’s happening!
Optimism defined consensus, execution, and settlement as a mental model representing the rollup’s technical stack. This means you can make your new rollup by combining a consensus module, an execution module, and a settlement module, like a burrito!
The wordings are pretty hard. But don’t you worry, Anon. In short, the Consensus Layer saves, retrieves, and interprets the data; the Execution Layer executes interpreted data; and the Settlement Layer checks if everything is valid.
Consensus Layer
The Consensus Layer is responsible for storing, retrieving, and interpreting data. It contains two layers -- the Data Availability Layer and the Derivation Layer.
The Data Availability Layer is responsible for storing and retrieving the chain’s data. It’s data storage for your rollup. You can put the rollup’s data on Ethereum calldata, Ethereum blob, IPFS, or even your desktop computer.
The Derivation Layer is responsible for interpreting the data retrieved from the Data Availability Layer.
FYI, S
represents State
and DA
represents Data Availability
in the formula.
Source: Modular Rollup Theory Through the Lens of the OP Stack by Kelvin Fichter (https://youtu.be/jnVjhp41pcc?t=596)
Execution Layer
The Execution Layer is responsible for the execution. It takes interpreted data from the Consensus Layer, executes it, and generates the following status of the chain.
You can use various execution engines—for example, EVM (of course), Game Boy, and Minecraft. The sky is the limit!
Source: Modular Rollup Theory Through the Lens of the OP Stack by Kelvin Fichter (https://youtu.be/jnVjhp41pcc?t=828)
Settlement Layer
The Settlement Layer is responsible for settling the chain. The Settlement Layer checks if the data and execution are right by putting everything all together. If the Settlement Layer verifies everything is correct, then the chain is settled to the next state.
You can use various methods to build the Settlement Layer—for example, Fault Proof and Validity Proof.
Source: Modular Rollup Theory Through the Lens of the OP Stack by Kelvin Fichter (https://youtu.be/jnVjhp41pcc?t=1206)
Superchain
Source: Optimism’s OP Stack by Karl Floersch (https://youtu.be/HiU-g8XHi5s?t=1290)
Superchain is a collective of chains that uses OP Stack. From the revealed information, Superchain leverages OP Stack’s modular architecture and a single shared sequencer set, allowing a) atomic cross-chain composability between chains and b) trustless rollup maintenance.
If we dare speculate Optimism’s intention for a Superchain, we see intentions to make a rollup like a smart contract. With a smart contract, a deployer doesn’t have to maintain their own infra to run their own code. But the code frictionlessly runs on the nodes; most importantly, the code executor doesn’t have to trust the deployer.
Similarly, when there is a shared Superchain sequencers set that commit to sequence and execute rollups on behalf of the deployers, both rollup deployers and users are happy. Because deployers don’t have to maintain their infra and put efforts into deploying a rollup, and users don’t have to trust the deployer. Nothing was compromised from the initial vision of trustless computing but only scales enough to serve everyone on the internet.
Therefore, with Superchain, we get a world where builders can build a new rollup by combining modules, deploy a rollup easily like a smart contract, and don’t have to maintain a thing; users can interact easily with other rollups as if they are using single big chain (single-chain experience); the trustless execution is guaranteed because nodes are well-decentralized.
Of course, realistically, we have some to-dos to make the Superchain possible. Here are some notable to-dos for the Superchain.
- Multiple chains run on a sequencer. We call it
M:1
problem. - Multiple sequencers that run a single chain. We call it
1:N
problem. - Combining
1:N
andM:1
for theM:N
network. - A communication protocol between rollups for atomic transactions between rollups.
- Diverse modules and implementations for Consensus Layer, Execution Layer, and Settlement Layer.
Each to-do is quite a topic, but I know we can make it. We are talking about Optimism, my friends!
In conclusion
As a team commits to scaling Ethereum, Superchain is a mission that flutters our hearts. The most amazing part is that Optimism is a public good for the community’s public benefit. The entire codebase is under the MIT Licence, which allows everyone to contribute new ideas and redistribute freely.
Optimism is building days and nights for everyone’s public benefit. They are especially working harder at the moment since Bedrock is merging to test net soon. When each feature is shipped, we are getting one step closer to the Superchain.
Lastly, I would like to thank the Optimism team for building an amazing product for the community. Their positive impact is not something I’ve ever seen in my life.
Let’s stay optimistic!
All Comments