区块链 > 正文

RISnet详解IBC最新进展,展望区块链互联网应用远景

2019-07-13 12:42:35来源:

不仅详细讲解IBC跨链协议及最新进展,并表示IRIS Hub会是最早一个和Cosmos Hub通过IBC连通的网络。而在IBC实现之前IRIS Hub将与GDEX合作网关方案,更会通过iService提供链上链下的数据交换。

区块链互联网是Cosmos对区块链行业未来的远景展望,而IRISnet是Cosmos生态的重要参与方和贡献者。

主题演讲:IBC and The Brave New World

什么是IBC?

IBC是链间通信协议的缩写(Inter-Blockchain Communication Protocol)。通过数据包交换在多个不同的区块链网络之间转移数据和状态信息。最初的用途更多是通过IBC协议实现跨链通证转移。

IBC不是TCP/IP协议那样的三/四层网络和传输协议,它的目标是在两个独立的七层网络之间传递应用信息,所以需要链外的relay把数据包在链A和链B的网络之间做中继。链B收到链A的数据后必须能独立验证它所包含的证明信息,该证明代表了链A上的某个状态(及其对应操作)的真实性。为了让IBC协议能够工作,必须依赖基础的信任机制,要相信链A和链B里各自的共识算法,也要相信轻客户端验证,通过对区块头信息的验证,证明在区块链上曾经发生过的事情。

为什么需要跨链通证转移?

1、先看看跨链通证交换。大家经常说的跨链其实是几种通证交换机制:1)公证人机制,要依赖可信的第三方(交易所、网关、个人)完成通证交换;2)哈希时间锁合约(HTLC)通过算法确保通证的交换过程有一定的原子性,能大大降低对手方风险;3)双向锚定则是实现比特币和以太坊通证交换的一个机制。

无论是用公证人中心化的方式,还是用基于算法的方式,完成的都是通证交换。这就好比个人之间的外汇跨境兑换:你和你的同学在欧洲一起留学,后来你回到国内,你们两人在中国和欧洲都有银行帐户;他现在回国旅游探亲希望和你兑换人民币,于是你转人民币到他在中国的账户上,他对应地转一笔等值欧元到你在欧洲的账户上。并没有任何东西在这两个国家地区之间发生转移,而是价值发生了交换。与此相对照,跨链通证转移就好比外汇跨境电汇。

2、跨链通证转移是很酷的事,有很多额外的使用场景。

· 可以实现一种资产同时出现在多个链上;像稳定币USDT在三种不同的链上都发行了,如果可以跨链转移通证,我们就可以只在一处发行USDT,需要用到USDT的地方我们把它转移过去就好。

· 通过把通证转移到其它链,还可以享受其它链上的独有特性;比如比特币网络的转账效率低且隐私保护不如其它某些链;通过跨链转移,比特币可以在新链上获得想要的性能或隐私保护特性。

· 现在我们经常面临的治理问题是分叉,如果社区对一条链的发展达不成共识,那么往往导致社区分裂和网络分叉;通证跨链转移则可以带来无摩擦的社区治理:有不同想法的人可以新启一条链,社区成员自愿地把通证从原链转移到新链,这样不会产生分叉,通证不变,大家各自平行发展。

如何实现IBC--连接的生命周期

· 建立连接。在两条链之间首先要建立“连接”,也就是彼此的初始信任关系;在连接建立的那一瞬间两条链要交换基础的信任数据(信任根)-- 对PoS网络来说就是两条链的验证人公钥集,信任根必须是可以由第三方独立验真的。

· 保持连接。在整个连接期间要持续不断获得对方的新区块头,基于信任根和连续的区块头,可以从连接建立时对方的区块高度,连续验证后续任意高度区块头的正确性;这些区块头是验证IBC数据包的信任基础。

· 断开连接。当出现分叉或安全事件的时候,要及时关闭连接;这可以通过链上治理或自动作弊检测来触发。

如何实现IBC--数据包、回执和超时处理

· 数据包是由元数据(数据头)和不透明数据载荷(数据体)组成的报文。数据头包含类型、顺序号、源链ID、目标链ID、超时参数;数据体则包含需要区块链应用层来理解和处理的数据,也就是源链状态变化的证明。

· 回执是“反向”数据包,B链收到并处理完来自A链的数据包后,会给A链发一个对应的回执。

· 超时处理。源链在发送数据包时,可以在数据头里指定一个由目标链上的区块高度或时间戳表示的超时参数;目标链对收到的超时数据包将不予处理,而源链如果在发送的数据包超时后还未收到回执,就会对数据包对应的链上状态做回滚操作。

如何实现IBC--严格排序的消息传送

要想让整套系统工作,数据包的传递必须保持严格的全局排序:

· 共识算法确保链上交易的处理遵循单一精准排序。

