Celestia 是否需要智能合约?
原文标题:《Routes to enshrining a settlement layer in Celestia》
撰文:Alex Beckett
编译:Kyle
Celestia 在 L1 区块链设计中是独一无二的,因为它没有智能合约功能。相反,它选择了尽可能简单的设计——消除了执行流程。这个想法是其他区块链,如 Rollup,可以成为用户部署智能合约的地方。同时,Celestia 为 Rollup 提供了他们需要的可扩展基础设施(共识和数据可用性)。
面对放弃智能合约,Celestia 无法为 rollups 提供任何结算服务。虽然结算是一个相对模糊的术语,但带有智能合约的结算层可以提供一些东西。
- 一个桥接中心(Hub),可促进 rollup 之间的代币传输。
- 用于验证欺诈证明和解决争议的争议解决。
- 一个流动性的来源。
就目前而言,如果 Rollup 打算使用 Celestia,同时还需要上面列出的任何结算功能,它可以使用 Celestia 之上的结算层。事实上,这个结算层只是一个 Rollup(所以我们最终会在一个 Rollup 上再添加一个 Rollup)。
虽然为结算而堆叠 rollup 是一种潜在的解决方案,但 Celestia 还可以采取哪些其他途径来载入结算层?
添加智能合约
将智能合约功能引入 Celestia 似乎违反直觉,因为它被明确设计为不具备这些功能。添加智能合约的主要问题是这抵消了 Celestia 从一开始因没有智能合约而获得的许多好处。其中一些权衡:
- 除了区块头和数据可用性之外,节点还需要验证交易的有效性。它们必须消耗和向网络提供除带宽之外的资源。 Celestia 不能再利用简单的 gas 核算(根据 Rollup 发布的数据大小收取 gas),但现在必须考虑与智能合约 gas 定价相关的所有领域,例如执行和状态存储成本。
- 轻节点将失去其信任最小化的安全属性,除非添加一个允许它们在不重新执行整个区块的情况下验证交易的证明系统。如果没有证明系统,轻节点的安全属性将不再等同于 Celestia 全节点。
- 状态增长的问题将被重新引入。就目前而言,Celestia 将状态增长降低到可能的最低速率(账户余额和验证者集信息)。添加智能合约会带来与臃肿状态相关的所有潜在问题,例如性能瓶颈和增加的节点需求。
Celestia 确实使用了 Cosmos SDK,因此它确实可以通过 CosmWasm 之类的工具直接集成智能合约。 添加智能合约的另一个好处是,Celestia 可以在其用于迁移代币的 Rollup 之间建立信任最小化的桥梁。
除此之外,使 Celestia 成为一个具有智能合约的 L1 会带来大量的权衡,其中许多可能是不可取的。
执行分片
这个想法需要添加另一个与 Celestia 相关的区块链。 Celestia 主链将保持最小化,而分片将具有用于 Rollup 结算的智能合约。有几种方法可以实现:
- Celestia 验证者成为分片的验证者:交易在分片上得到处理,验证者每 X 秒走一次共识流程。每个已确认区块的 Merkle 根都被检查到 Celestia 主链中。
- Celestia 验证者成为分片的区块生产者:交易由区块生产者处理并捆绑到区块中。带有任何欺诈 / 有效性证明的区块都会发布到 Celestia 主链。在这种情况下,分片就像一个 Rollup(enshrined rollup)。
选项 2 将使在分片上维护信任最小化的轻节点变得更加容易,因为它的运行类似于带有证明系统的 rollup。验证分片可能是减轻节点负担的选择过程。以轻节点为例,节点运行者可能有以下选择:
- 在 Celestia 主链上运行一个轻节点
- 在分片上运行轻节点
- 在主链和分片上同时运行一个轻节点
无论如何,如果节点想要完全的安全保证,他们应该同时验证主链和分片,这意味着增加了硬件要求。分片上的节点还必须对交易有效性感兴趣,而不仅仅是共识和数据可用性。然而,证明是一种可扩展的方式,可以降低验证交易的开销——尽管它们并非没有自己的权衡。
一个潜在的明显问题是分片会显着增加协议和工程的复杂性。如果以太坊技术不断复杂,那么区块链应该尽可能降低复杂性。
链间安全
分片的替代途径是可能的——链间安全(Interchain security)。链间安全的概念是给定链的验证者选择成为子链的验证者。子链本身可以是一条独立的链——拥有一个独立的社区——同时从提供者链那里继承安全性。
Celestia 可以使用链间安全的目的是将另一条链置于其安全之下,而无需创建与该协议密不可分的分片。也没有什么可以阻止 enshrined 结算层成为 Celestia 顶部的 L1 或 Rollup 层。
链间安全通过 Cosmos SDK 中的一个模块进行管理,与执行分片相比,该模块在引导和维护 enshrined 结算层方面引入的复杂性显着降低。
由于 enshrined 结算层将是一个明显独立的区块链,因此验证 Celestia 的节点不会有额外的要求。只有 Celestia 验证者需要参与验证。节点也可以选择验证结算层,但如果他们决定不这样做,它们不会失去安全保证。
Celestia 与其所供奉的结算层之间的桥梁的安全模型将取决于其实施。是标准 IBC、带有欺诈 / 有效性证明的定制 IBC,还是一种更深奥的桥梁解决方案?
简而言之,跨链安全可以让 Celestia 保持其围绕扩展和节点要求的所有技术优势,而无需分片的复杂性或将智能合约直接添加到链中。
可信的中立性
有一种可能的论点是,如果 Celestia 拥有一个结算层,它就会失去一些中立性——使其与位于其之上的所有结算层竞争。
Celestia 社区可能希望建立一个与在新领域竞争无关的结算层的原因有很多。
最终,可能会由社区来决定将结算层纳入 Celestia ——也许是通过治理投票或一些链下社会协调。 如果社区认为建立一个结算层符合其最大利益,那么也许这是一条值得追求的道路。