Celestia:为L2世界带来主权

  • 4pillars
  • 发布于 2023-11-01 19:27
  • 阅读 30

本文介绍了Celestia,一个基于 Cosmos SDK 的数据可用性层,它为 sovereign rollups 提供了一个安全且廉价的交易数据存储空间。

要点总结

  • Celestia 是一个基于 Cosmos SDK 的数据可用性层,它提供了一个数据空间,主权 Rollup 可以在其中安全且经济地存储交易数据。

  • 与智能合约 Rollup 不同,主权 Rollup 在节点的 p2p 层进行结算,并且不受硬分叉的影响。

  • Celestia 可以通过 2d Reed-Solomon 编码扩展原始数据和数据可用性抽样来实现数据可用性,其中轻节点随机抽样数据块。

  • 命名空间默克尔树(NMTs) 是一种数据结构,用于管理单个命名空间下与每个 Rollup 对应的数据,允许 Rollup 网络轻松地从 Celestia 下载所有相关数据。

  • 包括 Manta、Eclipse、Astira、Dymension 在内的各种知名项目正在 Celestia 上开发,预计在以太坊网络之后建立一个庞大的模块化生态系统。

1. 介绍

1.1 智能合约 Rollup 时代

自从 Vitalik Buterin 发表 “以 Rollup 为中心的以太坊路线图”以来,已经过去了大约三年,并且与替代 L1 网络相比,基于以太坊网络的 Rollup 网络已成功构建了生态系统。 值得注意的乐观 Rollup,如 Optimism 和 Arbitrum,虽然都是基于 EVM 的,但都各自构建了自己的生态系统,最近基于 OP-Stack 的 Base 网络也在 Coinbase 的支持下蓬勃发展,并成功推出了像 friend.tech 这样的消费者应用。 除了乐观 Rollup 之外,zk Rollup 生态系统,如 zkSync Era、Polygon zkEVM、Linea 和 StarkNet,也在逐渐发展。

这些 Rollup 网络的一个共同特点是它们都是基于以太坊的智能合约 Rollup。 这些 Rollup 在以太坊网络上有一个 Rollup 合约,利用以太坊网络作为结算和数据可用性(DA)层。 因为它们将交易数据存储在以太坊网络上,所以即使在 Rollup 网络上发生恶意活动,也可以根据存储在以太坊网络上的交易数据恢复有效状态,因此依赖于以太坊网络的强大安全性。 此外,乐观 Rollup 的欺诈证明过程和 zk Rollup 的零知识证明验证都发生在以太坊网络上。 这也意味着以太坊网络赋予智能合约 Rollup 状态最终性,因此,共享以太坊网络作为结算层的 Rollup 网络可以轻松地构建一个最小信任桥梁,以便彼此安全地通信。

1.2 主权 Rollup 即将到来

Template (3).jpg

智能合约 Rollup 有几个缺点。 一个困难是硬分叉的难度。 由于驻留在结算层上的智能合约管理着与 Rollup 相关的所有内容,因此智能合约 Rollup 无法轻易进行硬分叉。 当然,正如 Jon Charbonneau 的一篇文章中指出的那样 article by Jon Charbonneau,智能合约 Rollup 的状态也可以由 Rollup 的完整节点确定,从某种角度来看,允许类似于主权 Rollup 的硬分叉。 这仅适用于 Rollup 原生资产,通过结算层的 Rollup 桥转移的资产,除非达成结算层的社会共识,否则在硬分叉事件中将变得毫无价值。 此外,由于 Rollup 合约中的错误以及通过多重签名进行管理,存在潜在的漏洞。

主权 Rollup 是一种新的 Rollup 网络形式,可以解决这些缺点。 与智能合约 Rollup 一样,它通过将交易数据存储在 DA 层中来依赖 DA 层实现安全性,但主权 Rollup 不是通过智能合约而是通过自己的 p2p 网络来验证交易,因此不使用结算层。

