链节点线下活动 | 跨链技术与新机遇

链节点线下活动 | 跨链技术与新机遇_第1张图片

6月30日,ChainNode(链节点)在上海举办了主题为《跨链:技术与新机遇》Chainge技术沙龙。ChainNode(链节点)是Chainge沙龙系列的主办方。IRISnet创始人&Cosmos中国负责人Harriet作为演讲嘉宾也受邀参与本次活动,她演讲的主题是《并行不悖的跨链实践:IBC跨链通信协议和iService跨链服务》。

一同受邀参与本次活动的嘉宾还有Nervos联合创始人吕国宁,比原链首席架构师 James ,ChainLink中国社区负责人条子哥等嘉宾结合自身项目进展为大家带来跨链技术的精彩解读,本场圆桌的主持人是Random Capital合伙人刘毅。

Harriet首先简单介绍了一下:IRISnet专注于跨链服务,IRISnet开发团队也是Cosmos在中国的开发者,同时也参加了SDK的开发。Cosmos对业界最大的三个贡献:Tendermint、 Cosmos SDK、IBC。

2017年团队在参加Cosmos SDK开发,中国团队给里面一些重要模块做了很多贡献。

2017出去参加分享的时候,大家觉得跨链是伪命题。2018大家倒是会觉得跨链很牛,2018年底被问及最多的是什么时候上线。所以我想分享一下,跨链为什么这么难?

跨链为什么这么难?

链节点线下活动 | 跨链技术与新机遇_第2张图片

第一个,资产信息从一个网络可信地传递到另一个网络,而且需要是在去中心化分布式网络环境下, 但是这个环境是很复杂的,信息可能会丢失,里面很多不可信的拜占庭因子进行主观或者非主观的作恶。怎么保证一个区块链接受来自另一个区块链的信息是真实的,没有被作恶的?

第二,怎么通过分布式共识,实现交易真实性?也就是不能双花,不能double spending。那么到了跨链的问题上,增加了复杂度。比特币转到另外一个网络的时候,怎么保证原生链的资产数目保持一致,就是没有双花。

第三,就是需要保证进程的原子正确性,交易要么成功,要么失败。如果我们现在进行一笔跨链交易,从以太坊发到IRIS Hub上,万一中间有信息包的丢失,怎么保证它要么成功,要么失败?因为这些链的共识机制其实都不一样。这些就是跨链在去中心化的环境下需要解决的非常难的问题。

Cosmos团队在2018年4月份完成了IBC的原型,在上海的边界智能发了一笔IBC交易,发到Cosmos的Gaia去,转不回来了。所以发现在底层共识上还需要更多的高效、容错的机制,后面在Tendermint上做了代码重构。

跨链技术

链节点线下活动 | 跨链技术与新机遇_第3张图片

Harriet表示谈到跨链,很多人可能会对一些概念有理解偏差。比如交易所并不是严格意义上的跨链,不是资产在链上转换。中心化交易所通过网关完成资产交换。资产的交换或者说简单的交易和通用跨链通讯协议是不一样的。

另外,严格意义上,哈希锁定不是通用跨链技术。如在ImToken上,通过哈希锁定,可以保证交换的原子性。但它没有完成资产链上转移,比特币还是在比特币链上,以太坊还是在以太坊链上。

涉及到跨链过程中完成信息在网络上的传递,有一种方法是公证人机制,最著名的是Ripple的Interledger协议。完成两个链之间的信息交换的时候,需要第三方可信托管的机制,是非常中心化的角色,偏向于联盟的角色,但也是迈向去中心化有所进步。

接着,Harriet谈到了侧链/中继链,主要是为了解决区块链性能问题。侧链技术最早代表是Blockstream,它实现了侧链和主链之间互相维护的轻客户端,能够保证区块头信息的同步。侧链就是为了高效地解决这个问题而诞生的。还有一种就是中继链的形式。而Cosmos就是对侧链技术进行了优化,把中继的特性融合到了基础设施中,同时做出了IBC。

为什么我们需要跨链IBC?

链节点线下活动 | 跨链技术与新机遇_第4张图片

谈到为什么我们需要跨链IBC,Harriet表示:跨链不是简单解决资产的交易问题,而是类似于TCP/IP的通信协议,能够保证资产在异构网络中的流动。跨链技术可以给我们带来互操作、扩容、治理、安全的场景。如果BTC作为一个价值存储的网络,如果我们想用BTC参与ETH上的DeFi,是不能在BTC网络上进行的,但是有了跨链通信协议可以把BTC转到ETH链上,进行智能合约编程。

