Celestia 网络是如何解决数据可用性问题的

  • IBCL
  • 更新于 2023-06-21 18:10
  • 阅读 1326

多年来,应用链理论已经以各种方式实现。随着时间的推移,对模块化的需求在增加,因为链开发人员意识到,通过外包运行dApp所涉及的一些工作,可以更有效地扩展他们的平台。

640.png

多年来,应用链理论已经以各种方式实现。随着时间的推移,对模块化的需求在增加,因为链开发人员意识到,通过外包运行 dApp 所涉及的一些工作,可以更有效地扩展他们的平台。最初仅保留给主权链,通常使用 Interchain Stack 构建,应用链现在演变为从 Cosmos Hub 租赁安全性的消费链,以及依赖 layer-1 链执行一些结算和桥接工作的rollups。随着这些变化而来的是不同的安全假设和需要解决的问题。

Celestia在解决一个称为数据可用性的特定问题,在解释这些如何与项目相关问题之前,需要了解 Web3 中的最前沿的探索:模块化。

单体 layer-1 链所做的工作,包括以太坊和主权 Cosmos 链,可以大致分为 4 层:

  • 执行层处理交易,并负责更新链上的状态。
  • 结算和桥接层负责完成交易,或者更确切地说,毫无疑问地确认交易是有效的。这特别适用于rollup。
  • 共识层是多方就区块包含的内容及其交易的排序方式达成协议的地方。
  • 数据可用性层负责确保每个人都可以访问已提交到网络的正确交易。

在基于 Cosmos SDK 的链有自己的验证器集并作为主权应用链运行的情况下,共识层基本上负责数据可用性和交易的最终结算。但是,除非选择像Interchain Security这样的共享安全解决方案,否则启动主权链需要您拥有一组验证器和一个Proof-of-stake Token。除了使用代币启动链的法律和操作复杂性之外,还需要注意扩展方面的考虑。

640-1.png

Rollup的有效扩展

随着网络的规模的增长,区块链不可能三角变得更加明显。似乎必须在网络安全、去中心化程度或网络效率方面做出牺牲。对于单体链,改进其中一个是以牺牲另一个为代价的。然而,通过模块化协议所做的工作,我们可以看到这个三难困境中的一些组件特定于模块化堆栈中的每一层。

例如:获取交易并将其处理为状态变化的执行层需要快速的吞吐量。它是否去中心化和安全可以说是无关紧要的,只要有足够去中心化和安全的结算、共识和数据可用性层来保证和验证正确的交易正在执行。

执行层的某种程度的去中心化有助于网络的活跃,但对于防止任何形式的不当行为并不重要。换句话说,它不会影响关于网络的任何信任假设。

通过模块化区块链堆栈,开发人员能够外包操作区块链所需的大量工作。应用程序开发人员全权负责执行层,这可以显着提高扩展性并缩短开发时间。这基本上就是为什么Rollup现在如此有效和流行的原因,通常被称为第2 层。

Rollup允许一个或多个服务器在链下执行交易,而无需等待缓慢的共识算法就块的内容达成一致。这似乎不安全,但他们可以通过在所谓的zK-rollups的情况下提供计算量大的有效性证明来做到这一点而不会带来重大风险,或者通过提供一个时间窗口,节点运营商可以在其中提交错误证明作为某人行为不当的证据,就像在optimistic rollup的情况下一样。然而,在这个框架内,一个新的问题出现了:数据可用性问题。

640-2.png

数据可用性

当用户在rollup上提交交易时,消息会直接发送到排序器,可以将排序器当成一台非常快的计算机,它通过链下流程将这些交易批量组合在一起。将其压缩成更小的尺寸后,然后将批次提交到结算层(比如以太坊)。

目前,大多数rollups使用单个排序器,这通常是安全的。但是rollups无法保证的是排序器是否诚实地说明提交了哪些交易,以及它是否向每个人发送了相同的数据,这就是数据可用性最核心的问题。

结算层或正在同步网络的节点任务是检查rollup所做的工作,默认情况下,rollups 不能简单、廉价地证明排序器将所有传入的交易处理到一个块中,或者已添加到块中的交易都在公共域中。因此,排序器可以审查用户提交的交易数据,甚至阻止它被结算层验证。

