HashKey:从互操作性定义重新理解区块链跨链

撰文:曹一新,就职于 HashKey Capital Research近期,元宇宙概念备受关注,Facebook 创始人扎克伯格接受采访分享了其关于元宇宙的想法及 Facebook 全力支持建设元宇宙的决心。在关于元宇宙特性的描述中,「互操作性」一词再次被提及,并强调需要制定一些标准,帮助开发者和创作者向人们提供「前所未有的互操作」体验,使用户能使用他们的化身、数字产品无缝传送到不同的体验,并与朋友互动,在整个过程中感知不到互联网基建的存在。这种极为抽象的表达虽给人以遐想,却很难让人理解,更别提信服了。这也是本文试图去讨论「互操作性」一词内涵的初衷之一。互操作性是经常被区块链领域提及的概念,更耳熟能详的用词是跨链,这两者往往被混同起来,描述两条以上区块链之间的某种交互,尤其是 DeFi 和 NFT 生态迅速发展起来之后。随着 DeFi 乐高可组合性蕴含的无限潜力被逐渐认可,以及以太坊 DeFi 生态出现外溢现象,跨链成为了一个非常紧俏的需求;而关于 NFT 应用、元宇宙特性的讨论中,也会提及互操作性。本文从讨论「互操作性」的语义场景和内涵出发,抛砖引玉地分析当人们在提跨链或互操作性的时候,真正想表达或期望实现的目标是什么,以及目前行业内在这些目标上走了多远。「互操作性」在非区块链领域早有提及。IEEE 关于计算机字典标准里对互操作性的定义是「两个或多个系统或组件之间交换信息以及对交换后信息使用的能力」。这个定义包含两层递进关系的含义:虽然上述定义与国际标准 ISO/IEC 2382-01 信息技术词表 里的定义相比更为凝练和抽象,但后者补充提及了一个特点:用户无需或仅需有限地获得不同系统或组件特点的认知。就软件而言,在上述定义下的互操作性可用来描述不同程序借助同一套交换格式交换数据、读写相同文件格式以及采用相同协议的能力。用户在使用不同软件(例如各种 PDF 阅读器)的时候更关注的是功能体验,而非实现功能的底层技术模块的差异。广义上,互操作性是指不同系统和组织机构之间相互合作、协同工作的能力,虽然在技术系统和工程设计方面经常使用,还会考虑影响系统间性能的社会、政治和组织机构因素,且业务过程的互操作性可能产生具有重大影响力的经济效果。以下是几个具体的例子:由欧盟委员会背书的 NIFO 就如何建立可操作的数字公共服务提供了具体指导,提出了互操作性包含的四个层面:技术互操作性、语义互操作性、机构互操作性、法律互操作性;另外包括为这四个层面交叉构建的综合公共服务治理层及作为基础支撑的互操作治理层(如图 1 所示)。HashKey:从互操作性定义重新理解区块链跨链图 1. NIFO 提出的互操作层次及其关系示意图总的来说,前两个互操作性沿用了计算机信息学领域对互操作性的定义,NIFO 在此基础上补充强调了应用层和治理层的互操作性。这对在多链并存、应用和治理系统也各自独立的区块链生态实现互操作性具有一定的借鉴意义。在上述基础上反观区块链里的互操作性和跨链,可以认为跨链是将互操作对象从来源区块链系统跨越到目标区块链系统行为的描述,而互操作性是一种涵盖范围更广的表达,既包括基于跨链行为表现出的功能特性,也可以指代非区块链系统(例如 Dapp)之间的交互。明确互操作对象是什么以及互操作系统的类型能够帮助我们更好地了解互操作性的内涵。信息跨链(e.g. Polkadot、Cosmos)、资产跨链(e.g. WBTC)是目前较为常见的应用案例,但这可能只是区块链领域互操作性展露的冰山一角。区块链和其它系统最大的不同在于区块链上信息能够以一种不可复制(UTXO 和余额等模型)、不可伪造(非对称加密)、不可篡改(共识机制)的方式流转,使它有别于一般信息,成为跨系统共识难度更大、互操作性更复杂的对象类型,不是简单地规范接口、明确数据格式、统一通信协议就可以搞定。区块链使信息能够逐渐被划分成更细粒度的表述:这些细粒度的表述似乎能很好地作为微观结构单元或相互作用力,组合成数字世界的经济网络和社交系统。所以跨链的对象自然除了大部分案例中看到的信息和资产以外,也可以是权属声明、账户、域名或身份。而理想的互操作性指的应该是:将互操作对象放入明确的场景去定义和思考,能帮助用户更清晰地了解各种互操性表述真正想要表达的目标。建立在互操作系统不仅局限于区块链系统的观点之上,我们观察下目前区块链生态中已然存在的不同层面的互操作性。目前,区块链 DeFi 生态形成以以太坊为主、多条特色链竞争的格局,DeFi、NFT 生态相继发展起来,并对互操作提出了一些具体的需求,例如可扩展性瓶颈催生的多链结构、资产跨链流动;针对流动性割裂问题的 Layer 2 跨链方案等等。在互操作对象方面,有关数字资产的互操作标准在同质化资产领域已经颇为成熟,在非同质化资产领域有实现基本功能点的雏形,但未形成针对互操作功能设计的标准共识。对于其它操作对象类型,鲜见相关尝试。在互操作系统方面,区块链之间、Dapp 之间、Layer 2 之间、以及区块链系统与互联网之间都出现了一些互操作场景,说明生态的连接开始在更大尺度上建立。跨系统的生态应用发展离不开系统间语义互操作性的成熟建立,而应用发展起来后就得考虑更高层级的互操作性问题了。在如何实现互操作性方面,对于具体的应用场景有诸多案例,特别是资产跨链的解决方案是行业内讨论跨链话题展开较多的一个方向。本文作为引介,暂不作深入探讨。互操作性建立的过程中,是免不了存在各种攻击向量的,这至少分为两种:一种是互操作系统设计漏洞;一种是实现具体功能过程中的技术漏洞。从闪电贷攻击案例的演化可以发现,将孤立设计而成的系统通过互操作性组合起来可能会导致出现很大的经济漏洞,最近发生的跨链桥攻击事件也暴露了互操作过程中的风险。系统本身的安全性是否会因互操作性而减弱也是值得研究的问题。此外,在设计互操作协议的时候,也存在适配性的问题,一开始定义好功能的互操作协议可能具备更好的鲁棒性,更容易做安全测试,但不一定能满足未来的需求;具备更多灵活性的协议可能存在许多未知的风险,开发者似乎总是得在各种选择中权衡。本文从互操作性的定义和场景出发,阐释了 IEEE 和 NIFO 对互操作性的两种定义。基于这一阐释,重新理解区块链领域的互操作性和跨链,指出区块链和非区块链领域互操作对象的不同之处,在于区块链上信息能够以一种不可复制(UTXO 和余额等模型)、不可伪造(非对称加密)、不可篡改(共识机制)的方式流转,使它有别于一般信息,成为跨系统共识难度更大、互操作性更复杂的对象类型,不是简单地规范接口、明确数据格式、统一通信协议就可以搞定。并强调区块链使信息能够逐渐被划分成更细粒度的表述,在思考特定场景的互操作性时,应明确互操作的对象,及互操作系统类型,可以帮助用户更好地理解各种互操作性表述真正想要表达的目标,并从技术、语义、应用、治理这几个层面思考应用场景应该建立的互操作性。最后,本文简要分析了一下当前区块链领域互操作性的进展和风险点。

原创文章,作者:惊蛰财经,如若转载,请注明出处:https://www.xmlm.net/wang/8594.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注