(subscribe to this newsletter or follow my Twitter https://twitter.com/0xirreducible for independent thinking & high quality research from first principles)
Q1: What is Celestia? Why does it matter?
A: First of all Celestia is an L1 blockchain. Celestia specializes in Data Availability (DA) service, a service that only orders transactions and makes them available in a scalable way while preserving decentralization/security.
Celestia doesn’t care about transaction validity and only specializes in recording the raw block data and proving that it’s available. Rollup nodes on top of Celestia can pick transactions that are relevant and run off-chain execution to compute state transitions.
Why does it matter? With a shared DA layer, these chains/rollups would now have shared security, scale block size super efficiently without decentralization/security concerns, and enjoy trust-minimized bridges with each other. Read more about the implications of the shared DA layer here.
Q2: If all rollups/chains record their data to a single 3rd party blockchain, wouldn’t that make decentralization worse? The block data is all centralized in a single place?
A: It is indeed a challenge to provide a data availability service that can be trusted with superior decentralization and security properties, especially if the DA service has to scale the block size and support many chains. Celestia’s design does achieve this purpose which we will explain later.
Q3: Okay so Celestia solves the DA problem. But what does Data Availability mean? Why would any chain/rollup want to store block data on another chain? Even if they really want, why not IPFS/Arweave for storage?
A: Data availability problem is relevant in domains like block size scaling, sharding, and rollups. It’s very different from data storage. DA is about how to efficiently verify that a large chunk of block data has been correctly published with no withheld, without downloading the data ourselves. A more in-depth reference on what is DA: link.
Take rollup as an example. Rollups are off-chain execution engines that compute the state transition very efficiently. At the end of the day, the rollups have to submit fraud/validity proof together with transaction call data somewhere (eg. Ethereum) for people to verify/reproduce that the off-chain state transitions have been done correctly. Without the transaction data, users’ funds could be locked in L2 by malicious rollup operators (see reference). The community wants to cheaply verify that every time the rollup sequencer submits a fraud/validity proof, the corresponding block data has also been published. This is the data availability problem in the rollup domain. (check this article for DA landscape for rollups)
Arbitrum/Optimism has been publishing transaction data to Ethereum, essentially relying on Ethereum for data availability, but this is not economic as posting data to Ethereum costs gas / Ethereum block space.
Using Celestia as the DA layer, a zk-rollup sequencer can publish transaction data to Celestia instead of Ethereum. The zk-rollup sequencer still publishes state commitments and validity proofs to Ethereum. Celestia nodes can generate data availability attestations corresponding to the proof, and post it to the rollup’s verifier contract on Ethereum. The verifier contract can then check both the validity of the proof and the data availability attestations. Optimistic rollup can work with Celestia in a similar way but with fraud proof. See the implementation details here.
Storage networks such as Arweave specialize in the permanent storage of very large objects. They don’t solve the DA problem because (1) to verify that the data is available, each storage node still needs to download the whole thing, (2) the storage network cannot prove that the data is published with no withheld at the required moment. Check out this thread for more details. With this being said, Celestia might still choose a storage network or CDN service as a long-term block data storage backbone.
Q4: How is Celestia special? How can it do better than Ethereum for data availability?
A: Celestia is special in two ways on the scalability/security/decentralization tradeoff fronts:
Its minimal design only cares about ordering transaction data and making them available. It does not run any virtual machine for transaction execution so it requires much fewer resources to operate a node.
Celestia invented a data sampling mechanism so that light nodes in the Celestia network can sample some small chunks of data to verify that the full data is available. Because of this, light nodes in the Celestia network don’t need to rely on honest full nodes to achieve security. This is not possible in Ethereum but achievable here because Celestia only specializes in DA. As a result, the Celestia network can scale up block sizes, while still maintaining great security/decentralization profiles because of the DA sampling light nodes.
Q5: Okay so there’s Celestia and rollups. Celestia stores transactions and rollups execute transactions. Sounds like rollups can be its own sovereign chains on Celestia. Where does Ethereum fit into the picture?
A: Ethereum is called a “settlement layer” in the modular stack. Celestia: DA layer, Roll-ups: execution layer, Ethereum: settlement layer.
The settlement layer is a liquidity/bridging hub for all rollups based on it. Each rollup has a 2-way trust-minimized bridge with the settlement layer so that users can use the secure native bridge to move assets back and forth, and across rollups through the settlement layer. Ethereum has the most capital/liquidity in terms of TVL at the time of the writing (according to defillama data) so it’s ideal for rollup chains to build on top of it to bootstrap liquidity.
Block data does not need to be relayed from Celestia to the settlement layer. The settlement layer only needs fraud/validity proof & data availability attestations to check validity or handle disputes.
With that being said, the settlement layer can definitely be any L1s other than Ethereum. For example, it can be Solana for Solana rollups. In the module stack, there may not even need to be a settlement layer at all. Rollups can be built directly on Celestia as its own sovereign chain.
Q6: How is it possible that a roll-up can directly build on Celestia without a settlement layer that verifies fraud/validity proofs?
A: Quoting alexbeckett from Celestia discord: “An easier way to think of a Celestia rollup would be to think of something like Mina if it posted its transaction data to another chain for consensus and DA. Mina is a layer 1 blockchain that is similar to a zk-Rollup, but instead of posting its zk-proofs to another blockchain, it includes the zk-proofs with each block. These proofs are verified by nodes on the Mina network when they receive each block.”
Q7: Wait, are we calling Celestia the consensus layer in the modular stack? Not Ethereum? Ethereum should be better at consensus?
A: Consensus is broken down into two modular pieces as well. One piece is about verifying that the correct data has been published together with the proof. The other piece is about verifying that the rollup proof actually checks out. Celestia handles the data availability consensus while Ethereum handles the rollup proof validity consensus.
Q8: Take Arbitrum for example. If Arb is to use Celestia, would users still send transactions to the Arbitrum sequencer? Or would users send transactions to Celestia?
A: Users still send transactions to the Arbitrum sequencer. No one wants to change their RPC settings. Arb sequencer will publish block data to the Celestia network.
The above questions help the modular blockchain concept click with me. Comment below for other questions that are important for average Ethereum users to understand Celestia / the modular stack!
This is great, little by little it is understood more that it is celestial within this entire ecosystem