Anoma <3 Celestia: Intent-centric rollups

Modular blockchain basics

For additional context to the former post, here we append additional notes which may assist the reader in forming a stronger understanding of the modular blockchain concepts and values.

Notes form Mustafa Al-Bassam’s presentation Modular State of the Union at the 2023 Modular Summit in Paris. The presentation does a great job of explaining the concepts of modular blockchains, the features of the modular stack, and the values of modularism not maximalism.

The monolithic era (2008-2020)

When Bitcoin whitepaper came out in 2008 it introduced a model of blockchains which stuck around for the next decade.

  • a model where the blockchain couples consensus with execution.
  • a model where every user has to execute every transaction of every other user
  • a model that limits flexibility because you’re enshrining a specific execution environment

In 2019 Mustafa Al-Bassam introduced the Lazy Ledger whitepaper. Lazy ledger was a simple blockchain that only does consensus and data availability. In that model, you have a very rollup centric model where you have a data and consensus layer only responsible for consensus. You have an execution layer which could be a rollup which posts its blocks to the data layer and inherits consensus and security from the data layer. This resulted in a modular blockchain ecosystem where consensus and execution are no longer coupled.

Defining the modular stack

Key Terms

  • Consensus Layer - provides an ordering over arbitrary messages.
  • Data availability layer - a verifiable way to publish the ordered messages.
  • Execution layer - does computation over transactions to output a “state”.
  • Settlement layer - an execution layer that bridges other execution layers together.

Developers input messages or transactions into the system, and the consensus layer simply decides what the order of those messages are. Once those messages have been ordered, users need a way to verify that they have actually been published to the network. Because what can happen is that a validator can execute a data withholding attack where they only publish the metadata of the block header but they don’t actually publish the data. In that attack, no one will know what the actual ordered messages are. No one will know what the state of the chain is and be to generate fraud proofs or progress the chain.

If you go back to the Bitcoin whitepaper, the proposed solution to the double spend problem was the idea of a timestamp server (the word “blockchain” does not appear in the Bitcoin whitepaper).

The solution we propose begins with a timestamp server. A timestamp server works by taking a hash of a block of items to be timestamped and widely publishing the hash, such as in a newspaper or Usenet post [2-5]. THe timestamp proves that the data must have existed at the time, obviously, in order to get into the hash. Each timestamp reinforcing the ones before it.

The core thing that a blockchain provides is ordered data that is made available and time-stamped. If you have this basic primitive, which is a timestamp server, which is basically a consensus and data layer, then you can almost build anything on top of it using any kind of execution environment.

If you understand DA and consensus are the core primitives of blockchain, we figured out scalable ways to scale that using a primitive called data availability sampling. With DAS you have over a 99% guarantee that almost all the data is available by only downloading a minimal portion of the data, less than 1%. With this primitive, that basically means we don’t have to live in a world anymore where every user must download all transactions. Now you can scale blockchains more directly and in a more practical way.

The Execution Layer sits above the data and consensus layers. What it does is take a bunch of transactions and outputs a state. For example, those transactions could be payments and the state is what people’s account balance is. That is what a rollup does. It provides an execution environment to process transactions and create a state commitment to what people’s balances are.

In the modular blockchain model, the consensus and execution layers are decoupled.

Finally, you have a settlement layer. The settlement layer is a special case of an execution layer, which is used to bridge other rollups or execution layers together. For example, if you look at Ethereum as an execution layer, you have onchain light nodes for rollups on Ethereum which act as bridges between rollups and Ethereum. You can bridge assets between them. The onchain light client accepts block headers from the rollup and verifies validity proofs or fraud proofs.

What is a modular Blockchain?

A modular blockchain is a blockchain which fully outsources at least one of the four components of a blockchain;

  • Consensus,
  • DA,
  • Settlement, or
  • Execution

What are the benefits of modularity?

The first reason is scalability. Users don’t have to execute the transaction of every other user. Rollups have dedicated computation resources. If you spin up a rollup, the rollup has its own computational resources. Even if a rollup gets congested or has high computational requirements, that won’t affect every other rollup in the system. Data availability sampling makes it such that the more light nodes you have, the more secure block space you can have because the more light nodes that are sampling, the more data they can collectively reconstruct. Hence, the bigger the block size you can have. In a system that has DAS, the light nodes are collectively storing and making all data available, instead of one or a few nodes.

