本文探讨了模块化区块链和互操作性协议的定义及重要性,介绍了模块区块链的各个组成层以及如何通过外包运输层来实现互操作性。作者详细阐述了Polymer作为一个模块化互操作性协议的构建,强调其如何将运输层和部分状态层外包,以提高不同区块链间的连接性。
Thinking in Modular: Interoperability Edition
Modular 目前是 web3 领域一个流行的术语,许多协议和项目使用这个术语来描述自己。Celestia 通过引入模块化区块链的概念使这一术语更为普及。我们的目标是缩小这一术语的关注点和使用范围,给出一个非常具体的模块化互操作性的定义。我们还将介绍一个思维框架来评估模块化区块链和互操作性协议。
模块化区块链堆栈中有几个可组合的层:
- 结算
像以太坊这样的单体链将这三层整合为一,并将共识捆绑在一起。模块化区块链则将以上层分解为多个部分,实施一个或多个层,同时外包其他层。
请注意,这里没有包含共识,因为它可以捆绑在上述任一层中,以允许验证共识证明,而不是直接检查功能层的规则。
例如,可以在没有共识的情况下在 Celestia 上部署单节点汇总,依赖于欺诈证明来说服第三方证明正确性。这将被称为乐观 Rollup。如果我们将欺诈证明换成零知识(zk)证明,那么我们将得到一个 zk 汇总。如果我们加入共识,我们可以使用共识证明来说服第三方证明正确性。这将被称为悲观汇总。
一个 完整的互操作性协议有三个明确定义的层,层之间有清晰的分离。
每个互操作性层的简单定义:
为了将互操作性堆栈与现有概念联系起来,我们将使用一个不完美的类比,借用我们朋友在 Celestia 上普及的区块链堆栈的知识和广为人知的 OSI 模型。
由于模块化是一个经常被提及的术语,适用于各种场景,我们将试图将我们对模块化互操作性协议的定义与上述定义的层以及 Celestia 对模块化区块链的定义进行关联。Celestia 将模块化区块链定义为一个将至少一个功能层完全外包给外部链的区块链。我们将 模块化互操作性协议定义为一个将传输层完全外包的协议。
两者之间的关键区别在于 互操作性协议的定义层是传输层。此处的类比是,使用 OSI 模型作为示例,如果你将 TCP/UDP 替换为另一个传输协议,你将获得一个完全不同的网络协议。此外,状态层可以通过各种手段建立,并不唯一地定义互操作性协议(例如,轻客户端、零知识证明、乐观欺诈证明等)。应用层逻辑也可以被概括,并不使一个互操作性协议与另一个兼容。例如,将 IBC 传输替换为不同的传输层会使新协议与启用 IBC 的链不兼容。
状态层也可以部分外包,但仅仅外包并不能使协议变得模块化,因为它不是互操作性协议的定义层。当每个链直接运行其对等方的轻客户端逻辑时,视为完全链上。当轻客户端逻辑在链下运行,并利用零知识(zk)证明进行链上验证或使用受信任的第三方时,状态层被视为部分链上。
同时,将单体链模块化对互操作性协议的状态层也有影响。例如,单条逻辑链不再能通过单个轻客户端表示,因为各功能层的证明现在来源于多个链。
Polymer 正在构建第一个真正模块化的互操作性协议,该协议完全外包传输层,并部分外包状态层。如下面的图所示,IBC 传输层在 Polymer 上运行,而 IBC 应用层则在启用 IBC 的链上运行。通过这种设计,使用 Polymer 在新链上启用 IBC 就像向 Celestia 部署一个汇总那样简单。Polymer 通过使用 zk-IBC 连接连接到新启用 IBC 的链,从而部分外包状态层,而 zk 验证器则在链上(为了简单起见,未在上图中展示)。
让我们共同建设一个未来,让 IBC 成为所有链的标准互操作性协议。关于 IBC 的改进建议始终受到欢迎。欢迎在 discord 上与我们聊天。我们也在 招聘。当我们共同努力时,创新将加速!
感谢 Jim(Catalyst)和 Josh(Astria)的讨论!
Polymer 相信一个主要由一个开源、社区开发和维护的行业标准 IBC x Polymer 连接的多链未来。Polymer 是第一个集中于将 IBC 扩展到所有链的 IBC 传输中心。Polymer 中心将 IBC 传输层与连接的链集成。在状态层,它向所有集成的链打开 zk-IBC 连接。这是基于轻客户端状态证明验证的最小信任架构。
关注我们的 Twitter,访问我们的 网站,并加入我们的社区在 Discord!
- 原文链接: polymerlabs.medium.com/t...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!