由于主权 Rollup 没有单独的 Rollup 合约,因此它们与智能合约 Rollup 有各种不同之处。 首先是硬分叉的优势。 在现有的 Layer 1 网络中,除非说服所有节点升级其客户端,否则当发生硬分叉时,安全性碎片化是不可避免的。 如果智能合约 Rollup 进行硬分叉,则从结算层转移的流动性将变得毫无用处。 另一方面,虽然主权 Rollup 依赖 DA 层来实现安全性,但由于没有单独的 Rollup 合约,它们可以自由地进行硬分叉

到目前为止,很少有主权 Rollup 在主网上启动,但预计会有大量主权 Rollup 很快启动,同时还有 Celestia DA 层。 本报告将探讨 Celestia 如何增强 Rollup 网络的扩展性。

2. Celestia

Untitled

2.1 介绍

Celestia 是最受欢迎的模块化区块链项目之一,也被称为推广模块化区块链概念的项目。 与单体区块链不同,模块化区块链是指将区块链的角色分开分配和处理的网络:1) 执行 2) 排序 3) 结算 4) 数据可用性 5) 共识。

  • 执行 - 下载交易,执行它们,然后更新状态。

  • 排序 - 收集用户的交易,确定它们的顺序,并生成区块。

  • 结算 - 通过欺诈证明或有效性证明验证执行层中交易的有效性。

  • 数据可用性 - 存储来自执行层的交易数据,确保它始终可用。

  • 共识 - 确定交易、捆绑和区块的顺序。

Template (1).jpg

Celestia 作为一个专门用于存储主权 Rollup 交易数据的区块链,充当 DA 层,仅负责数据可用性和共识。 由于它不执行执行任务,并且促进轻节点通过数据可用性采样 (DAS) 安全地重建区块,因此 Celestia 成为一个安全且可扩展的 DA 层。 让我们深入研究 Celestia 的各种属性。

2.2 解耦执行和数据可用性

与其他单体区块链不同,Celestia 不验证交易,也不执行执行。 验证和执行委托给 Rollup 网络,而 Celestia 专门专注于数据可用性和共识。 Celestia 是一个基于 Cosmos SDK 的区块链,根据费用确定 Rollup 交易和批处理的顺序。

交易验证发生在 Rollup 网络节点的 P2P 层中。 与智能合约 Rollup 不同,在智能合约 Rollup 中,结算层的智能合约确定 Rollup 的规范状态,节点使用 Celestia 在本地决定主权 Rollup 的规范状态,并通过 P2P 层提供欺诈/有效性证明。 对于 Rollup 的规范状态在本地确定是否真的安全?

2.3 确保数据可用性

2.3.1 数据可用性问题 (DAP)

这就是数据可用性发挥关键作用的地方。 数据可用性是指对新生成的区块数据的可访问性。 假设你是 Rollup A 的一个完整节点。 只要 Celestia 的安全性可靠,你就可以访问存储在 Celestia 中的所有与 Rollup A 相关的数据,使你能够验证交易的合法性,并且在乐观 Rollup 的情况下,进一步生成欺诈证明,或者生成 zk-Rollup 的零知识证明,甚至可以传达给轻节点。 因此,如果数据可用性得到保证,那么节点在本地确定 Rollup 的规范状态是安全的。

Untitled

但是,让我们假设将包含无效或省略交易(即数据不可用)的恶意区块引入网络。 由于主权 Rollup 的完整节点会下载所有数据,因此它可以立即检测到这一点,并且不会接受该区块。 但是,仅下载区块头的轻节点无法确定恶意区块,从而导致完整节点和轻节点感知的规范状态发生分歧。 完整节点甚至无法生成欺诈证明并将其提交给轻节点,因为当缺少交易数据时,无法创建从交易数据生成的欺诈证明。

这被称为数据可用性问题(DAP),解决它对于确保轻节点的安全性至关重要。 Celestia 通过 1) 纠删码和 2) 数据可用性采样 (DAS) 解决 DAP。 通过这两个功能,存储在 Celestia 中的交易数据始终可用,并且轻节点可以保持几乎等同于完整节点的安全级别。

2.3.2 纠删码

