一文读懂区块链互操作性

 

区块链是去中心化的计算机网络,可以在数字账本中追踪用户账户余额和数据。区块链没有中心化的管理者,而是采用去中心化共识对账本更新达成一致协议,并最终执行更新。这为多方记账和流程自动化建立了新范式,比传统的计算环境更加中立、防篡改且透明。

然而,区块链就像是没有联网的计算机,本身无法与其他区块链或链下API通信。这个问题也被称为预言机问题,不仅导致区块链无法与传统系统交互,而且还导致链与链之间无法实现互操作性。随着我们不断朝着多链的世界发展,区块链互操作性协议成为了链与链之间(即跨链)交换数据和通证不可或缺的基础设施。

本文阐述了区块链互操作性的定义及其价值,并且列举了不同类型的区块链互操作性解决方案,以及Chainlink跨链互操作性协议(CCIP)如何扩展预言机的功能,支持数据在任何链之间跨链传输。

什么是区块链互操作性?

区块链互操作性指区块链相互通信的能力。区块链互操作性的基础是跨链消息传输协议,这类协议能让区块链面向其他区块链读写数据。

跨链消息传输协议可以支持创建跨链去中心化应用(dApp),一个dApp可以在不同区块链上部署智能合约。跨链dApp与多链dApp的不同之处在于,多链dApp通常在多个区块链上部署同样的应用,但是每条链上部署的智能合约都是相互独立的,与其他区块链没有关联。

Cross-chain smart contracts
跨链dApp部署在不同区块链上的智能合约的逻辑都是统一的。

跨链dApp如果利用跨链消息传输协议,则功能会受限。比如通证桥只能将一条区块链上的通证转移到另一条区块链上。然而,如果使用可以传输任意数据的消息传输协议,则能实现更加丰富的跨链功能和更加复杂的dApp,比如跨链去中心化交易平台(DEX)、跨链去中心化货币市场、跨链去中心化自治组织(DAO)以及各种类型的模块化应用

区块链互操作性的意义

如今,Web3正朝着多链和多层级的方向发展。目前已经有超过100个L1区块链(即底层链)和越来越多的L2,之后还会出现基于底层链的L3网络。L2和L3网络本质上是不同的区块链,但都依赖底层链的安全机制(如:Rollup)。

L1和L2网络的发展充分体现了区块链技术和生态的创新设计思路。区块链通过不断优化协议来创新功能,以此吸引开发者和应用加入其生态。要做到这一点,通常需要在功能上做出一些权衡。比如,一些区块链更关注去中心化以及抗操控性,因此在底层区块链的吞吐量和可组合性方面做出了一定妥协;而另一些区块链则更重视打造原生隐私功能,因此在可信硬件的安全假设方面做出了一定妥协。

区块链通过不断探索各种共识协议、执行环境以及数据存储方案来进行优化,因此开发者可以在成本、活跃度、性能、数据可用性、安全性、加密经济机制以及环保方面对区块链进行筛选。另外,区块链为了差异化,还会支持特定的编程语言,聚焦某些应用场景和地域市场,并建设独特的品牌和价值观来吸引目标客群。

其中,差异最大的优化方案就是区块链生态的扩容方案。现有扩容方案如下:

  • 一个高性能的底层区块链支持所有垂直行业中的所有应用。
  • 一个去中心化水平极高的底层区块链通过一系列L2和L3扩容方案,支持各种模块化的应用。
  • 每个应用、智能合约或应用场景都运行自己的底层区块链或主权L2网络。

要详细了解区块链的扩容方案,请查看博客文章《一文读懂区块链可扩展性——执行、存储和共识》

现在出现了各种各样的区块链生态,因此必须要让这些链上环境实现互操作性。特别是一些开发者希望开发出跨链/模块化应用,在多个链上环境中维持统一的全局状态和流动性,这点尤其重要。另外,还有一些开发者希望能够访问其他链上独特的资产和功能。互操作性对他们来说也非常重要。

区块链互操作性协议对于传统系统来说也同样重要,传统系统需要从后端接入许多不同的区块链。互操作性协议可以为开发区块链抽象层打下基础,传统后端和dApp可以通过一个区块链中间件统一接入任何链上环境。如果没有区块链抽象层,Web2系统和dApp就不得不针对每个跨链交互场景亲自开发单独的解决方案,这不仅会耗费大量时间和资源,而且流程也非常复杂。

不同类型的区块链互操作性方案

将区块链互操作性方案归类的最好切入点就是研究最受欢迎的跨链交互场景。

通证互换——在源链上交易一种通证,并在目标链上收到另一种通证。跨链通证互换采用了原子互换协议和跨链自动做市商(AMM),这些自动做市商在每条链上分别建立流动性池,以实现通证互换。

通证桥——通过源链上的智能合约锁定或销毁通证,并通过目标链上的另一个智能合约解锁或铸造通证。通证桥可以将资产跨链转移,实现跨链流动性,并因此提升通证利用率。通证桥有以下三类通证处理机制:

  • 锁定/铸造型通证桥(即:打欠条)——在源链上的智能合约中锁定通证,然后在目标链上铸造包装通证,这类资产通常也被称为“bridged assets”(桥接资产)。反向操作的话就是将目标链上的包装通证销毁,以解锁源链上的原始通证。
  • 销毁/铸造型通证桥(即原生通证)——销毁源链上的通证,然后在目标链上重新铸造同样的通证。
  • 锁定/解锁型通证桥——锁定源链上的通证,然后解锁目标链上流动性池中同样的通证。这几类通证桥通常会推出收入共享等激励机制来吸引两条链上的流动性。

原生支付——源链上的应用触发在目标链上用原生资产进行支付。另外,也可以基于另一条区块链的数据触发在源链上用原生资产进行跨链支付。大多数支付都是作为某种结算方式,并且可以基于区块链数据或甚至外部事件来结算。

