Settlement layers in the modular stack

The following will be a brief background on settlement layers and how they could function in the context of modular stack.

Settlement layers

A settlement layer is an execution chain that has a two-way trust-minimized bridge with a rollup, or any rollup-type construction such as a validium or a volition. Two-way ensures that tokens can be bridged back and forth between the rollup and the settlement layer. Trust-minimized is a property of the bridge between the two chains which ensures that communication does not require an honest majority assumption.

In the modular stack, the settlement layer acts essentially as a hub for trust-minimized bridging between execution layers. Though, it is not necessary for an execution layer to deploy onto a settlement layer – it could deploy directly onto a consensus and data availability layer.

While many blockchains are labelled settlement layers, most of them only provide settlement as one of multiple functions. A settlement layer in a modular stack can decouple the settlement functionality, which is execution, from the remaining functions, consensus, and data availability. The other service that the settlement layer provides to a rollup is a smart contract environment to verify proofs and arbitrate disputes.

The modular stack

In a three-layer modular stack, both the execution layer and settlement layer can be rollup-like constructions.

The execution layer publishes its entire block, and any proofs, to the settlement layer. The settlement layer then builds its own blocks including transactions from the execution layer and publishes only the block’s transaction data to the consensus and data availability layer. Since the settlement layer doesn’t have a layer for users to exit to if a liveness failure occurs, such as a chain halt, the sequencer role should be decentralized among a set of independent parties - ideally this would be the case for any rollup regardless. Although, I wouldn’t consider mass exits during a liveness failure a viable mechanic if the rollup is operating at scale, particularly if the rollup is deployed on a settlement layer with expensive fees.

Since consensus over the block is provided by the consensus and data availability layer, the settlement layer does not require a consensus mechanism. Only a leader election mechanism at minimum is needed to randomly select a leader to build blocks and submit the transaction data to the base layer.

Because the settlement layer only has execution functionality, the design space for the modular settlement layer is unique as it can implement mechanics that other monolithic settlement layer may not be able to as they are burdened by other functions. One method that has been discussed regarding optimizing the settlement layer is the restriction of smart contracts to only enable contracts that interact with execution layers. This is to ensure that execution layers aren’t competing with applications for the same blockspace, therefore the settlement layer can provide more capacity to the execution layers.

7 Likes

Nice work.

The execution layer publishes its entire block, and any proofs, to the settlement layer. The settlement layer then builds its own blocks including transactions from the execution layer and publishes only the block’s transaction data to the consensus and data availability layer.

I’d also like to add that it’s also possible to design a modular stack where the execution layer doesn’t post its block data to the settlement layer, but directly to the data availability layer. The execution layer (or some relayer) can then post only its block headers to the settlement layer, which can then check that the data for the block was included in the data availability layer.

2 Likes

A rollup that doesn’t have a settlement layer and posts the transaction data directly onto Celestia, Is that a sovereign rollup that can do forks through social consensus?

1 Like

Is there any advantage/special use case of Rollups posting transaction data and their settlement layer post block header on Celestia? Why divide this work? Won’t it be better for Rollups to just use themselves for settlement and later post data directly on Celestia? Thank you.

Yes, if the rollup uses Celestia it is sovereign because it can define its own fork choice rule as Celestia doesn’t determine whether its transactions are valid. This isn’t possible on the settlement layer because it does determine which transactions are valid, therefore which block is added to the canonical rollup chain. So the rollup doesn’t have its own fork choice rule. If it needs to fork, the fork has to be implemented at the settlement layer.

1 Like