Modular Blockchain Protocols
An article on modular blockchains and their counterparts
Modular Protocols vs Modular Software
Before we start digging deeper into modular app-specific blockchains, it’s important to first make a distinction between modular protocols, and modular software.
Let’s first make a distinction, a blockchain created by using modular software will not be a modular blockchain protocol. Since a blockchain built using modular software might still do consensus, data availability and execution all on its own. Thus making it monolithic, despite being built with modular software.
An example of this type of chain, built with modular software is chains built with Cosmos SDK/Tendermint (Cosmos, Osmosis etc), which while being app-specific aren't modular. Another example is the AVAX C-Chain since it handles all three layers by itself.
Now, what creates the distinction and makes it a modular protocol and not a monolithic protocol built with modular software?
It’s quite simple, in the case of Celestia you have a modular protocol since it only handles data availability (DA). Celestia is designed so that the execution and settlement layers can latch onto the Celestia DA layer.
Are there any current examples of modular protocols apart from Celestia?
There are rollups like Arbitrum, ZKSync etc. that are also modular protocols since they only handle execution and depend on other chains (Ethereum in this case) for consensus, DA and settlement.
The “modular-monolithic” chains of today split the blockchain software stack into modular pieces, while the modular chain splits the blockchain protocol stack into individual specialized modular layers.
The reason for this is that over time growth becomes challenging in monolithic architecture as it becomes oversized and increasingly complex.
Modular App-Specific Chains
To explain what modular app-specific chains are, let us first look at the history that got us to where we are today. We will do this by first looking at the way most existing blockchains function, then how Cosmos proposed building applications as sovereign chains, and then eventually the framework for modular app-chains that Celestia is building.
Currently, most decentralized apps (dApps) are building on top of existing blockchains such as Ethereum using a Virtual Machine (with Ethereum, EVM). This is because until recently that was the most practical way of doing so. However, with the release of the Cosmos SDK and their consensus engine Tendermint, a new way of making dapps was created — sovereign application-specific chains.
With Cosmos, instead of having the application part of the blockchain be a VM and then building dapps on top of it, Cosmos instead enabled the creation of dApps as the application of the blockchain itself. This is what we call an application-specific blockchain.
Doing it this way means that developing your dApp as a sovereign blockchain causes you to just have to define the transaction types and state transition functions that a specific application needs. This means that the chain will always end up with the same final state, and this greatly improves the speed and scalability of the chain.
Now, where does Celestia fit into all of this? Celestia takes it one step further and has created modular app-specific chains.
How do they do this? Celestia provides a data availability (DA) layer for blockchains, including rollups. It’s a blockchain where consensus and execution are decoupled as it doesn’t provide an on-chain smart contract environment such as Ethereum, only consensus and data availability.
This means that Celestia supplies the data availability layer, while others can build their execution layers and smart contract layers on top of Celestia. All of the layers built on top still need to check that the blocks of each other were included in the Celestia data availability chain, and are thus able to verify the data with minimal amounts of trust, which provides a great deal of security.
So, we can consequently conclude that modular blockchains are the result of separating the core components of a single blockchain and running them on separate layers with a shared DA layer.
Data Availability Layer
Data availability (DA) allows us to check with a very high probability that all the data for a block has been published, by only downloading a very small piece of that block. Data availability layers are required to be able to detect fraud and also to recreate the entirety of the chain.
Why is the DA Layer important? Because rollups rely on data availability for their security.
Likewise, cross-chain interoperability relies on light clients which are typically not secure because they make an honest majority assumption. However, with Celestia, DA light clients do not need this assumption (since they do not verify transactions, but only check that each block has consensus and that the data is available to the network), which unlocks secure cross-chain interoperability.
The base layer (DA layer) only guarantees the availability of messages, not settlement or execution.
Settlement/Execution Layers (Rollups on Rollups)
A settlement layer for rollups is a chain that rollups have a trust-minimized two-way bridge with, using a contract on the settlement layer (as is the case with rollups on Ethereum). This authorises tokens to be transferred between the rollups and the settlement layer, or between rollups through the settlement layer, in a trust-minimized way.
As previously described, most rollups currently use the Ethereum main chain for settlement. However, the Ethereum chain is not an ideal settlement layer for rollups to use, because it is shared with other non-rollup applications that use the chain for smart contract transactions. The Ethereum chain is unspecialized and has reduced scale compared to a specialized settlement layer.
An ideal specialized settlement layer for roll-ups is one that only allows for rollup smart contracts, simple bridge transfers between rollups, and one that forces non-rollup applications to use the execution layer instead.
Settlement rollups will provide execution rollups with a minimal overhead solution to bootstrap their network since there is currently a significant overhead in launching and operating a rollup.
Consequently, transactions are executed by applications built on top which makes them extremely scalable and means that the middle layer (settlement) will be a rollup that can also have rollups of its own.
In a normal blockchain both the consensus layer and the execution layer are on the same layer and are both enforced by the same set of validators. What Celestia does instead, is to decouple the consensus and the execution layer, and enable developers to deploy their execution layers on top of the Celestia data availability layer. The execution layers will exist as their own blockchains where they can decide what to specialize and optimize for.
The execution layer will consist of various execution chains, whether that would be EVM (on top of CEVMOS) or Cosmos SDK rollups. Rollups offers developers and users scalability as transactions are executed off the Layer 1 chain.
In regards to Ethereum rollups, currently, all rollups on Ethereum run a contract on Ethereum where all assets are confirmed on the settlement layer, hence most rollups want the same if they are to launch on another protocol. Cevmos (Celestia, EVMos, CosmOS) will enable that.
Rollups are how monolithic chains like Ethereum scale, Celestia is designed with rollups in mind, making Celestia scalable from the get-go.
Another huge advantage to using modular blockchains is their multi-sovereignty. By using modular blockchains, governance can be compartmented to your application and does not overlap with other applications. If there is a problem with your application, governance can fix it without interfering with other applications in the cluster.
Previously, if a decentralized application built on Ethereum was hacked and funds were stolen, it wouldn’t be possible to restore the damages if governance disagreed. To fix it you would have to hard fork the entire chain.
It’s possible to leave Ethereum in a permissionless way by hard forking the chain, but users might not want to use your fork since it has lower security than the original. By forking the EVM it means you’re also forking the consensus layer.
Now, in the case of Celestia, you can fork the rollups that are built on top. On Ethereum, you are unable to fork the rollups unless the entire Ethereum chain is forked since they use Ethereum as a settlement layer. On Celestia, rollups do not use Celestia as a settlement layer, so multiple forks can exist simultaneously and with that, experimentation is encouraged making way for new concepts.
Now, how do modular blockchains compare to monolithic ones? Let’s take the example of a non-modular blockchain built with modular software, such as Avalanche.
Now, in the case of Avalanche, subnets are independent chains without shared security, and a new subnet requires bootstrapping a new consensus network.
All Avalanche subnets handle both consensus, data availability and execution by themselves. This makes them singular monolithic entities since what makes something modular is decoupling those and splitting them into separate layers.
We can therefore conclude that other chains that use some modular software currently are not modular protocols but rather either proto(Ethereum with roll-ups) or pseudo-modular(AVAX).
We can define modular blockchains as blockchains that decouple the components of execution, consensus and data availability, while monolithic blockchains handle all three on their own. This means that Celestia is a modular blockchain as it only handles DA, while rollups built on top handle execution and settlement.
Hence, a truly modular chain can achieve:
The launch of a new chain without bootstrapping a new consensus network
Scaling without increasing node requirements