纠删码包括通过将冗余数据添加到原始区块数据来扩展数据。 不是在扩展期间仅附加任何数据,而是确保即使仅知道扩展数据的一部分也可以重建原始数据。 Celestia 采用 Reed-Solomon 码来执行纠删码。

Reed-Solomon 码 在现实生活中被使用,并应用于 CD、QR 码和条形码等技术。 你可能已经体验过,即使有一些灰尘或损坏,CD 仍然可以正常工作,并且即使部分遮挡,QR 码或条形码仍然可以工作。 这是由于 Reed-Solomon 码 的特性,它允许即使一部分数据损坏或丢失,也可以重建原始数据。 当应用 Reed-Solomon 码 时,向 n 个原始数据添加 k 个额外数据,即使总共 n+k 个数据中最多丢失 k 个,仍然可以重建原始数据。

Template (5).jpg

上图简洁地演示了 Reed-Solomon 码 如何扩展数据。 假设坐标系上有 n(=4) 个原始数据点,如左图所示。 通过坐标系中 n 个点的 n-1(=3) 次多项式是唯一的。 一旦从原始数据中得出 n-1(=3) 次多项式,我们就可以在该函数上绘制 k(=4) 个任意点。 因此,拥有总共 n+k(=8) 个数据点中的任意 4 个数据点,使我们能够找到相同的 n-1(=3) 次多项式并重建原始数据。 请注意,Reed-Solomon 码 还利用 mod 运算来防止数据大小呈指数级增长。

虽然 Reed-Solomon 码 有助于在丢失某些数据时重建原始数据,但它们不能确保数据最初已被正确扩展。 在 Celestia 中,引入了欺诈证明以确保数据的准确扩展,并通过这些证明纠正任何恶意数据扩展。 上面的示例说明了最简单的 1d Reed-Solomon 编码。 需要与 O(n) 相对应的大量数据才能为此生成欺诈证明。 Celestia 采用 2d Reed-Solomon 编码,如下所述,以减少生成欺诈证明所需的数据量,仅需要 O(n^0.5) 顺序的数据。

Untitled

来源:Celestia

在 Celestia 中,原始数据被分成 k×k 块,并通过几轮 Reed-Solomon 编码 扩展到 2k×2k,如上图所示。 扩展数据计算每行 2k 个 Merkle 根 和每列 2k 个 Merkle 根,总计 4k 个 Merkle 根,随后通过另一个 Merkle 树 汇总以生成最终的 Merkle 根。 此 Merkle 根 用于轻节点采样数据的过程中。

2.3.3 数据可用性采样(DAS)

Celestia 中的轻节点可以从完整节点请求并采样一部分扩展数据。 每个轻节点下载 2k×2k 数据的一个子集,通过将其与 Merkle 根 进行比较来验证它是否是区块的一部分。 根据纠删码,一旦收集到一定阈值的扩展数据,就可以重建原始数据,从而确保只要网络的轻节点累积下载的数据,该区块始终可用。

恶意区块生产者必须在 2k×2k 数据中隐藏多少数据才能使原始数据无法恢复? 答案是,在至少 k+1 行(或列)中隐藏 k+1 个元素会使整个数据无法恢复。 换句话说,如果从总共 (2k)^2 数据中缺少 (k+1)^2 个数据,即使轻节点执行采样,该区块也无法恢复。

Untitled

如上图所示,假设 k+1 行中缺少 k+1 个要素。 在 Celestia 中,数据在行和列中都扩展了 2 倍。 如果第一行中 2k 个数据中缺少 k+1 个,则无法恢复,并且第二、第三、……和第 k+1 行也同样无法恢复,因为每个数据中都缺少一半以上的数据。 将相同的逻辑应用于列得出结论,即无法恢复总数据。

