作者:Eclipse;翻译:金色财经xiaozou
区块链技术在不断发展,不同链之间无缝通信的需求变得至关重要。IBC(Inter-Blockchain Communication Protocol:跨链通信协议)是一个突破性的协议,支持在任何两个区块链之间进行数据传输。本文,我们将深入研究IBC的主要组成部分,探索IBC的工作原理,着重来看它相较于其他通信解决方案有什么独特优势,并研究其最近在首个跨链SVM(Solana Virtual Machinerollup)Rollup Cascad上的IBC实现情况。
1、IBC的主要组成部分
IBC的核心是定义一组标准,用于管理两个链之间的身份验证和数据传输。为了使用IBC进行成功的通信,需要以下几个组成部分:
(1)在各链上部署IBC核心通信协议;
(2)对于每条链来说,另一条链的轻客户端都可以验证区块完整性和共识信息;
(3)由称为relayer(中继器)的链下程序负责查询每条链上的IBC消息,并在必要时将对应的IBC消息传递给另一条链。
2、IBC运作原理
要使用IBC启动两个链之间的通信,需要建立连接和通道。该流程与TLS握手协议类似,包含四个步骤:open-init (A)、open-try (B)、open-ack (A)和open-confirm (B),其中A和B代表所涉链。
一旦通道开启,一条链上的应用程序可以开始通过两步流程将消息以数据包的形式发送到另一条链:send (A)和ack (B)。
同质化代币传输(例如,ERC-20或SPL代币)作为通用数据包发送接口之上的附加协议实现,并在ICS 20中指定。传输双方的代币传输应用程序将验证代币传输的有效性,然后在发送端burn销毁代币,使其被接收端接收。
3、IBC和其他通信解决方案有什么不同?
IBC与其他通信解决方案的区别在于其安全模型。IBC的信任完全依赖于每条链上核心协议的正确实现和轻客户端对数据的准确验证。不需要额外的信任假设,即使对于负责在链之间传递消息的中继器来说也是如此。
这与Hyperlane或Wormhole的信任模型不同,后者依赖于信任桥运营商的守卫者网络(guardian network),以正确保护其免受黑客攻击。然而,IBC的安全性是有代价的:在两条链之间实现IBC通信要更加耗时,因为每对链都需要编写两个相应的轻客户端,并对其进行正确性和安全性验证。
换句话说,IBC之于Hyperlane,就像Uniswap之于Coinbase:IBC更加去中心化,除了自身实现之外不需要信任假设,但正确实现可能存在难度,就好比普通的智能合约。
4、IBC如何在Cascade上运作?
Cascade是由Injective和Eclipse开发的首个跨链SVM rollup,它将IBC的整合提升到了一个新的高度。通过使Solana开发人员能够无缝地将他们的合约和dApp部署到Injective上,Cascade扩展了跨链通信的可能性。尽管Eclipse不是由Cosmos SDK构建的,但是已经添加了对IBC的支持,以解锁这种跨链rollup的全部潜力。
Cascade现在在Injective测试网上运行,并计划在不久的将来迁移到主网。想要深入探索Cascade功能的开发人员可以研究下全面的Cascade开发人员文档:
https://docs.cascadehq.xyz/cascade-docs/cascade-developer-documentation