其他
区块链是去中心化的计算机网络,可以在数字账本中追踪用户账户余额和数据。区块链没有中心化的管理者,而是采用去中心化共识对账本更新达成一致协议,并最终执行更新。这为多方记账和流程自动化建立了新范式,比传统的计算环境更加中立、防篡改且透明。然而,区块链就像是没有联网的计算机,本身无法与其他区块链或链下API通信。这个问题也被称为预言机问题,不仅导致区块链无法与传统系统交互,而且还导致链与链之间无法实现互操作性。随着我们不断朝着多链的世界发展,区块链互操作性协议成为了链与链之间(即跨链)交换数据和通证不可或缺的基础设施。本文阐述了区块链互操作性的定义及其价值,并且列举了不同类型的区块链互操作性解决方案,以及Chainlink的跨链互操作性协议(CCIP)如何扩展预言机的功能,支持数据在任何链之间跨链传输。什么是区块链互操作性?区块链互操作性指区块链相互通信的能力。区块链互操作性的基础是跨链消息传输协议,这类协议能让区块链面向其他区块链读写数据。跨链消息传输协议可以支持创建跨链去中心化应用(dApp),一个dApp可以在不同区块链上部署智能合约。跨链dApp与多链dApp的不同之处在于,多链dApp通常在多个区块链上部署同样的应用,但是每条链上部署的智能合约都是相互独立的,与其他区块链没有关联。跨链dApp部署在不同区块链上的智能合约的逻辑都是统一的跨链dApp如果利用跨链消息传输协议,则功能会受限。比如通证桥只能将一条区块链上的通证转移到另一条区块链上。然而,如果使用可以传输任意数据的消息传输协议,则能实现更加丰富的跨链功能和更加复杂的dApp,比如跨链去中心化交易平台(DEX)、跨链去中心化货币市场、跨链去中心化自治组织(DAO)以及各种类型的模块化应用。区块链互操作性的意义如今,Web3正朝着多链和多层级的方向发展。目前已经有超过100个L1区块链(即底层链)和越来越多的L2,之后还会出现基于底层链的L3网络。L2和L3网络本质上是不同的区块链,但都依赖底层链的安全机制(如:Rollup)。L1和L2网络的发展充分体现了区块链技术和生态的创新设计思路。区块链通过不断优化协议来创新功能,以此吸引开发者和应用加入其生态。要做到这一点,通常需要在功能上做出一些权衡。比如,一些区块链更关注去中心化以及抗操控性,因此在底层区块链的吞吐量和可组合性方面做出了一定妥协;而另一些区块链则更重视打造原生隐私功能,因此在可信硬件的安全假设方面做出了一定妥协。区块链通过不断探索各种共识协议、执行环境以及数据存储方案来进行优化,因此开发者可以在成本、活跃度、性能、数据可用性、安全性、加密经济机制以及环保方面对区块链进行筛选。另外,区块链为了差异化,还会支持特定的编程语言,聚焦某些应用场景和地域市场,并建设独特的品牌和价值观来吸引目标客群。其中,差异最大的优化方案就是区块链生态的扩容方案。现有扩容方案如下:一个高性能的底层区块链支持所有垂直行业中的所有应用。一个去中心化水平极高的底层区块链通过一系列L2和L3扩容方案,支持各种模块化的应用。每个应用、智能合约或应用场景都运行自己的底层区块链或主权L2网络。要详细了解区块链的扩容方案,请查看博客文章《一文读懂区块链执行层、存储层和共识层的扩容方案》。现在出现了各种各样的区块链生态,因此必须要让这些链上环境实现互操作性。特别是一些开发者希望开发出跨链/模块化应用,在多个链上环境中维持统一的全局状态和流动性,这点尤其重要。另外,还有一些开发者希望能够访问其他链上独特的资产和功能。互操作性对他们来说也非常重要。区块链互操作性协议对于传统系统来说也同样重要,传统系统需要从后端接入许多不同的区块链。互操作性协议可以为开发区块链抽象层打下基础,传统后端和dApp可以通过一个区块链中间件统一接入任何链上环境。如果没有区块链抽象层,Web2系统和dApp就不得不针对每个跨链交互场景亲自开发单独的解决方案,这不仅会耗费大量时间和资源,而且流程也非常复杂。不同类型的区块链互操作性方案将区块链互操作性方案归类的最好切入点就是研究最受欢迎的跨链交互场景。通证互换——在源链上交易一种通证,并在目标链上收到另一种通证。跨链通证互换采用了原子互换协议和跨链自动做市商(AMM),这些自动做市商在每条链上分别建立流动性池,以实现通证互换。通证桥——通过源链上的智能合约锁定或销毁通证,并通过目标链上的另一个智能合约解锁或铸造通证。通证桥可以将资产跨链转移,实现跨链流动性,并因此提升通证利用率。通证桥有以下三类通证处理机制:锁定/铸造型通证桥(即:打欠条)——在源链上的智能合约中锁定通证,然后在目标链上铸造包装通证,这类资产通常也被称为“bridged