另外跨链可以给我们带来扩容。最一开始侧链就是为了解决扩容而生的。而有了通用跨链协议,以太坊跑不动的应用时,Cosmos上就可以通过Ethermint兼容以太坊虚拟机,把智能合约部署到Ethermint上面 ,可以当做以太坊的侧链,把应用跑在Ethermint上。

还有治理问题,这就涉及到解决区块链不可能三角。如果我们想要增加一个功能,在大公链上就需要考虑到整个生态的安全,要获得节点矿工同意。但是如果围绕这个功能,有应用专有链的话,就可以更加快速专注地完成治理的问题。所以大家可以围绕应用专有链打造自己的功能,但是需要互操作的时候,就通过跨链枢纽来解决。

至于安全的问题,我们可以把复杂的大问题切一切,把问题变小,每一个小问题就可以更好地解决。Cosmos在一开始采用了非常开放的架构,每一个链完成跨链交易处理,可以通过多枢纽合作,当一个枢纽出现问题,另一个可以承担跨链功能上的支持。

Cosmos跨链通信协议(IBC)

链节点线下活动 | 跨链技术与新机遇_第5张图片

随后Harriet介绍了一些Cosmos IBC特点:基于异步网络的去中心化的信息传递系统。需要完成跨链时,Hub会专门处理跨链传输交易。链和链之间,要获得信任,就需要获得所有验证人节点的公钥,看它的签名是否匹配。但去中心化环境是非常复杂的,你不知道不知道节点是否发生变化。所完成对接后,IBC还需要实时同步。

为了传递的信息真实可靠,IBC是基于Merkle树的可靠消息队列,保证正确顺序,同时IBC中加载了消息的Merkel 证明。

链和链之间还有在跑一个中继进程,不对任何跨链信息做处理,只看end point。如果只在本链,就不管它。如果在另一条链,中继进程就给到它分到它链接的跨链枢纽里面。分布式环境中有很多relay,可能把信息传错传丢。针对这个问题,IBC有高级消息类型:超时、状态清理、断连等。

链节点线下活动 | 跨链技术与新机遇_第6张图片

这是一个更详细的网络拓扑结构。如果网络底层共识基于Tendermint,对我们来说是非常方便,因为Tendermint很高效的拜占庭容错共识机制。它有一些很好的特性以支持跨链。因为它通过两轮2/3的投票达成共识,当区块被任何节点矿工拿到以后,只要完成两轮2/3投票,就可以确认最终状态,速度非常快。每个区块当你看到它时,就是最终状态,可以把交易传递到下一枢纽。

但是对于像ETH、BTC的网络,都不具有一块最终性。我们会给它们做一个锚定分区,保证锚定分区内的状态具有最终性。如果我想把一个ETH代币转到IRIS Hub上,在以太坊上就会跑一个跨链智能合约。如果要转账,在这个智能合约中锁定ETH,通过Tendermint同步相关状态、IBC找到最近的跨链枢纽Cosmos Hub,验证者节点会围绕跨链交易确认是否是真实信息、是否是一个可靠状态,然后它就会把跨链信息传递到IRIS Hub上。在IRIS Hub接收到之后,通过IRIS Hub和Cosmos Hub之间建立的互信,在里面新产生特殊的ETH代币,再有一系列消息会传递回来。完成了确认了以后,这样跨链的交易才真正完成。一旦中间有任何中断,锁定的ETH返回到原地址。

Cosmos Hub:跨链枢纽

接着,Harriet还谈到了跨链如何更好支持应用需求。跨链枢纽解决跨链的可信验证,各个链有专门的功能,通过跨链枢纽,把应用专有链之间进行必要信息转换,这样就可以让大家非常高效的进行这个过程。需要交互的时候,应用专有链就可以有一个可信高效的接口支撑。

链节点线下活动 | 跨链技术与新机遇_第7张图片

而Cosmos SDK可以快速打造区块链,核心是Tendermint,还有比如权益质押、在线治理、slashing、IBC等模块。在Cosmos体系里,每一个链都自主独立的区块链,可用Cosmos SDK快速打造。IRISnet就是用了Cosmos SDK打造的支持跨链服务的枢纽,它有Cosmos SDK中的模块,IRISnet还给SDK贡献了基于服务的基础设置、IBC增强,能保证跨链不仅仅是通证转移,还有复杂计算、数据通过跨链服务可以进行互操作。

