区块链是去中心化的计算机网络,可在数字分类账中跟踪用户的账户余额和数据。区块链不依赖中心化的权威,而是使用去中心化的共识在账本被接受之前集体同意对账本的提议更新。结果是一种新的信任最小化计算范式,用于多方记录保存和流程自动化,它比传统计算环境更加可信、防篡改和透明。
然而,区块链类似于没有互联网连接的计算机——它们没有与其他区块链或外部API的内置通信能力。这种限制通常被称为预言机问题,它不仅禁止区块链与传统系统进行交互,还阻碍了区块链之间的互操作性。随着多区块链世界的日益现实,区块链互操作性协议是在不同区块链(即跨链)之间交换数据和代币的关键基础设施。
以下文章是关于区块链互操作性的定义和重要性的教育入门,并概述了不同类型的区块链互操作性解决方案以及由Chainlink提供支持的跨链互操作性协议(CCIP)如何将预言机的功能扩展到支持跨链的任意数据消息传递。
什么是区块链互操作性?
区块链互操作性是指区块链与其他区块链通信的能力。区块链互操作性的基础是跨链消息传递协议,它使区块链能够从其他区块链读取数据和/或将数据写入其他区块链。
跨链消息传递协议支持创建跨链去中心化应用程序 (dApp),其中一个统一的dApp可以跨多个不同区块链部署的多个不同智能合约运行。跨链dApp与多链dApp的不同之处在于,多链dApp通常在多个区块链上部署相同的应用程序,但每个实例都是一组独立的智能合约,与其他区块链没有连接。