合约调用——源链上的智能合约可以基于本地数据调用目标链上的智能合约函数。可以一次性发起多个合约调用,实现更复杂的跨链应用,其中包括通证互换和桥接。

可编程通证桥——包含通证桥和任意消息传输功能,一旦通证从源链发送到目标链,就会立刻发起合约调用。这些都包含在一笔交易中,因此可以实现丰富的跨链功能,比如权益质押、通证互换或者将通证存入目标链上智能合约中,以完成通证桥功能。

要实现跨链操作,可以采用以下四种互操作性方案来验证目标链的状态,并将后续交易传递到目标链。状态验证和消息传递对于多数跨链交互来说都是不可或缺的功能。

Web2验证

Web2验证指使用Web2服务来执行跨链交易。最常见的案例就是用户利用中心化交易平台来互换通证或跨链发送通证。用户只需将资产存入源链上由交易平台控制的地址中,然后在目标链上由用户控制的地址中取出相同或不同的通证(注:通过交易平台兑换)。

Web2验证对于个人交易来说非常方便,而且技术要求更低。但是Web2验证对于跨链应用的价值没那么大,而且需要信任中心化的托管方。另外,多数Web2验证只能与交易平台支持的区块链之间进行通证互换和跨链转账。

外部验证

外部验证指除了跨链交互所涉及的两条链上的节点外,还专门建立第三组验证节点,用来验证源链的状态,并在特定条件满足时触发目标链上的后续交易。基于委员会的共识有许多不同的实现方法,比如多方计算、去中心化的预言机网络以及门限多重签名合约等,但这些方案都需要验证节点进行信任最小化的链下计算,并在链上进行验证(即混合型智能合约)。

外部验证通常要假设一半以上的节点是诚实的,这样才能维持跨链交互的可靠性。不过,要提升信任最小化水平,还需要采用其他技术,比如乐观的通证桥验证(optimistic bridge validation)、反欺诈网络以及加密经济质押。虽然外部验证需要额外的信任假设,但是目前是唯一可行的方案,可以在某类区块链之间执行跨链智能合约调用的同时保障信任最小化。另外,这个方案也是通用性非常高且可扩展的跨链计算方案,可以支持更复杂的跨链应用。

本地验证

本地验证指跨链交互中的对手方互相验证对方的状态。如果双方都确认对方状态有效,则执行跨链点对点交易。本地验证的跨链通证互换通常也被称为“原子互换”。

通过原子互换进行本地验证可以在很大程度上保障信任最小化,因为互换的结果要么是成功,要么两个交易都失败。不过这种方式无法扩展到其他跨链合约调用场景中,而且会不经意间导致“看涨期权”的问题,即原子互换中的第二个交易方可以选择兑换也可以选择不兑换,因此在一段时间内拥有看涨期权。因此本地验证最常用于跨链流动性协议中,这类协议会在每条链上建立独立的流动性池。

原生验证

原生验证指在跨链交互中目标链验证源链的状态,以确认交易并在本地执行后续交易。通常的做法是在目标链虚拟机的源链上运行轻客户端,或二者并行。

原生验证需要诚实的少数派或同步假设,委员会里至少有一个诚实的中继者(即诚实的少数派),或如果委员会无法正常运行,用户必须自己传输交易(即同步假设)。本地验证是信任最小化程度最高的一种跨链通信方式,但是它成本也很高,开发灵活性较低,而且更适合状态机相似度较高的区块链,比如以太坊和L2网络之间,或者基于Cosmos SDK开发的区块链之间。

跨链互操作性协议(CCIP)

为了满足生态对区块链互操作解决方案不断增长的需求,Chainlink目前正在开发跨链互操作性协议(CCIP)。这是一个全新的跨链通信开源标准,包括任意消息传输和通证转移。CCIP的目标是提供简单好用的统一接口,为区块链网络建立通用的连接。另外,它还致力于将一系列预言机服务集成至可编程通证桥框架中,以实现复杂的跨链操作。

由于跨链攻击事件频发,过去一年价值约12亿美元的金额被盗,因此CCIP将安全放在了首要位置。全世界最顶尖的加密学家和计算机安全专家都参与到了开发中,其中包括Ari Juels、Dan Boneh、Lorenz Breidenbach以及Dahlia Malkhi。CCIP目前正采取一系列措施提升安全性,包括建立防欺诈网络来监控恶意行为;利用大量链上声誉良好的优质节点运营商展开去中心化的预言机计算(这些节点的历史服务水平可验证);开发了链下报告协议(OCR),目前该协议已经在各个区块链主网上保障了数千亿美元的价值。

要了解更多关于Chainlink CCIP的信息,请查看这篇博客文章 https://blog.chain.link/introducing-the-cross-chain-interoperability-protocol-ccip-zh/。

CCIP Stack and ARM Network
CCIP是Chainlink去中心化预言机网络开发的跨链消息传输协议,旨在为各种跨链dApp、通证桥和可编程通证桥提供支持。

实现区块链互操作性,推动Web3发展

区块链互操作性是Web3未来发展的关键。CCIP等互操作性协议不仅可以解锁复杂的应用,跨不同区块链实现统一的功能,还能赋能企业、机构和政府安全地从一个统一接口接入任何链上环境。这两个功能对于开发下一代dApp来说都至关重要,可以将传统用户接口接入这些dApp应用,并推动Web3实现主流应用。

要了解更多关于Chainlink的资讯,请访问Chainlink官网,并关注Chainlink官方推特,获得Chainlink最新的消息和公告。

Need Integration Support?
Talk to an expert
Faucets
Get testnet tokens
Read the Docs
Technical documentation