换句话说,为了完全欺骗轻节点,恶意区块生产者需要隐藏至少 (k+1)^2 个数据,这可以通过轻节点的 DAS 轻松检测到。 这是因为轻节点查询 2k×2k 数据块的随机块,并且轻节点查询丢失数据的概率为 (k+1)^2/(2k)^2,这非常高。 如果我们假设 k=32,则概率约为 26.5%。 因此,可以通过多次查询以非常高的概率检测到恶意区块。 如果在 n 次查询后未检测到恶意区块的概率为 P(n),则计算出的概率如下:

  • P(1)=1−(0.265)=73.4%

  • P(3)=(0.734^)3=39.6%

  • P(15)=(0.734)^15=0.97%

因此,当 k=32 时,仅需 15 次查询,就可以超过 99% 的概率验证区块是否恶意。 总之,Celestia 最重要的特征是始终确保数据可用性,这是通过 1) 通过 2D Reed-Solomon 编码 扩展数据 和 2) 让轻节点从扩展数据执行数据可用性采样来实现的。 当轻节点从通过 2D Reed-Solomon 编码 扩展的数据中采样的数据块达到一定数量时,可以安全地恢复该区块,并且如果恶意区块创建者通过省略超过 (k+1)^2 个数据使其无法恢复,则不仅完整节点而且轻节点都可以轻松检测到这一点。

与现有区块链相比,在现有区块链中,轻节点别无选择,只能信任完整节点的安全性,Celestia 中最重要的特征是轻节点可以直接为网络安全性做出贡献。 如果参与网络的轻节点数量增加,则查询的数据块数量也会增加,这意味着 Celestia 的区块大小可以安全地增加。 在传统的区块链中,随着区块大小的增加,完整节点所需的最低硬件规范也会增加,从而导致潜在的网络中心化问题。 但是,在 Celestia 中,只需增加轻节点的数量即可增加区块大小,并且由于轻节点甚至可以在较低的硬件规范下参与 DAS,因此不会导致网络中心化,这是 Celestia 的主要特征之一。

2.4 廉价的数据费用

目前,基于以太坊的 Rollup 网络将交易数据存储为 calldata,由于以太坊的区块空间较小,因此会产生非常高的数据存储成本。 截至 2023 年 9 月,由于数据存储,Arbitrum 每天花费 2 万美元到 6 万美元,而 zkSync Era 每天花费 5 万美元到 7 万美元。 (即将到来的以太坊 Cancun-Deneb 升级将通过 EIP-4844 引入一个名为 blob 的新存储空间,旨在降低 Rollup 网络产生的数据存储成本)。

得益于纠删码和 DAS,Celestia 可以为 Rollup 网络提供大的数据存储空间。 因此,与基于以太坊的 Rollup 相比,Celestia 上的主权 Rollup 可以更便宜地存储交易数据。 Celestia 计划引入类似于以太坊的 EIP-1559 的机制来确定数据存储费用,甚至引入销毁机制。

2.5 命名空间默克尔树(NMTs)

Celestia 将众多 Rollup 网络的数据存储为 DA 层。 因此,来自不同 Rollup 的各种交易数据都混合在 Celestia 中。 每个 Rollup 如何检索与其对应的交易数据? 为此,Celestia 引入了命名空间 Merkle 树(NMTs)

Untitled

来源:Celestia

NMT(命名空间 Merkle 树)由 Merkle 树 组成,该树由按命名空间标识符排序的叶子组成,允许 Rollup 证明他们已提取所有与其相关的交易数据。 例如,假设总共有 8 条数据(D0-D7),如上图所示。 每条数据都有命名空间标识符(即 D0: 1, D4: 2)。 现在,创建了对应于每条数据的哈希值的节点(N0-N7),这些节点用于形成 Merkle 树

如果与命名空间 2 对应的 Rollup 想要获取其所有数据,Celestia 提供 D3、D4、D5、D6,并且为了证明这是命名空间 2 的所有数据,它提供 N2、N8、N7。 Rollup 可以使用给定的数据和节点计算 Merkle 根,并验证它是否与区块头匹配。 另一方面,假设 Celestia 仅提供 D4、D5。 那么,应该提供 N11 和 N12 来计算 Merkle 根,但由于 N11 是 2-3,N12 是 1-2,每个都是包含与命名空间 2 对应的数据的节点,Rollup 可以确认它已收到较少的与命名空间 2 相关的数据。 换句话说,即使来自众多 Rollup 的数据混合在 Celestia 中,由于 NMT,每个 Rollup 都可以仅获取他们想要的数据。