跨链dApp具有跨部署在不同区块链上的智能合约的统一逻辑。
利用跨链消息传递协议的跨链dApp的范围可能受到限制;例如,代币桥的存在仅用于使源区块链上的代币能够转移到目标区块链。 但是,任意数据消息传递协议提供了更通用的跨链功能,可以支持更复杂的dApp,例如跨链去中心化交易所(DEX)、跨链去中心化货币市场、跨链NFT、跨链去中心化自治组织( DAO),以及各种类型的模块化应用程序。
区块链互操作性的重要性
当前的Web3环境正变得越来越多链和多层。已经有100多个第1层区块链(即基础层)以及越来越多的第2层和最终存在于基础层区块链之上的第3层网络。第2层和第3层网络本质上是独立的区块链,它们将部分安全性锚定到基础层(例如汇总)。
基础层和第2层网络的激增是区块链技术和区块链生态系统富有表现力的设计空间的结果。区块链通过优化其协议以支持某些功能集来竞争开发人员和应用程序——通常是通过与其他功能进行权衡。例如,一些区块链更多地关注去中心化和审查阻力,而不是基础层的吞吐量和可组合性,而其他区块链则选择以牺牲可信硬件中的新安全假设为代价构建原生隐私功能。
区块链通过试验不同的共识协议、执行环境和数据存储解决方案进行优化,这些解决方案为开发人员提供了有关成本、活性、性能、数据可用性、安全性、加密经济学和环境影响的各种假设。此外,区块链可以通过提供对选定编程语言的支持、专注于捕捉特定用例和地理区域以及开发独特的品牌和价值观来吸引观众,从而使自己与众不同。
优化选择的主要区别之一是围绕特定区块链关于如何扩展其生态系统的论点。扩展论文的示例包括:
- 拥有一个支持所有垂直行业的所有应用程序的单一高性能基础层区块链。
- 拥有一个单一的、高度分散的基础层区块链,通过第2层和第3层可扩展性网络支持广泛的模块化应用程序。
- 让每个应用程序和/或智能合约部门或用例在其自己的基础层区块链或主权第2层网络上运行。
如需深入了解区块链可扩展性解决方案,请查看博客区块链可扩展性:执行、存储和共识。
鉴于区块链生态系统种类繁多,所有这些不同的链上环境都能够互操作是至关重要的。 这对于想要构建跨链/模块化应用程序的开发人员尤其重要,这些应用程序在众多链上环境中保持单一的全局状态和统一的流动性。 对于希望利用每个区块链的独特资产和功能的应用程序开发人员来说,这也很重要。
区块链互操作性协议对于需要与现有后端的许多不同区块链交互的传统系统同样重要。互操作性协议是构建区块链抽象层的基础,它允许传统后端和dApp通过单个区块链中间件解决方案与任何链上环境进行交互。如果没有区块链抽象层,Web2系统和dApp将需要为他们想要利用的每个跨链交互构建单独的内部实现——这是一个非常耗时、资源密集和复杂的过程。
区块链互操作性解决方案的类型
尝试对区块链互操作性解决方案进行分类时,最好的起点是查看最流行的跨链交互。
代币交换涉及在源链上交易代币并在目标链上接收不同的代币。跨链代币交换通常由原子交换协议和/或跨链自动做市商 (AMM) 实现,它们在每个区块链上都有单独的流动性池以促进交换。
代币桥包括通过源链上的智能合约锁定或销毁代币,并通过目标链上的单独智能合约解锁或铸造代币。代币桥允许资产跨区块链移动,通过使跨链流动性成为可能来增加代币效用。有三种类型的代币处理机制可以启用代币桥接:
- 锁定和铸造代币桥接(即IOU)将代币锁定在源链上的智能合约中,然后在目标链上铸造代币的包装版本,通常称为桥接资产。在相反的方向,目标链上的包裹代币被烧毁以解锁源链上的原始硬币。
- 燃烧和铸造代币桥(即本地)在源链上燃烧代币,然后通过在目标链上铸造它们来重新发行相同的代币。
- 锁定和解锁代币桥将代币锁定在源链上,然后从目标链上的流动性池中解锁相同的代币。这些类型的代币桥梁通常通过收益分享等激励计划吸引桥梁两侧的流动性。
原生支付涉及源链上的应用程序在其原生资产中触发目标链上的支付。 跨链支付也可以基于来自单独区块链的数据在其原生资产中的源链上进行。 这些支付中的大多数通常代表某种形式的结算,并且可以基于区块链数据甚至外部事件。
合约调用涉及源链上的智能合约调用部署在目标链上的智能合约功能,可能基于源自源链的数据。 多个合约调用可以组合形成一个更复杂的跨链应用程序,其中可能涉及代币交换和桥接。
可编程代币桥接涉及代币桥接和任意消息传递的组合,其中一旦代币从源链传送到目标链,就可以执行合约调用。 这发生在单笔交易中,实现了更丰富的跨链功能,例如作为完成桥接功能的一部分,将代币质押、交换或存入目标链上的智能合约中。
为了支持这些跨链交互,有四种通用的互操作性解决方案用于验证源区块链的状态并将后续交易中继到目标区块链。 这两个功能——状态验证和中继——是完成大多数跨链交互的关键。
Web2验证
Web2验证是指有人使用Web2服务执行跨链交易。 实践中最常见的例子是用户利用中心化交易所来交换或桥接他们自己的代币。用户只需将其资产存入交易所控制的源链上的地址,然后将相同或不同的代币(通过交易所的交换)提取到用户控制的目标链上的地址。
Web2验证对于个人交易来说相当方便,并且需要较少的技术专长。但是,它对于支持跨链应用程序并没有那么有用,并且需要对中心化托管人的信任。此外,它主要限于在交易所支持的区块链之间交换和桥接代币。
外部验证
外部验证是指使用一组独立于跨链交互中任一区块链的验证器节点来验证源区块链的状态,并在满足一组特定条件后触发目标链上的后续交易。虽然有许多基于委员会的共识方法——即多方计算、去中心化预言机网络、阈值多重签名合约——但它们都涉及验证节点进行信任最小化的链下计算,并在链上进行身份验证(即混合智能 合同)。
外部验证通常需要诚实的多数假设,其中大多数外部验证者节点必须诚实行事,才能维护跨链交互的完整性。但是,可以使用其他技术来增加信任最小化,例如乐观桥验证、反欺诈网络和加密经济质押。尽管有额外的信任假设,但外部验证是目前在某些类型的区块链之间执行跨链合约调用同时仍提供信任最小化保证的唯一实用方法。它也是一种高度泛化和可扩展的跨链计算形式,能够支持更复杂的跨链应用。
本地验证
本地验证是指跨链交互中的交易对手验证彼此的状态。如果双方都认为对方有效,则执行跨链交易,从而产生点对点的跨链交易。使用本地验证的跨链交换通常被称为原子交换。
在合理的区块链假设下,通过原子交换进行的本地验证具有高度的信任最小化,因为交换要么发生,要么两个交易都失败。然而,它对于各种跨链合约调用并不是很普遍,并且伴随着诸如无意的看涨期权问题之类的权衡——原子交换中的第二方可以对交换采取行动或不采取行动的情况,给他们一个一段时间内无意的看涨期权。因此,本地验证主要用于涉及独立存在于每条链上的流动性池的跨链流动性协议中。
原生验证
原生验证是指跨链交互中的目标区块链验证源区块链的状态以确认交易,然后在自己的链上执行后续交易。这通常通过在目标链的虚拟机中运行源链的轻客户端或同时运行它们来完成。
原生验证依赖于诚实的少数或同步假设,其中至少一个诚实的中继者必须存在于委员会中(即诚实的少数),或者如果委员会失败,用户必须中继他们自己的交易(即同步假设)。 原生验证是跨链通信的信任最小化形式,但它更昂贵,提供的开发灵活性较低,并且更适合具有相似状态机的区块链,例如以太坊和基于EVM的第2层网络或仅在基于Cosmos SDK的区块链中。
跨链互操作协议(CCIP)
为了满足生态系统对区块链互操作解决方案日益增长的需求,Chainlink目前正在开发跨链互操作协议(CCIP)——一种新的跨链通信开源标准,包括任意消息传递和代币转移。CCIP旨在通过单一、简单和优雅的界面在区块链网络之间建立通用连接。此外,它旨在与可编程令牌桥框架内的各种其他预言机服务集成,以支持高度复杂的跨链交互。
鉴于越来越多的跨链攻击——在过去一年中损失了大约 1.2B 美元的价值——安全第一的心态正在被应用于 CCIP。它的开发得到了世界上一些最好的密码学和计算机安全专家的支持,包括Ari Juels、Dan Boneh、Lorenz Breidenbach和Dahlia Malkhi。应用于CCIP的一些安全增强功能包括监控恶意活动的反欺诈网络、来自具有可验证链上性能历史记录的各种高质量节点运营商的去中心化预言机计算,以及链下报告 (OCR ) 协议,该协议已经在区块链主网上获得了数千亿美元的资金。

CCIP是由Chainlink去中心化预言机网络提供支持的跨链消息传递协议,计划支持各种跨链dApp、代币桥和可编程代币桥。
通过区块链互操作性发展Web3
区块链互操作性是不断发展的Web3领域下一个前沿的重要组成部分。像CCIP这样的互操作性协议不仅可以帮助解锁作为跨多个区块链的统一实体运行的复杂应用程序,还可以帮助企业、机构和政府从单个界面安全地访问任何链上环境。这两个功能将是开发下一代dApp的关键,这些dApp可通过更传统的用户界面访问,从而加快 Web3 的采用率。
原文链接:https://blog.chain.link/blockchain-interoperability/
---煤油灯科技victorlamp.com翻译整理---