640-3.png

Celestia的解决方案

Celestia 网络是一个模块化的共识和数据网络,为可扩展、安全的 Web3 应用程序提供支持。它是第一个模块化区块链网络,可以轻松部署新的区块链。它是一个独特的第 1 层区块链,仅对交易进行排序并验证已发布的数据是否可用,允许在其上部署专门的区块链。Celestia 网络接收来自排序器的所有传入用户事务,尽管它也可能是他们进入要执行的汇总之前的第一个接收方,具体取决于Rollup的配置。以下是一个交易全过程的案例解释:

1、假设您正在使用 Keplr 在rollup协议上向朋友发送一些 $ROLL代币。提交后,发送消息首先传输到rollup协议的排序器。

2、Sequencer是一台作为运行Roll协议的链下进程运行的计算机,现在查看所有交易并根据Roll协议的当前状态对其进行测试,以查看它们是否真正有效。它会检查它是否包含有效的接收方地址,以及足够的 $ROLL令牌等。

3、然后将有效的消息收集到一个块中并由排序器执行,这意味着对其存储进行更改。交易双方的的钱包余额会更新,以反映正在交换的代币。

4、紧接着这个包含交易的区块由排序器共享给 Celestia,并放在“rollup协议”命名的空间中,它实际上只是一个标签,用于保持数据易于分离。之后Celestia网络上的验证者就区块内容达成一致,并在网络上最终确定,并分发给所有节点。

5、同时,作为区块一部分的所有成功的交易都被排序器变成一批,并提交给结算层,结算层通常像以太坊这样的第一层链上的智能合约。结算层是区块链,如果有人确定特定交易无效则会将故障证明发送到该区块链。

Celestia 并不关心每笔交易包含的内容。事实上它甚至无法理解这些交易,因为 Celestia 上没有同一种语言的执行环境,通过这个模块化堆栈分离这些关注点。排序器可以专注于真正快速地执行交易,结算层可以专注于安全和提供桥接功能,而共识和数据可用性层可以专注于去中心化。通过确保负责网络运行的每个子组件都是高度专业化的,这极大地提高了可扩展性和优化。

640-4.png

Rollups & 主权链

构建rollup和使用 Celestia 网络好处有很多,比如可以增加协议的吞吐量,消除网络上对验证器的需求,甚至可以在没有Token的情况下启动。以下是关于构建rollup与主权应用链之间的一些区别:

  • 可扩展性和效率,与主权 Cosmos SDK 链相比,使用 Celestia 的rollup通常会提供更高的可扩展性和效率。这是因为rollups将大部分交易的处理放到了第2层,从而可以提高效率和容量。而主权链则受到共识算法的限制。
  • 活性与去中心化,Rollups通常使用单个排序器运行,如果排序器离线了,那么rollups的冗余和活跃度受到的影响将会非常大。
  • 安全性, Rollups利用底层结算层的安全性,而主权链需要确保自己网络的安全性。如果选择使用主权 Cosmos SDK 链,就需要确保有大量不同的验证器来保护你的网络,以及足够大的市值。
  • 复杂度,与使用 Cosmos SDK 创建主权链相比,构建rollup系统可能更复杂。这是由于需要管理rollup、Celestia 和结算层之间的交互,如果没有足够的经验,主权链可能是更好的选择。
  • 互操作性,Cosmos SDK 链受益于区块链间通信(IBC) 协议,支持不同的链进行互操作。虽然rollups有可能与其他链交互,但细节将取决于具体的实现,并且可能会更复杂。在大多数情况下,rollup使用结算层作为桥接中心。

在使用 Celestia 的基于 Cosmos-SDK 的Rollup和主权 Cosmos SDK 链之间的选择取决于项目的特定需求和限制。在做出决定时,考虑可伸缩性、复杂性、安全性、数据可用性和互操作性等因素非常重要。

本文首发于:https://mp.weixin.qq.com/s/S60p8_UIMAfSZvudWGkwpA

点赞 0
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

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