首页 > 阿童木(Cosmos) > 正文

Cosmos IBC 研讨会的总结及展望

Cosmos互联链 2019-07-11 18:00

  

  引语:

  在“跨链对话”活动之前,来自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

  

  IBC 协议架构

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

  

  失败类别

  

  处理包&通道失败

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

  

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

  多跳路由:

  https://github.com/cosmos/ics/issues/138

  DAG数据包排序:

  https://github.com/cosmos/ics/issues/131

第二天


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

  

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

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

相对路由:

https://www.youtube.com/watchv=a0Wr2BvIixk

电子权利锚定:

https://www.youtube.com/watchv=nNImbry1HLM

  

  IBC <-> Agoric集成选项

最后,我们列出了各种计划实现IBC功能的语言(如果我们错过了哪个,请告诉我们:cwgoes@tendermint.com),并讨论如何最好地在开发者之间协调,构建与语言无关的与规范相兼容的测试套件,并将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

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

  注:本博文中的细节和观点仅代表All In Bits Inc(即 Tendermint Inc),并不一定代表ICF的观点和行动。

  

阅读更多

上一篇:返回列表

下一篇:旧金山区块链周 | Cosmos DeFi黑客松欢迎来撩!

您可能喜欢:

关于我们联系我们自媒体进驻
Copyright © 2013 比特巴手机版
币圈人都爱上的网站,新闻行情教程人物测评资讯大全