top of page

Independent Blockchains

Celestia is a modular data availability network that securely scales with the number of users, making it easy for anyone to launch their own blockchain.


Introduction

Celestia is a network system designed to handle a lot of users while keeping data secure. It makes it easy for anyone to start their own blockchain.


Celestia improves blockchain technology by allowing what's called modular blockchains, which can adapt and grow more easily. It does this by separating the process of executing transactions from agreeing on them and by using a new method called data availability sampling.

With Celestia, the main job is to put transactions in order and make sure the data for them is available. This is similar to simplifying the process of agreeing on transactions.


Data availability sampling is a clever way to deal with the problem of making sure the data for transactions is accessible. Instead of needing lots of resources, it only requires simple nodes to check a few random pieces of data from each block.


The more simple nodes that help with this checking, the more data the network can handle safely. This means that the size of each block in the blockchain can grow without making it more expensive to check the validity of the chain.


Monolithic vs. Modular Blockchains

Blockchains instantiate replicated state machines: the nodes in a permissionless distributed network apply an ordered sequence of deterministic transactions to an initial state resulting in a common final state. Meaning, Blockchains work like a group project: everyone follows the same steps to start from a given point and end up at the same result.


In other words, this means that nodes in a network all follow the same set of rules (i.e., an ordered sequence of transactions) to go from a starting point (i.e., an initial state) to an ending point (i.e., a common final state). This process ensures that all nodes in the network agree on the final state of the blockchain, even though they operate independently.


Imagine you and your friends are building something together. You all agree on the steps to take, starting from a certain point. Even if you work separately, following the same instructions will ensure that everyone reaches the same outcome. This is similar to how nodes in a blockchain network operate. They all follow the same rules (or steps), starting from an initial state, to reach a final state that everyone agrees on.


This means blockchains require the following four functions:

  • Execution entails executing transactions that update the state correctly. Thus, execution must ensure that only valid transactions are executed, i.e., transactions that result in valid state machine transitions.

  • Settlement entails an environment for execution layers to verify proofs, resolve fraud disputes, and bridge between other execution layers.

  • Consensus entails agreeing on the order of the transactions.

  • Data Availability (DA) entails making the transaction data available. Note that execution, settlement, and consensus require DA.


Traditional blockchains, i.e. monolithic blockchains, implement all four functions together in a single base consensus layer. The problem with monolithic blockchains is that the consensus layer must perform a lot of different tasks and it cannot be optimized for only one of these functions. As a result, the monolithic paradigm limits the throughput of the system.


As a solution, modular blockchains decouple these functions among multiple specialized layers as part of a modular stack. Due to the flexibility that specialization provides, there are many possibilities in which that stack can be arranged. For example, one such arrangement is the separation of the four functions into three specialized layers.


The base layer consists of DA and consensus and thus, is referred to as the Consensus and DA layer (or for brevity, the DA layer), while both settlement and execution are moved on top in their own layers. As a result, every layer can be specialized to optimally perform only its function and thus, increase the throughput of the system. Furthermore, this modular paradigm enables multiple execution layers, i.e., rollups, to use the same settlement and DA layers.


Data Availability Layer

Celestia is a data availability (DA) layer that provides a scalable solution to the data availability problem. Due to the permissionless nature of the blockchain networks, a DA layer must provide a mechanism for the execution and settlement layers to check in a trust-minimized way whether transaction data is indeed available.


Two key features of Celestia's DA layer are data availability sampling (DAS) and Namespaced Merkle trees (NMTs). Both features are novel blockchain scaling solutions: DAS enables light nodes to verify data availability without needing to download an entire block; NMTs enable execution and settlement layers on Celestia to download transactions that are only relevant to them.


Providing Data Availability

The Celestia DA layer consists of a PoS blockchain. Celestia is dubbing this blockchain as the celestia-app, an application that provides transactions to facilitate the DA layer and is built using Cosmos SDK.

The main components of celestia-app:

celestia-app is built on top of celestia-core, a modified version of the Tendermint consensus algorithm. Among the more important changes to vanilla Tendermint, celestia-core:

  • Enables the erasure coding of block data (using the 2-dimensional Reed-Solomon encoding scheme).

  • Replaces the regular Merkle tree used by Tendermint to store block data with a Namespaced Merkle tree that enables the above layers (i.e., execution and settlement) to only download the needed data (for more details, see the section below describing use cases).


The Lifecycle of a Celestia-app Transaction

When users want to share data through the Celestia app, they send a special type of transaction called "PayForBlobs." Each PayForBlobs transaction includes:

  1. Who sent it

  2. The data they want to share (called the message)

  3. How big the data is

  4. The category it belongs to (namespace)

  5. A signature for security


Block producers then group many PayForBlobs transactions together into a block. But before finalizing the block, the producer breaks down each PayForBlobs transaction into two parts:

  1. The actual data with its category (namespace)

  2. A special transaction (executable transaction) that doesn't include the data itself but proves later on that the data was shared.


So, each block contains both the data organized into categories and these special transactions. Only these transactions get processed by the Celestia system once the block is confirmed.



Celestia

ØĒØąŲŠØ¯ Ų…ØšØąŲØŠ اŲ„Ų…Ø˛ŲŠØ¯ØŸ

اŲ„ØĒŲ‚ŲŠŲŠŲ…اØĒ & اŲ„ØĒŲ‚ŲŠŲŠŲ…اØĒ

Ų‚ŲŠŲ… اŲ„ØšŲ†ØĩØą

ØĒØ­Ų…ŲŠŲ„ ØĩŲˆØąØŠ
ØĨØąØŗاŲ„ Ų…ØąØ§ØŦؚ؊
bottom of page