It’s important to note that ordering is still done in one logical location - the base layer (Celestia) - and there are physical limits to this.

The second reason is you give develops choice. With Ethereum, you are limited by the EVM. In the past few years, there have been many new developments and advancements in more efficient or practical execution environments for different use cases; for scale or other reasons. It’s not practical to deploy a new layer one to make a modification to an execution environment. With the modular blockchain stack, you can modify the EVM for example, with one new opcode and launch a rollup instead of deploying a new layer one from scratch.

There are different types of rollups for use cases; sovereign rollups, settled rollups, validiums, and celestiums (blobstream). Specifically sovereign rollups are an interesting case of rollups that effectively give the community of that rollup, the freedom to fork that rollup. You basically get the freedom of the layer one without the overhead of the layer one, without needing to create a new consensus network or token from scratch.

The ultimate goal is that deploying your decentralized application, as a rollup, should be easier than deploying a new smart contract.

Open Problems

  • Better UX for bridging - today, users need multiple fee tokens to bridge across chains.
  • Payment systems for resources across layers - how rollups charges users for DA layer resources. For example, you might have a rollup that needs to pay the DA layer or settlement layer. There must be a way to do token exchanges easily for developers without them having to maintain wallet infrastructure.
  • Too many choices - hard for new developers to understand the tradeoffs. Must do a better job at educating developers.
  • Maintaining dependencies across the stack - need common interfaces. These dependencies can be difficult to maintain if there is a breaking change. Is there a way to have better dependency management across the stack, so things are less likely to break when improvements are made.
  • Better proving systems - fraud proving systems are underdeveloped. ZK proving systems are still slow and must be faster.
  • Better Privacy - we should try to enshrine privacy into execution environments.

Anoma shoutout

The Destination

Let’s discuss some of the values of modularism and what we are trying to achieve with the modular blockchain stack. First, users should be first class citizens of the network. This is an ideal in crypto and Web 3 that seems to have been forgotten over the last ten years. The whole point of blockchains is that you don’t have to trust middlemen, and that includes validators and minors. You shouldn’t have to trust centralized RPC endpoints and APIs because that’s just web 2 all over again. One thing to appreciate about Bitcoin is that it has good light client support. You can install a light client on your phone which connects directly to the Bitcoin network and retrieve data without using centralized API endpoints. We need to go back to this ideal. This is why data availability light clients are important, they allow users to get back to the roots of web 3 by not needing to rely on centralized middlemen endpoints which are prone to censorship and corruption.

Modularism and not maximalism is an important ideal. Over the past decade we have been stuck in this endless cycle of new layer one chains every single bull run. We must escape the L1 cycle. This is not sustainable Its just creating an endless cycle of new tribes and ecosystems that are not collaborating with each other. It is a very zero sum mindset that needs to be replaced with a positive sum mindset, where incremental improvements can impact everyone that uses crypto. We can replace the zero sum mindset with a positive sum mindset by adopting a modular ecosystem. Its not sustainable to have a constant grave yard of new layer ones that are sucking up a lot of funding, extract value and fail to get traction. Crypto will never mature with this endless cycle. We must escape this endless cycle asap to have a more positive some crypto ecosystem that develops into worldwide mainstream developer adoption.

Sovereignty: the freedom to fork

Communities have an inalienable right to thrive through self-organization and collective action, unburdened by the status quo.

Communities have the choice to be sovereign if they’d like to. Crypto allows a specific group of people with a specific shared goal to thrive through self-organization and collective action that by creating a contract with each other. For the first time, this contract does not need to be enforced by real-world law, but rather can be enforced by cryptography on the p2p network. Previously, if you wanted to create a shared agreement, you would need to do it in a specific jurisdiction, but with blockchains you can bypass all of that and have a direct top-level social contract. This gives the community the freedom to fork if they decide they want to change the protocol rules.

Values of blockchain modularism

  • Users are first class citizens of the network; by focusing on light nodes and allowing people to run light nodes
  • Modularism, not maximalism; it’s important we escape the L1 monolithic loop or crypto will never mature
  • Communities can choose to be sovereign; they have the right to fork is they want to.