Cosmos IBC 研讨会的总结及展望

Cosmos IBC 研讨会的总结及展望

引语:

在”跨链对话”活动之前,来自Tendermint公司、跨链基金会(ICF)和Agoric的一群跨链互操作爱好者汇聚柏林,参加了为期两天的IBC研讨会。会议包括规范审查,以及关于协议和设计的激烈辩论,并对IBC v1的理想形式和未来IBC协议可信的运用方式作出了结论,本文将对此进行讨论。

第一天

第一天我们回顾了迄今为止设计的协议架构,如IBC架构文档中所述。我们讨论了主机状态机需求(ICS 23,24),客户端(ICS 2),连接(ICS 3)和通道(ICS 4)抽象,中继需求(ICS 18)以及更高级别的面向模块的接口( ICS 25和26),并在白板上绘制了整个数据流系统。

  • IBC架构文档:https://github.com/cosmos/ics/tree/master/ibc
  • ICS 23:https://github.com/cosmos/ics/tree/master/ibc
  • ICS 24:https://github.com/cosmos/ics/tree/master/spec/ics-024-host-requirements
  • ICS 2:https://github.com/cosmos/ics/tree/master/spec/ics-002-consensus-verification
  • ICS 3:https://github.com/cosmos/ics/tree/master/spec/ics-003-connection-semantics
  • ICS 4:https://github.com/cosmos/ics/tree/master/spec/ics-004-channel-and-packet-semantics
  • ICS 18:https://github.com/cosmos/ics/tree/master/spec/ics-018-relayer-algorithms
  • ICS 25:https://github.com/cosmos/ics/tree/master/spec/ics-025-handler-interface
  • ICS 26:https://github.com/cosmos/ics/tree/master/spec/ics-026-relayer-module

Cosmos IBC 研讨会的总结及展望

IBC 协议架构

一旦对每个IBC组件的工作方式有了整体的理解,我们就会检视如果某个组件不工作会发生什么。我们将故障分为五个不同的组,并考虑如何在协议里设计最佳的共识模糊检测,数据包确认和超时,以及连接/通道关闭,以便为应用提供清晰的方法来处理不同的故障情况。

Cosmos IBC 研讨会的总结及展望

失败类别

Cosmos IBC 研讨会的总结及展望

处理包&通道失败

作为这一天的收尾,我们讨论了两个先进的IBC功能集:多跳路由和有向无环图跨链部分数据包排序。围绕各种信任要求和存储/执行/延迟成本权衡,概述了三种多跳路由:应用层多跳,有效性代理多跳和路由层多跳:

Cosmos IBC 研讨会的总结及展望

我们决定优先交付IBC的v1版本,因此现在省略了这些功能(应用层多跳除外,因为已经支持了),但是协议内的多跳路由和有向无环图排序都是非常有趣的研究方向,它们将为IBC添加有用的功能——也许是在v2版本。Github上还在继续讨论(多跳路由,DAG数据包排序),IBC v1将适当选择通道和连接数据结构,以方便未来支持多跳。

  • 多跳路由:https://github.com/cosmos/ics/issues/138
  • DAG数据包排序:https://github.com/cosmos/ics/issues/131

第二天

研讨会第二天从审议确认开始:如何以最佳方式通知发送方他们的数据包已经被收到并处理(或者没有),同时最大限度地减少必要的计算和存储(这两者在区块链上都是相当昂贵的)。我们讨论了确认是否应该仅仅是数据包的收据,还是应该等同于数据包的执行(结论:目前看是后者),以及它们是否应该只在失败时发生还是成功时也需要(结论:都要,而成功确认可由应用配置)。

Cosmos IBC 研讨会的总结及展望

如何以最佳方式确认收到数据包?

第二天接下来由Mark Miller介绍Agoric的对象能力堆栈,分为两部分(中间因午餐/午休有暂停):相对路由和电子权利锚定。在演示之后,我们讨论了Agoric-IBC集成的可能性,并提出了把Agoric的VatTP跨机器传输层和IBC进行合并的计划(这很方便,因为二者几乎已经同构)。

  • 相对路由:https://www.youtube.com/watch?v=a0Wr2BvIixk
  • 电子权利锚定:https://www.youtube.com/watch?v=nNImbry1HLM

Cosmos IBC 研讨会的总结及展望

IBC <-> Agoric集成选项

最后,我们列出了各种计划实现IBC功能的语言(如果我们错过了哪个,请告诉我们:cwgoes@tendermint.com),并讨论如何最好地在开发者之间协调,构建与语言无关的与规范相兼容的测试套件,并将IBC协议安全地部署到生产中。

Cosmos IBC 研讨会的总结及展望

IBC实现及测试策略

结论

研讨会结束后,我们对结论进行了总结,并把它们分类成不同的问题,IBC v1所需的子集被整理到一个里程碑中。为最终完成v1规范及原型实现,Joon和我现在已经回到疯狂敲键盘模式 – 我们期盼Tendermint公司,ICF和Agoric之间未来的合作,欢迎与我们拥有共同愿景的人一起来帮助实现一个多功能、模块化、安全且无需许可的IBC协议。

  • 总结:https://github.com/cosmos/ics/issues/126
  • 里程碑:https://github.com/cosmos/ics/milestone/2

欢迎参与

想要跟踪IBC进展,请关注ICS代码库中的问题。如果您在考虑在自己的自治区块链中使用或计划使用IBC,请加入我们的IBC生态双周电话会议(我们也会在其中宣布未来的研讨会安排) ——请联系cwgoes@tendermint.com获取会议邀请。如果您对协议有问题、担忧或想要澄清的地方,请在ICS代码库上提交问题:

https://github.com/cosmos/ics/issues/new。

  • 跟踪IBC进展:https://github.com/cosmos/ics/issues/26

让我们在跨链的世界中相遇!

来源:COSMOS

本文由用户:跳舞精灵 发布,不代表网站的立场,转转请注明出处:http://www.maiyaotop.com/hangye/48071.html

发表评论

登录后才能评论