互操作性问题 和 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 消息被发送至的区块链。