#BinancaEarn

#BinancaEarn

#TIA đŸ”„ 🚀 🚀 🚀

Celestia is a modular data availability network designed to scale securely with the increasing number of users, allowing for the easy deployment of personalized blockchains. It facilitates the creation of scalable blockchain architectures, particularly modular blockchains, by separating execution from consensus and introducing a new element called data availability sampling. Celestia was founded by Mustafa Al-Bassam and Ismail Khoffi.

Overview

Celestia is a blockchain that organizes and publishes transactions without executing them. It achieves this by separating the consensus and application execution layers, thereby modularizing the blockchain technology stack and offering new possibilities for decentralized application builders.

Celestia was deployed to Mainnet Beta, codenamed Lemon Mint, on October 31, 2023.

Architecture

Celestia functions as a data availability (DA) layer, addressing the data availability problem in a scalable manner. In permissionless blockchain networks, the DA layer must establish a trust-minimized mechanism for the execution and settlement layers to independently verify transaction data availability. Celestia's DA layer incorporates two key features: data availability sampling (DAS) and Namespaced Merkle trees (NMTs). These features offer practical solutions for blockchain scaling—DAS allows light nodes to verify data availability without downloading an entire block, and NMTs enable the execution and settlement layers on Celestia to selectively download relevant transactions.

Data Availability Sampling (DAS)

Typically, light nodes download block headers containing commitments, such as Merkle roots, for block data, which comprises the list of transactions.

In enabling Data Availability Sampling (DAS), Celestia employs a 2-dimensional Reed-Solomon encoding scheme for encoding block data. This involves dividing each block's data into k×k chunks, organized in a k×k matrix. The data is then extended with parity data into a 2k×2k matrix through multiple applications of Reed-Solomon encoding.

Subsequently, distinct Merkle roots are computed for the rows and columns of the extended matrix (4k in total), and the Merkle root of these roots serves as the block data commitment in the block header.

Scalability

Data Availability Sampling (DAS) enhances the scalability of Celestia's Data Availability (DA) layer. It accommodates resource-limited light nodes, allowing each to sample a small segment of block data. With an increasing number of light nodes, there's a proportional rise in collective data download and storage capacity.

Expanding the participation of light nodes in DAS accommodates larger blocks with more transactions, making it feasible for resource-limited light nodes. However, Celestia light nodes must download the 4k intermediate Merkle roots to validate block headers.

For a block data size of n^2 bytes, each light node needs to download O(n) bytes. As a result, any improvement in Celestia light nodes' bandwidth capacity has a quadratic impact on Celestia's DA layer throughput.

Fraud Proofs of Incorrectly Extended Data

A 2-dimensional Reed-Solomon encoding scheme is utilized in Celestia for Data Availability Sampling (DAS). An alternative approach is to employ standard (1-dimensional) Reed-Solomon encoding, where the original data is divided into k chunks and extended with k additional chunks of parity data. In this case, the Merkle root of the resulting 2k data chunks serves as the block data commitment, eliminating the need for light nodes to download O(n) bytes to validate block headers.

However, the drawback of standard Reed-Solomon encoding is its vulnerability to malicious block producers who may generate the extended data incorrectly. Celestia's security model doesn't require a majority of consensus (block producers) to be honest to ensure data availability. Consequently, if the extended data is invalid, the original data may not be recoverable, even if light nodes sample sufficient unique chunks (at least k for standard encoding and k×k for 2-dimensional encoding).

To address this issue, Fraud Proofs of Incorrectly Generated Extended Data enable light nodes to reject blocks with invalid extended data. These proofs involve reconstructing the encoding and verifying the mismatch. With standard Reed-Solomon encoding, this necessitates downloading the original data, i.e., n^2 bytes. In contrast, with 2-dimensional Reed-Solomon encoding, only O(n) bytes are required, as verifying one row or one column of the extended matrix is sufficient.

Namespaced Merkle Trees (NMTs)

Celestia organizes block data into separate namespaces, each designated for a specific application like rollup within the Data Availability (DA) layer. This setup enables each application to selectively download its own data, disregarding information irrelevant to its operation.

To ensure the completeness of the provided data within a given namespace, Celestia employs Namespaced Merkle trees (NMTs). NMTs are structured as Merkle trees where leaf nodes are ordered by namespace identifiers, and the hash function is adjusted to include the range of namespaces for all descendant nodes in the tree.

Building a PoS Blockchain for DA

Providing Data Availability

The Celestia Data Availability (DA) layer is structured as a Proof-of-Stake (PoS) blockchain. It is named celestia-app and operates as an application within the Celestia ecosystem. This application provides transactions to facilitate the DA layer and is constructed using the Cosmos SDK.

The celestia-app is built on top of celestia-core, a modified version of the Tendermint consensus algorithm. Notable modifications include implementing erasure coding for block data using the 2-dimensional Reed-Solomon encoding scheme and replacing the regular Merkle tree with a Namespaced Merkle tree. These changes enable the execution and settlement layers to download only necessary data. Celestia-core nodes continue to use the Tendermint p2p network.

Similar to Tendermint, celestia-core interfaces with the application layer through ABCI++, an evolution of ABCI. The celestia-app state machine is crucial for executing PoS logic and governing the Data Availability (DA) layer.

However, while the celestia-app state machine plays a key role in executing PoS logic and governing the DA layer, it remains data-agnostic. This means the state machine neither validates nor stores the data provided by the celestia-app.

Reference

https://iq.wiki/wiki/celestia