2.6 Blobstream

Blobstream 是一种允许基于以太坊的 Rollup 使用 Celestia 作为 DA 层的技术。 使用 Blobstream 的 Rollup 在形式上类似于 有效性证明(validium)。 有效性证明(Validium) 是指基于以太坊网络的可扩展性解决方案,以及将交易数据存储在链下而不是以太坊上的 L2。

Untitled

来源:Celestia

如上图所示,使用 Blobstream 的 L2 使用以太坊网络作为结算层,Celestia 作为 DA 层。 由于结算层和 DA 层是分开的,因此有必要在以太坊网络上验证存储在 Celestia 中的数据是否可用。 这是由以太坊网络上存在的 Blobstream DA 合约执行的。 来自 Celestia 的 DA 证明被传递到以太坊网络上的 Blobstream DA 合约。

DA 证明是由 Celestia 验证器签名的 L2 数据的 Merkle 根,证明该数据在 Celestia 中可用。 Blobstream DA 合约验证从 Celestia 收到的 DA 证明是否已由超过 2/3 的验证器签名,并确认相关数据在 Celestia 中可用。 最近,Eclipse Mainnet 已成为使用 Blobstream 的代表性示例,通过公开使用以太坊作为结算层,并使用 Celestia 作为 DA 层。 Arbitrum 的 Rollup 框架 Arbitrum Orbit 也支持通过 Blobstream 将 Celestia 作为 DA 层。

Untitled

来源:Celestia

Blobstream 由两个组件组成:编排器中继器。“证明”是签名的请求。 当在 Blobstream 模块中创建数据承诺时,编排器 会查询并对其进行签名,然后将其发送到 Blobstream P2P 网络。 中继器 从 Celestia 完整节点查询证明,并从 Blobstream P2P 网络查询已签名的证明。 一旦确认超过 2/3 的签名,它就会将其发送到目标 EVM 链上的 Blobstream DA 合约。

在 Blobstream 中,存在产生大量成本的缺点,因为以太坊上现有的链上轻客户端会验证 Celestia 的数据根签名。 为了解决这个问题,Succinct Labs 开发了 Blobstream X。 Blobstream X 引入了 ZK-Tendermint 轻客户端来简化 Celestia 签名的验证,从而减少了包括成本在内的各种负担。

2.7 $TIA 代币经济学

Untitled

来源:Celestia

2023 年 9 月,Celestia 推出 TIA 代币。 TIA 的总供应量为 10 亿,其中 6000 万(6%)指定用于创世空投。 初始供应的代币分配和锁定计划如上图所示,TIA 代币的用途包括:

  • 区块奖励:作为一个基于 Cosmos SDK 的区块链,TIA 代币被用作验证器的区块奖励。

  • 数据存储成本:Rollup 网络向 Celestia 支付 TIA 代币来存储交易数据。 支付更高的费用可以优先包含在区块中。

  • Rollup 代币:类似于 ETH 在基于以太坊的 Rollup 中的角色,基于 Celestia 的主权 Rollup 可以使用 TIA 作为原生货币。

  • 治理:TIA 代币用于关于网络参数决策和社区池的治理。

3. 生态系统

作为一个以太坊生态系统之外的著名模块化区块链项目,许多项目将使用 Celestia 作为 DA 层。 这里有一些例子。

3.1 Rollup

3.1.1 Manta Pacific

由 p0x Labs 开发的 Manta Pacific 是一个基于 Celestia 的 EVM Rollup,它使用 Caldera 和 OP Stack。 Manta Pacific 引入了 Universal Circuits 2.0,允许开发者在无需学习 zk 特定语言的情况下部署 zk 应用程序。

3.1.2 Eclipse Mainnet