· IBC协议确保关于链上交易处理状态的消息在跨链传递的过程中遵循单一精准排序。

· IBC用通道机制实现排序控制:每条链为每个连接都维持发送和接收两个通道,每个通道维持一个计数器,发送通道的计数器为流出消息生成顺序号,接收通道的计数器则用于校验流入消息的顺序号。

· 严格的排序保证是对全局状态一致性进行推导的前提条件。

如何实现IBC--共识要求

IBC协议安全需要共识算法的最终性来防止双花,不同共识算法的最终性表现不一样:

· Tendermint和PBFT类共识算法满足即时最终性(最理想)

· 以太坊的Casper FFG共识算法提供快速最终性

· 比特币类共识算法(PoW, Tezos)提供概率最终性,需要应用层选择安全阈值

IBC规范和开发进展

IBC最早由Cosmos项目方提出,是Cosmos项目对区块链世界的重要贡献。IBC涉及很多不同类型区块链和共识引擎之间的复杂交互,需要区块链社区的广泛合作,目前已经得到越来越多区块链项目的参与和支持。

围绕IBC协议规范的设计采用了开源技术标准制定的常见流程,相关活动的关键讨论和交付物可以在下面这些Github仓库中找到:

https://github.com/cosmos/ics

https://github.com/cosmos/ics/tree/master/spec

IBC协议的代码实现可以在这里看到:

https://github.com/cosmos/cosmos-sdk

如果大家有兴趣参与标准制定和代码开发,可以加入IBC工作组:

https://t.me/ibcprotocol

Cosmos是什么?

在不同场合下Cosmos有不同含义:

· Cosmos是由注册在瑞士的跨链基金会发起跨链项目,背后的核心开发团队是位于美国的AIB公司(即Tendermint公司)。

· Cosmos SDK是一个整合了Tendermint共识引擎、基于模块化设计的开发工具包,可用于快速开发区块链系统。

· Cosmos Hub是基于Cosmos SDK开发的区块链,目前主要定位是做通证跨链转移的枢纽,ATOM是这条区块链上用于质押的原生通证。

· Cosmos Network是Cosmos对未来区块链行业发展的一个远景展望:由成百上千自治区块链通过IBC协议连接起来的“区块链互联网”。

Cosmos网络“拓扑”

图中每个六角型代表一个自治的区块链P2P网络。为了做跨链信息转移,如果采用两两连接的话效率很低,Cosmos建议采用以枢纽(Hub)为中心的交换结构;如果只有一个Hub的话需要维护的连接数据量会非常大,性能也会成问题,存在扩展性方面的瓶颈,所以Cosmos网络一定是多Hub(甚至多级Hub)的结构。

Cosmos网络里最早上线的两个Hub是Cosmos Hub和IRIS Hub,围绕这两个Hub正在快速形成一个生态圈:Kava是基于通证抵押的美元稳定币平台;Axonomy是去中心化的区块链投资社区;e-Money是基于Cosmos SDK开发的欧元稳定币平台;PlatON是知名的可信计算平台。将来会有越来越多的项目加入到Cosmos网络中来。

IRIS Hub是基于Cosmos SDK开发的区块链系统,在SDK标准模块基础上增加了更先进的链上治理模块和软件升级模块:

· 基于链上治理模块的提案和投票流程,社区可以对每个模块的核心参数进行在线实时修改。

· 软件升级模块允许在不分叉不停网的情况下,在线整体升级区块链节点软件。IRIS Hub是所有基于Cosmos SDK的BPoS网络里唯一实现了链上升级功能的,工作机制类似比特币网络的矿工激活软分叉(MASF)。

链上治理和软件升级能力赋予IRIS Hub自我完善和进化的能力,各种优秀的功能都可以通过此方式不断地添加进IRIS Hub。

IRIS Hub还有一个颇具特色的Service模块,通过它可实现链上链下信息通联(包括Oracle功能)。八月初将通过链上软件升级引入资产管理和资产交换功能模块。

今年年底IBC实现后IRIS Hub会是最早一个和Cosmos Hub通过IBC连通的网络。

IRIS Hub 遇见BitShares(比特股)

我们将会与比特股网络上著名的网关和交易所项目GDEX开展合作,通过GDEX网关把比特股网络上的bitCNY稳定币引入到IRIS Hub。在IBC实现之后,bitCNY将经由IRIS Hub进入整个Cosmos网络,成为全网都可使用的锚定人民币的稳定币。

我们还会通过GDEX网关给IRIS Hub上的DeFi应用引入多种主流通证;而GDEX网关将随着IBC的成熟和发展,逐渐演进为Cosmos网络中的一个IBC中继网络。

相关阅读

  • 电影花絮
  • 电影情报
  • 圈子新闻
  • 电影新闻
  • 电影搜罗
  • 电视剧
  • 影视演员
推荐阅读