互操作性问题 和 Chainlink CCIP 简介
Last updated
Last updated
Chainlink CCIP 概述
互操作性 是指在不同系统或网络之间交换信息的能力,即使它们是不兼容的。不同网络上的共享概念确保了各方理解并信任交换的信息。它还考虑了最终性的概念,通过验证信息的准确性和完整性来建立对交换信息的信任。
Web3生态系统已经变得多链化,随着第一层(layer-1)区块链和像应用链(appchains)、子网(subnets)等第二层(layer-2)扩展解决方案的兴起,每个网络都有其自己的可扩展性、安全性和信任度的方法。
然而,区块链是孤立的网络,它们独立运行且不能本地通信。要创建一个真正可互操作的Web3生态系统,数据和价值必须在链之间无缝移动。这就是跨链桥(bridges)的作用所在。
传统的跨链桥(bridges)是当今Web3生态系统中最大的问题之一,因为它们是中心化的。当您使用跨链桥将资金从一条链转移到另一条链时,您实际上是在将您的资金交给某个中心化的实体,并信任他们这些资金将出现在另一侧。令人惊讶的是,到目前为止已经发生了多起跨链桥被黑客攻击的事件。
Chainlink 跨链互操作性协议(CCIP)提供了一个简洁的单一接口,通过这个接口,去中心化应用(dApps)和 Web3 创业者可以安全地满足他们所有的跨链需求,包括代币转账和任意消息传递。
Chainlink CCIP 通过“通道”(lanes)连接区块链网络。“通道”是源区块链到目标区块链路径的唯一组合,例如,从区块链 A 到区块链 C,要使用一个通过。而如果要使用 Chainlink CCIP 反向传输消息,即从区块链 C 到区块链 A,您将需要使用不同的通道,即专属于 C 到 A 路径的通道。
Chainlink CCIP 将始终支持未来添加的每个新链的双向通道。逻辑上的问题是如何让 CCIP 知道通过哪个通道传输 CCIP 跨链消息。实际上这相当简单——每个由 CCIP 支持的区块链都有一个唯一的链选择器。
我们多次提到,通过使用 Chainlink CCIP,您可以 发送跨链消息。但是跨链消息可以包含哪些内容呢?使用 Chainlink CCIP,您可以:
转账(支持的)代币
发送任何种类的数据
同时发送代币和数据
CCIP 的发送者可以是:
外部拥有的账户(EOA)
任何智能合约
CCIP 的接收者可以是:
外部拥有的账户(EOA)
任何实现了 CCIPReceiver.sol
的智能合约
注意:如果您向外部拥有的账户(EOA)发送消息和代币,只有代币会到达。
目前,您可以将 CCIP 视为一个“黑盒”组件,并且只需了解路由器合约。我们将在接下来的章节中解释 Chainlink CCIP 的架构。
路由合约(Router) 是 CCIP 用户交互的主要合约。该合约负责启动跨链交互。每个链都有一个路由合约。在转账代币时,调用者必须批准路由合约能够“花费”(转移)调用者的代币。当消息在目标链上接收时,路由器是将代币“交付”到用户账户或将消息传递给接收者(receiver)合约。
Chainlink 跨链互操作性协议提供了一个单一的接口,以安全和去中心化的方式在多个链之间传输代币和数据。
术语 | 意义 |
---|---|
Interoperability (互操作性) | 在不同系统或网络之间交换信息的能力,即使它们不兼容 |
Chainlink CCIP | 允许你跨不同区块链发送代币和任意消息的协议 |
Lane (通道) | 源区块链到目标区块链路径的独特组合 |
Chain Selector (链选择器) | Chainlink CCIP 中区块链的唯一标识符 |
CCIP Message (CCIP 消息) | 您可以通过 CCIP 通道跨区块链发送的消息,该消息可以由代币和任意数据组成 |
Sender (发送者合约) | 发送 CCIP 消息的智能合约(用户的)或外部拥有的账户(EOA)。 |
Source blockchain (源链) | CCIP 消息发送来源的区块链 |
Receiver (接收者合约) | 接收CCIP消息的智能合约或外部拥有的账户(EOA)。 |
Destination blockchain (目标链) | CCIP 消息被发送至的区块链。 |