Poly Network高效跨链助力DeFi

密切关注本体动态的小伙伴们都知道,8月18日,由 Ontology 与 Neo、Switcheo 共同发布的全新跨链互操作性协议 Poly Network 主网正式上线,可帮助数据和价值在多个异构区块链(公有链、联盟链、私有链)间自由传递。本期技术视点就带领大家解析跨链互操作性协议 Poly Network。
Part I
异构链跨链协议难点
Part II
Poly Network 跨链协议架构设计
本篇技术视点将分上下两部分,上篇聚焦跨链互操作性协议普遍面临的技术难点,下篇阐释 Poly Network 的架构特点如何巧妙解决异构链架构差异性、跨链信息安全性和事务性等问题。
1. 引言
跨链技术是一种新的技术手段,在现有的单条区块链架构设计的基础上,通过跨链互操作协议打通链与链之间的交互。早在2016年,以太坊创始人 Vitalik Buterin 就将跨链互操作协议分为三种模式:公证人机制(Notary Schemes)、侧链/中继(Sidechains/Relays)、哈希时间锁(Hash Locking)。
现在,主流的跨链互操作协议主要基于侧链/中继模式,此类代表包括 Cosmos 和 Polkadot。但 Cosmos 主要是基于同构链的跨链协议,并且主要聚焦于资产跨链;Polkadot 架构设计是分片协议。还没有一种跨链协议主要聚焦异构链跨链协议,并实现多链间的任意信息自由地跨链。

为解决异构链间任意信息跨链(不仅限于资产跨链)的问题,连接当前已经存在的各条区块链(公有链、联盟链、私有链)系统,全新的跨链体系 Poly Network 诞生了。

Poly Network 是由 Ontology、Neo 以及 Switcheo 基金会共同作为创始成员,分布科技作为技术提供方共同发起的跨链组织。当前,Poly Network 已经支持的异构链协议包含:Ontology、Bitcoin、Ethereum、Neo、Cosmos-SDK 这5种异构链跨链协议,未来 Poly Network 将支持更多异构链协议,打造更加优质的下一代互联网(Next Generation Internet, NGI)基础设施服务。
2. 异构链跨链协议难点
异构链跨链协议具有架构差异性、跨链信息安全性、跨链信息事务性三大难点。
异构链架构差异性
异构链间任意信息的跨链不同于同构链跨链协议,异构链跨链协议在设计时需要考虑不同的区块链在以下信息方面的差异性:
· 区块头结构体
· 密码算法
· 消息结构体
· 共识机制
· 消息验证机制
这些因素导致在设计跨链协议时,既需要保证协议具有极强的兼容性,又不能过于冗余和复杂,并且需要设计人员对不同异构链架构具有深刻的洞见和理解。所以设计异构链跨链协议本身具有很强的挑战性。
跨链信息的安全性
跨链信息的安全性主要包含2个方面:
1.跨链信息交互的可靠性
不同的异构链采用的共识机制和状态存储方式不同。可靠性是指:在源链生成的状态信息经过中间传递后,到达目标链时没有经过篡改。例如:若用户想在 A、B 两条链上进行跨链交互,首先,他在 A 链上执行了一个操作,并产生了一个执行结果,但 B 链上的操作需要依赖 A 链上的执行结果,这时候就需要将 A 链的执行结果传输到 B 链上。但如何确保 A 链传输到 B 链的数据没有被篡改,就涉及跨链间数据交互的合法可靠问题。
2.链网系统的安全性
随着越来越多的链加入跨链系统中,链网规模会不断扩大。但是,不同异构链的授信程度不同。有些异构链可能由于本身安全运行的时间足够长且稳定,授信程度会较高;同样,有些链可能由于本身运行时间短且有时不稳定(例如:分叉、宕机等),会出现授信程度低的情况。这时候,整个链网体系的信任度将取决于授信度最低的链,甚至在极端情况下,会出现某条侧链的验证人集体作恶的情况,这样整个链网跨链安全性可能会瓦解。这就涉及跨链间信息交互的安全性问题。
跨链信息的事务性
跨链信息事务性主要包含2个方面:
1.事务最终一致性
在简单链的跨链交互场景中,一步操作会涉及到同时在两条链间交互的场景。这就带来了保证跨链信息最终一致性的问题。例如:用户想要在 A、B 两条链上进行跨链互操作,A 链主要提供身份认证服务,B 链主要提供投票服务,但 B 链投票服务需要通过 A 链的身份认证后才能进行,这就涉及到跨链间事务的最终一致性问题。
2.事务强一致性
随着业务规模扩大,跨链间信息交互的场景变得更加复杂,比如可能需要支持在3条甚至更多链间,对一个事务执行多个操作的场景。如何确保所有链间操作同时成功或同时失败,保证事务的强一致性问题,显得尤为关键。例如:现在用户想在 A、B、C 三条链上进行跨链互操作,A 链主要提供购买飞机票服务,B 链主要为用户提供订购酒店服务,C 链主要用来提供支付服务,用户希望购买机票和订购酒店要么能同时成功,要么同时失败,这就涉及到跨链间事务的强一致性问题。