区块链互操作的难点及可行方案
区块链作为一种分布式账本技术,以其多方共识、分布式存储、难以篡改等特点,在促进数据共享、提升协同效率、建立可信体系方面具有广阔的应用前景,已在金融科技、政务民生、司法存证、供应链协同、税务发票、版权保护等领域得到一定程度的应用[1]。但随着区块链在各行各业应用广度和深度的不断拓展,不同链系统之间互操作难、上层应用与底层链对接切换难、链上链下可信交互难的问题日益突出,以上问题在一定程度上限制了区块链的应用范围,阻碍了区块链的发展。为解决以上问题,区块链互操作逐渐成为行业焦点。
一、区块链行业现状
自比特币诞生以来,区块链已经过十余年的发展,已在金融科技、政务民生、司法存证、供应链协同、税务发票、版权保护等领域得到一定程度的应用,但大多属于边缘业务,以探索试点为主,应用深度和广度不足。为什么会这样?是什么阻碍了区块链的发展进程?
首先,用户觉得区块链“难”。“难”表现在两个方面:1)认识层面的难,区块链是一项综合了密码学、P2P网络、共识机制、智能合约的复杂技术,概念抽象,普通用户难以在短时间内消化吸收;2)工程层面的难,用户好不容易了解了区块链是什么,实际应用中,不同底层链数据结构、共识机制、接口实现等方面各不相同、互不兼容的现实,增加了用户学习预研、研发实施、运维升级的工作量与工作难度;尤其是用户直接交互的接口层面的不一致,大大增加了应用与不同底层链对接适配、切换适配的工作量。
其次,技术成熟度不够。2014年以太坊的诞生,完成了区块链5大核心技术(密码算法、P2P网络、共识机制、智能合约、账本数据库)拼图,区块链实现基本“可用”,但不够“好用”。随后,各区块链平台纷纷发力以解决“好用”问题,如升级密码算法,提升安全性;优化共识机制,提升共识效率;研发新的合约系统,提升图灵完备性、强化合约安全、降低合约编写门槛等。区块链技术的快速迭代升级,提升了区块链的“好用”程度,但也给行业带来了“区块链技术不够成熟”的印象,加上部分链系统升级后不能兼容旧版本的问题,加剧了链系统使用方观望跟踪为主,落地实践为辅的的现象。
最后,应用场景有限。相对于互联网互联互通的便利性、生态的繁荣性,区块链应用生态则相对单薄,主要表现在两个方面:1)不同链间互联互通难导致行业面临“链级孤岛”的困境,“孤岛”问题限制了区块链的网络边界与应用范围;2)链上链下可信交互难,导致链上数据不够丰富,限制了区块链应用范围。
因此,为了促进区块链的发展,首先需要从认识和工程层面降低区块链的应用门槛,强化区块链的易用性、通用性;其次需要加强区块链核心技术研究,加速技术成熟期的到来;最后需要解决好不同链之间互联互通难和链上链下可信交互难的问题,拓展应用边界,丰富产业生态,促进网络规模价值和数据汇聚价值的释放。针对以上问题,以跨链互通为代表的互操作技术逐渐成为了行业焦点。
二、什么是区块链互操作?
1.什么是互操作性?
互操作性英文为Interoperability,是Interaction、Operation和Ability三个单词组合而成,即“相互操作的能力”,简称互操作性。维基百科认为:互操作性又可称之为互用性或协同能力,是指不同系统和组织机构之间相互合作,协同工作的能力[2]。IEEE(Institute of Electrical & Electronic Engineers,电气与电子工程师协会)在1990年给出互操作性定义:两个或多个系统或组成部分之间交换信息,以及对所交换的信息加以使用的能力[3]。
2. 什么是区块链互操作?
以维基百科和IEEE关于互操作性的定义为基础,行业出现了对区块链互操作的不同认识。以太坊创始人Vitalik Buterin认为跨链即为互操作[4];WEF(World Economic Forum,世界经济论坛)和德勤认为,区块链互操作聚焦于不同链系统之间资产和信息的交互[5];埃森哲公司的David等人认为,区块链互操作是分布式账本系统能够与多个DLT系统,以及DLT多个子系统之间互联互通的能力[6];可信区块链推进计划认为,区块链互操作是指区块链系统实例与其他系统实例交换信息,并对所交换信息加以使用的能力[7]。
相对于跨链即为互操作的狭义认识,可信区块链推进计划将区块链互操作的内涵广义化,认为区块链互操作应该包含用于解决上层应用与底层链紧耦合问题的应用层互操作,用于解决“链级孤岛”的链间互操作,以及用于解决链上链下安全可信交互的链下数据互操作三个方面。该定义准确的把握了区块链行业所面临应用与不同底层链对接切换难、不同区块链系统之间跨链互通难、链上链下可信交互难的三大问题。以该定义为基础,分析区块链互操作技术框架。
三、区块链互操作框架
图1. 区块链互操作框架
如图1所示,区块链互操作包括应用层互操作、链间互操作、链下数据互操作三个部分。
1. 应用层互操作
应用层互操作主要解决上层应用与底层链对接难、切换难的问题。而当前对接难、切换难的根本原因在于不同底层链所提供的接口不一致,包括接口实现方式、接口定义的不一致等。通过对部分链系统接口实现方式的调研,发现不同链系统差异中存在交集,如表1所示,有共性就有规范统一的可能,因此可从接口标准化方向入手。如果说区块链是一种分布式数据库系统,传统的关系型数据库如MySQL、SQLServer、Oracle等利用ODBC、JDBC完成了对不同数据库接口的标准化,实现了上层应用对底层数据库的平滑切换。同理,应用层互操作也可考虑用中间件的形式解决不同链接口不一致的问题。接口中间件对上层应用提供统一的标准化接口,对下通过适配器完成不同底层链原生接口到标准接口的转换,从而实现上层应用对底层链的轻松扩展与平滑切换。
表1. 不同区块链接口实现方式统计表
2. 链间互操作
区块链当前面临的“链级孤岛”问题,本质上是技术先行、标准滞后的结果,也是区块链发展的必经之路。为了解决“链岛”问题,不同厂商已经开展了相应的实践探索,并推出了相应的跨链方案,如表2所示。以上跨链方案从技术层面验证了跨链互通的可行性,但不同跨链方案之间依然存在互操作难的问题。当前繁荣的互联网在上世纪70年代也面临过碎片化、孤岛化的问题,随后出现了一系列以TPC/IP为代表的标准规范,标准引导技术,技术适应标准,最终打破了网络孤岛,实现了行业层面的互联互通。相对于互联网重点解决数据互通,区块链为了保持“数据安全共享,价值可信流转”的特点,需在数据互通的基础上,还需实现不同链系统间的身份互认、共识转换、以及协同治理。
表2. 链间互操作方案对比表
3. 链下数据互操作
区块链技术可以保证链上数据在多个参与方之间的安全可信流通,但在链上链下可信交互方面存在难点。而链上业务的运转离不开链下数据的支持,如跨境结算场景中的汇率数据、溯源场景中的物流数据、审计场景中的身份数据等都需要从链下世界获取。区块链多方共识、难以篡改的特点对上链数据真实性、可靠性要求较高,因此在链上链下交互过程中首先要保证上链数据的可信性,可以从数据来源、传输过程、计算过程三个方面提供可信性保障;其次要重视交互过程中的隐私保护,包括身份信息、资产信息等关键信息的隐私保护;最后要保证上链内容的安全性,在明确链的权责和上链数据权责问题的基础上,从事前审查、事后审计两方面入手,保证上链内容的安全性。常见手段包括以Oraclize、Chainlink为代表的预言机,TEE(Trusted Execution Environment,可信执行环境),MPC(Secure Multi-Party Computation,安全多方计算),联邦学习等。
四、总结
区块链互操作难是行业发展的必经之路,互操作易也是行业发展的必然趋势,在由难到易的过程中充满挑战,道阻且长,需要技术提供方、技术需求方、标准化组织、监管机构等多方的密切协作,凝聚共识,共同促进区块链互操作的发展。
Scan QR code with WeChat