Celestia 模块化区块链

2024-04-10  本文已影响0人  雪落无留痕

Celestia是模块化区块链,也称为数据可用性网络,允许用户在数分钟内部署自己的区块链,像部署合约一样简单。

Celestia是最小化的区块链,只排序并发布交易,提供数据可用性,并不会执行,将共识和执行层解耦,为去中心化应用解锁新的可能性。

用户可以使用任意VM, 主要负责执行,根据应用定制不同的功能,以满足不同的需求。

Celestia是基于Tendermint 共识开发的PoS链。

基本概念

模块化区块链

模块化区块链主要相对于单体区块链(Monolithic blockchain, 比特币,以太坊等)而言,一个区块链不会执行所有的功能,它会将共识层,结算层和执行层分隔开来,每个模块只执行特定的功能,以提供更强的可扩展性,灵活性,和互损性。

数据可用性

对于单体区块链,全节点需要下载所有的数据以验证区块和交易。当区块变得越来越大的时候,普通用户无法下载所有的数据。模块化区块链通过引入DAS (Data Availability Sampling ) 技术解决这个问题,只需要抽样很少的数据就可以验证非常大的块。

Rollups

Rollups是新型的区块链,它将部分任务交由 Layer1 (例如Celestia)处理. Rollups会将交易的数据发布到Celestia, 由Celestia 进行排序, 并为Rollups用户提供数据可用性, 因此Celestia 可以为Rollup提供安全性。

Celestia 数据可用性层

数据可用性主要保证执行和结算的顺利进行。Celestia 主要通过DAS(Data Availability Sampling) 和 NMTs (Namespaced Merkle trees) 技术实现数据可用性。

DAS

通常,轻节点仅需要下载包含区块交易数据承诺 (Merkle Roots) 的区块头。 Celestia 通过2维的Reed-Solomon编码方案将 k \times k 的区块数据扩展成为了 2k \times 2k 的矩阵数据,随后 4k 个独立的Merkle Roots, 再计算这些Merkle Roots 的Merkle Root 作为区块数据的承诺保存在区块头中。

为了验证数据的有效性,Celestia 对这个2k \times 2k 的数据进行抽样。

每个轻节点随机选择扩展矩阵的一些坐标,去查询相应的数据和Mekle证明,若有效,则大概率可以证明整个区块数据是可用的。

并且每个查询的抽样数据可以网络上广播,只要轻节点的数据足够多,就可以恢复完整的数据。

NMTs

Celestia 将区块数据分成多个命名空间, 每个对应一个应用,因此所每个应用仅需要下载属于它的那部分数据,忽略其它的。

Celestia 使用NMTs(Namespaced Merkle tress)来证明属于每个命名空间的数据是完备的。

NMT是一个Merkle 树结构,例如下图是个三层的NMT:

数据主要分成三个命名空间,当一个应用想请求命名究竟2的数据,DA层需要提供数据D3, D4, D5, D6 和 节点N2, N8, N7 作为Merkle 证明, N14 是区块头包含的根。

TIA

Celestia 代币为TIA, 初始供应量为10亿枚,主要的功能为:

节点类型

Celestia 网络有多种节点,其中共识相关节点为:

数据可用性:

参考

https://celestia.org/

https://docs.celestia.org/learn/how-celestia-works/overview

https://ethresear.ch/t/a-data-availability-blockchain-with-sub-linear-full-block-validation/5503

https://arxiv.org/abs/1809.09044

https://arxiv.org/abs/1905.09274

https://en.wikipedia.org/wiki/Erasure_code

https://github.com/celestiaorg/lazyledger-prototype

上一篇 下一篇

猜你喜欢

热点阅读