“如果世界上只有一条区块链,也许不需要跨链;然而我们拥有的,却不仅仅是一条区块链。”
1969年,互联网(internet)诞生,随着联网通信协议的异构、联网设备数量的增加,跨网互操作成为趋势;于是TCP/IP协议出现,使得能够跨越不同子网、互联互通的互联网(Internet)最终成为全球性基础设施。
2000年,数据中心概念开始走热,随着IDC机房数量和规模的快速增长,跨数据中心互操作成为趋势;于是软件定义广域网(SD-WAN)技术被跨数据中心的网络互连和资源调度。
2006年,云计算概念正式提出,随着云计算产业快速发展、上云上平台用户不断增加,跨云互操作成为趋势;于是混合云及多云解决方案出现,用户可以选择在不同云平台间切换;
2008年,第一条区块链——“比特币”悄然诞生。截至2020年,根据加密货币行情网站CoinMarketCap统计,仅各类加密货币类区块链系统就已超过5600种(不包括联盟链和私有链实现);而开源社区Github上涉及区块链项目的数量达到6万多个。“万链共存”,使得跨链互操作再次成为趋势,将通过解决不同区块链系统中资产、数据和业务的互操作,构建互联互通的全球规模化区块链产业生态。
一、跨链的概念
目前,全球学术界和产业界都在对区块链跨链互操作开展研究。从技术维度和应用维度出发,研究者们给出了不同的定义。
技术维度认知:美国国家标准技术研究所(NIST)认为跨链偏重于数据共享,“一个互操作区块链架构是由可区分的区块链系统组成,每个区块链系统代表一个唯一的分布式数据帐本,其中执行原子交易可能跨越多个异构区块链系统,并且记录在一个区块链中的数据可以被另一笔外部交易以语义兼容的方式访问、验证和引用。” 澳大利亚天主教大学(ACU)认为跨链更强调功能的触发和执行,“跨链互操作不是将状态直接更改为另一个区块链系统;相反,是在另一个系统上触发一些功能集,而这些功能集有望在其自己的网络内执行操作。”
应用维度认知:以太坊创始人Vitalik认为跨链是一种具体应用能力,“区块链互操作主要指两条区块链之间进行资产转移、支付或信息交互的能力。” 法国里昂第一大学(UCBL)研究者认为跨链应用范围不仅限于区块链间,“区块链的互操作性有三种类型,一是不同区块链之间的互操作性,二是使用同一区块链的去中心化应用(DApp)之间的互操作性,三是互操作性区块链和其他技术(例如与企业系统的集成)”。
二、跨链的场景
跨链技术应用场景主要包括三个方面,即资产互换与转移、数据共享、业务协同。
1. 资产互换与转移
诸多的公链项目诞生了数量庞大的数字资产,不同数字资产之间如何交易和兑换,一直都是跨链技术重要应用场景。资产的互换与转移包括公链数字资产(通证)互换、联盟链或者私有链链下资产数字化上链后的资产互换或者转移。这里的链下资产可能包括黄金、石油这些有形资产,也可能是证券、股票这些无形资产。随着区块链应用场景的延展和联盟链的高速发展,数字资产之间互换已经不能满足人们对区块链技术寄予的期待,国家数字货币为代表的主权公链以及传统资产上链为代表的商业联盟链的出现,对跨链需求中资产互换提出了更细致的需求。
2. 数据共享
这里的数据包括存证数据、数据操作的链上凭证等存储在链上的证据数据,及索引数据、原始数据等存储在链下的检索数据。不同于传统数据共享时系统可以容纳的海量数据,区块链系统中存储的数据需要由区块链完成背书。但由于不同区块链系统的数据格式、存储方式、背书方式等存在差异,导致存证和凭证数据无法在不同系统中互认。
3. 业务协同
指在不同区块链系统相关业务场景下实现业务数据的共享、业务逻辑的互联、业务范围的互补。随着联盟链不断的发展,承担相同业务能力的企业级联盟链数量逐渐增加,同一业务场景下的业务数据、业务逻辑和业务范围被割裂在不同价值体系的区块链内,亟需扩展不同区块链的业务协同能力。
三、跨链的技术
跨链技术的关键问题研究,如图1所示,可以分为两条路径:
图1 跨链研究的关键问题和技术路径
1. 双链互操作
跨链事务管理。跨链事务是指由若干个在各自所属区块链系统中的子交易所组成的一个完整跨链交易。简单来说,就是完成一次跨链所有相关方操作的总和。之所以要进行跨链事务的管理,主要是保证跨链交易的原子性和一致性。原子性指一次完整跨链交易所有子交易要么都发生、要么都不发生,不能只发生一部分;一致性指整个跨链系统中,不同区块链系统间需要保证存储数据一致性。如果一次跨链交易不能满足原子性和一致性,将出现两条链状态不一致,例如A链已经确认和B链相关交易,但B链却没有完成此笔交易,那么A链就将产生损失。
交易验证机制。跨链交易真实性和有效性验证可以分成三个阶段:跨链数据传输阶段、原链对交易的确认阶段以及接收链对原链确认后的交易验证阶段。在跨链数据传输阶段,需要获取/收集原链的数据,保证数据完整性和可验证性;在原链对交易的确认阶段,原链的共识效率影响了跨链交易最终确认的速度(例如比特币的交易要等待6个区块才能大概率确认,这种类POW算法具有概率确认性,但是类PBFT或者类DPOS算法可以较快完成最终确认性)。在接收链对原链确认后的交易验证阶段,接收链对原链已经确认过的交易进行验证,从而判断原链声称的跨链交易的真实性和存在性。
2. 多链互操作
多个区块链系统如何同时实现互联互通是跨链互操作关键问题。一是区块链网络,依照自上而下的设计原则,重点设计网络交互协议及交互模式,试图构建通用跨链协议实现区块链的“互联网”,未来符合网络协议和跨链标准的区块链可以实现无缝接入,例如Cosmos的跨链传输协议,帮助多链之间实现区块链机制层级互操作;二是跨链平台,依照自下而上的设计原则,重点研究已有区块链系统特性,开发能实现多链互联的中间件,例如趣链跨链网关和区块链适配器,或者波卡平行链等,帮助多链之间实现区块链语义层级互操作。
四、跨链的实践
为打破不同区块链体系的价值壁垒,近年来,国内外知名区块链团队纷纷发力跨链项目。
1. 国际跨链平台
Cosmos跨链平台:由Tendermint团队于2017年发起,并于2019年3月上线主网。Cosmos项目注重不同区块链间的连接,重点开发跨链传输协议(Inter Blockchain Communication,IBC),试图规范链与链之间的通信标准,目前已经完成78%工作量。
Polkadot跨链平台:由Web3基金会于2016年支持发起,并于2020年5月发布主网候选链。Polkadot项目注重区块链主链能力,试图打造一条“全能”区块链用于统一管理各链的运算和共识,这种异构多链交互架构可以让接入的区块链更关注自身业务能力发展。
2. 国内跨链平台
Wanchain跨链平台(万维链):由网录科技于2017年孵化,并于2018年1月上线主网。万维链注重为不同区块链系统提供资产互换或转移,采用异构链的跨链框架,结合安全多方计算和门限秘钥共享技术,缓解验证人中心化问题。
BitXHub跨链平台:由趣链公司于2019年发起,并于2020年3月开源核心代码。BitXHub项目注重通用跨链传输协议(IBTP)开发,通过在中继链部署交易验证引擎,结合交易验证规则注册机制,提供可插拔的跨链验证机制。在跨链数据传输和异构链适配方面,BitXHub项目设计多层级路由架构和跨链网关,实现跨链交易数据的高效路由。
Wecross跨链平台:由微众公司于2020年发起,目前代码已全部开源。Wecross项目注重于通用的网络交互协议及统一的交互模式研究,提出异构链互联协议(HIP)和通用区块链接口(UBI),实现主流块链平台间的简单适配和快速连通。
可信跨链平台(BCP):由百度公司于2020年推出,目前已开源非事务写入性跨链方案。BCP支持在合约代码中使用“跨链原语”,让链与链轻松对接,特别关注跨链寻址协议及链名解析合约的开发,为不同链上的资源分配地址,实现不同区块链资源快速定位。
如表1所示,主流跨链平台集中出现于2016-2020年间。在跨链事务管理方面,国内平台多已推进实现计划,后期将逐步支持事务性跨链功能;在交易验证机制方面,多采用类似超级账本的背书机制或默克尔证明;在多链互操作方面,链间的消息传输协议和中继链跨链能力是开发重点,且大多数平台支持异构链的跨链。
表 1 国内外跨链平台对比分析
五、跨链的趋势
跨链应用场景单一,业务协同是目标。当前已完成开发或开源的跨链方案主要是以资产互换或转移为主,但在基于区块链的加密数字货币类系统中受到底层经济价值模型的复杂逻辑干扰,在非代币类的区块链系统中难以满足应用需求,导致跨链并没有实现大规模推广。未来实现不同链间的数据共享和业务协同,将是跨链未来应用场景落地的主要目标。
技术路线尚未统一,融合发展是趋势。发展初期,跨链技术实践的侧重点有所差异,一部分跨链项目(例如Cosmos)更强调跨链协议开发,另一部分跨链项目(例如Polkadot)更侧重中继链能力提升。侧重点差异实际上反映了跨链平台建设者的认知不同,充分融合跨链系统两大关键元素是未来真正实现跨链互通的必然选择。
项目开发进展延期,技术挑战是关键。跨链平台建设自2016年大规模发起以来,目前除了少数用于资产互换或转移类的平台实践取得了初步进展,其他具体应用场景尚未完成事务性跨链方案发布或者开源。未来各项目竞争点主要在于事务性跨链能力的落地实现。