IRISnet代码库里有对于服务的支持、可以支持DeFi的多资产管理(原生资产、网关资产、跨链资产)、在协议层支持安全的网络功能软件升级。

跨链服务iService

链节点线下活动 | 跨链技术与新机遇_第8张图片

通过里面一个基础模块,如果有计算数据传递,不需要升级网络,只要通过iService的接口去定义服务是什么样的,那么另外的客户端就可以调用它。同时对中继进行了扩展,能够保证跨链枢纽接受到IBC信息包的时候,验证是否成功跨链。

目前iService已经在线,包括服务的定义、绑定、调用,是一个非常灵活的开发接口。通过这个接口,如果有IBC,那么可以把应用发布到自己的链上。如果没有完成IBC,通过服务的接口,把公链甚至一些中心化计算发布在Hub中,通过Hub通信,保证高效可信的交互。

链节点线下活动 | 跨链技术与新机遇_第9张图片

举个iService的例子,一个DeFi 应用需要用某个通证对BTC的全网收盘价来计算每日的理财盈利。service provider 可以链接中心化系统API(比如CoinMarketCap )通过iService 的CreateServiceDefinitionTx发布通证全网价格的查询服务,该服务可以通过 CreateServiceBindingTx  发布在任何支持 iService 的区块链上,比如上图 中的IRIS Zone 或者IRIS Hub。如果希望该服务能够被其他支持iService 的区块链可见,只要简单地通过 BindingExposedChainIDs ([]enum) 给同意调用的其他区块链开白名单,然后利用IRISnet 加强了的 IBC协议,这个服务定义和绑定地址信息就传递到被允许的其他区块链中了。这些白名单上的区块链中的客户端,就可以通过标准服务访问接口PostServiceRequestTx ,访问服务,甚至不需要知道这个服务是否部署在本链。

iService 非常灵活,并不依赖IBC,当IBC没有开发完成时,服务也可以直接绑定在IRIS Hub 上,通过iService provider 来适配,链和链间的可信交互通过IRIS Hub 来验证,但具体服务业务逻辑是跑在Service provider 连接的链或中心化系统的,并不会给 IRIS Hub 带来太大的计算负担。

有了IBC和跨链服务后,可以让应用之间更加高效地开发。目前IRISnet和复兴合作的在保证隐私下的医疗数据跨链,有点类似于联盟链。IRISnet上有PlatON这一隐私计算的服务提供方发布在IRIS Hub上。如果有数据进行代理层加密操作,在BEAN上通过IRISnet Hub可以享受PlatON提供的隐私计算。

七月份,IRIS Hub也会对DeFi进行多资产支持,Axonomy将会发布自己的原生资产。IRISnet也会有网关把稳定币、比特币、以太坊发布在IRIS Hub上,供DeFi应用实现投资理财等场景。

Cosmos/IRISnet和Polkadot没有竞争关

链节点线下活动 | 跨链技术与新机遇_第10张图片

在演讲的最后,Harriet提到Cosmos/IRISnet和Polkadot是没有竞争关系的。跨链是个创新领域,大家互补。两者所谓的差异性核心在两点:第一点是治理机制,Cosmos是独立治理机制,而Polkadot是共享安全治理。Cosmos中每一条链独立自主,不依靠枢纽完成功能。Polkadot中有一条中继链,其他是平行链,平行链的状态和安全需要有中继链验证。

Cosmos和IRISnet的社区小伙伴有这样一个总结:Cosmos更像安卓的系统,需要每条链自己有一定的开发力量。而Polkadot更像iOS,底层通过中继链提供,开发者快速上手,不需要自己维护验证者节点。如果应用轻,可以用Substrate开发平行链。如果应用重,有定制化需求,Cosmos SDK提供了非常好的开发基础,所以币安不会交给其他区块链维护,这点上Cosmos有优势。

Polkadot更像以太坊2.0,提供一个高效提供智能合约的多链系统。而Cosmos专注于通用的类似TCP/IP的通信协议,Hub之间有共识设计,可以加强安全性,支撑无限延展跨链生态。而IRIS Hub还有一些更加灵活的功能,比如自进化、多资产。

你可能感兴趣的:(链节点线下活动 | 跨链技术与新机遇)