Eclipse Mainnet 是一个 L2 网络,它使用以太坊作为结算层,并使用 Celestia 作为 DA 层,是 Celestium 的一个例子。 Eclipse 一个吸引人的方面是它使用 SolanaVM(而非 EVM)作为执行环境,继承了以太坊的强大安全性和 SolanaVM 的速度。

3.2 共享排序层

共享排序层外包了 Rollup 网络中的排序或交易排序过程,提供了各种优势,例如 1) 抗审查性,2) 改进的活跃性,以及 3) 跨 Rollup 可组合性。

3.2.1 Astria

Astria 是 Celestia 生态系统中的一个共享排序层,其中排序器遵循 CometBFT 共识算法。 使用 Astria 的 Rollup 网络可以遵守两种类型的最终性。 第一种是包含在 Celestia 中之前从 Astria 共享排序器获得的软承诺,第二种是包含后收到的硬承诺。

3.2.2 Fairblock 网络

Fairblock 网络 利用执行前隐私解决方案,并使用 Celestia 作为 DA 层。 通过基于身份的加密(IBE)加密交易,并在内容保持隐藏的同时对其进行排序,Fairblock 解决了恶意 MEV、审查和抢先交易问题。

3.2.3 Radius

Radius 是一个共享排序层,它采用实用可验证延迟加密(PVDE)和 ZKP,使用 PVDE 加密用户交易,并在排序后对其进行解密,即使使用单个排序器也可以缓解恶意审查问题。

3.3 RaaS

Rollup 即服务 (RaaS) 协助开发者轻松部署 Rollup 网络。 目前,一些 RaaS 项目提供 Celestia 作为 DA 层选项之一:

  • Rollkit 是主权 Rollup 的一个框架,以提供与 ABCI 兼容的客户端接口而闻名。

  • OP Stack 是一个基于 Optimism 的开源技术堆栈,并在以太坊生态系统中被广泛使用,它可以利用 Celestia 作为 DA 层。 此外,基于 OP Stack 的 Caldera 也可以利用 Celestia。

  • Dymension 提供 Dymension Hub,利用 Celestia 作为 DA 层,以及 Dymension RDK,方便应用程序 Rollup 部署(Rollapps)。

  • AltLayer 是一个无需代码的工具,可以轻松实现 Rollup 部署。

  • Sovereign SDK 是一个框架,可以轻松开发 zk 主权 Rollup,并支持 Celestia 上的 zk Rollup。

  • 除了 Arbitrum One 和 Arbitrum Nova 之外,Arbitrum 的 Rollup 框架 Arbitrum Orbit 还支持将 Celestia 作为 DA 层。

3.4 其他

3.4.1 Osmosis

Osmosis 是 Cosmos 生态系统中的一个著名 DEX,也是 IBC 生态系统的流动性中心,计划在 Celestia 生态系统中提供各种功能,例如为基于 Celestia 的主权 Rollup 提供跨链流动性,以及抽象数据费用以允许以 TIA 以外的代币进行支付。

3.4.2 Catalyst

Catalyst 是一种跨链 AMM 协议,可以跨以太坊、Cosmos、Optimism 和 Eclipse 等众多网络交换资产,并计划支持基于 Celestia 的 Rollup 的简单跨链交换。

4. 最后的想法

在当前由依赖以太坊的智能合约 Rollup 主导的格局中,Celestia 将允许 Rollup 保持主权,仅向主权 Rollup 提供共识和 DA 服务。 本质上,区块链将参与者的社会共识封装到结构化的协议中,而这种社会共识是关键要素。 与固有地依赖结算层社会共识的传统智能合约 Rollup 不同,即使作为 Layer 2 解决方案,主权 Rollup 也有能力形成自己的独立社会共识。 Celestia 源于 2019 年 LazyLedger 白皮书奠定的基础,它希望通过提供安全且可大规模扩展的数据可用性层,为新的可能性(特别是主权 Rollup 的出现)铺平道路。

感谢 Kate 为本文设计图形。

  • 原文链接: 4pillars.io/en/articles/...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
4pillars
4pillars
江湖只有他的大名,没有他的介绍。