今天,庞大的Cosmos 生态系统已通过Cosmos的区块链间通信协议(IBC)连接了起来,最近,Terra 等 Tendermint 链启用了IBC,将它们连接到了Cosmos Hub、Osmosis以及许多其他Cosmos生态链。

所谓IBC,它定义了一组标准,定义了一个通用的消息传输层,其中包括数据结构、抽象和语义,一旦由参与链实施,这将允许它们之间安全地进行通信。在传输层之上,IBC 还定义了一个应用层,其中包含了一组标准,例如用于可互换代币的ICS-20,它定义了应如何解释消息。

然而,由于通过IBC当前的传输层去连接以太坊和其他基于EVM的区块链的成本很高,因此限制了IBC的扩展。

而LayerZero 是一种全链互操作性协议,它能够向任何链上的任何合约发送消息。该消息是一个字节有效载荷,允许用户应用程序完全控制其结构和解释。简单来说:LayerZero 是一个消息传输层,用于智能合约在区块链之间进行通信。

LayerZero 如何替换IBC的传输层

首先,IBC的传输层管理轻客户端如何存储和验证数据(ICS-2、ICS-23)、执行连接握手(ICS-3)以及建立消息通道(ICS-4)。它是一个完整的轻客户端实现,需要明确的链上完整区块头(header)同步才能成功握手。任何消息传递都由 ICS-18 指定的中继器执行。然而,在大多数基于 EVM 的链中运行完整的轻客户端成本太高了,因此限制了IBC的传输层使用。

LayerZero 通过预言机(Oracle)按需流式传输区块头来放松链上完整区块头同步假设,这是通过更高效的链外实体达到所需完整区块头同步状态的隐式方式。提交的header将与中继提交的交易凭证进行交叉验证。LayerZero合约将不同链的tx证明抽象为库。例如,以太坊和Tendermint使用不同的序列化格式(RLP vs go wire)、签名方案(secp256ka vs ed25519)和数据结构(Patricia Trie vs IAVL+树)。

在分解预言机(Oracle)和中继器(Relayer)之间的职责时,LayerZero 利用已建立的预言机(例如 Chainlink 和 Band)的安全属性,并通过开放的中继器系统提供额外的安全层。只有当预言机(Oracle)和中继器(Relayer)串通时,系统才会崩溃,因为从统计上看,在不知道特定区块头的情况下,不可能发送针对区块头进行验证的交易证明,反之亦然。

IBC传输层的另一个主要问题是,它只允许具有确定最终性的区块链之间进行直接通信。更高IBC抽象层的安全性和应用程序的保证取决于这种最终性。为了让 IBC 与PoW工作量证明系统(具有概率最终性)一起工作,需要一个强加确定性阈值的适配器zone (例如,在 sifchain 中定义的“peg zone”)。

而LayerZero 本身就解决了上述问题,因为它可以与确定性和概率性的tx无缝协作。此属性允许 LayerZero连接具有不同网络拓扑和共识算法的异构区块链。

LayerZero如何与IBC联动

今天,许多应用程序正在转向多链架构,LayerZero 可以使这些应用之间无缝通信(A →A,B →B),但如果 A 想与 B 通信怎么办?一种方法是让 A 和 B 团队设计一套商定的规则,来解释两个应用程序之间的消息传递。消息标准将针对 A 和 B 想要执行的特定类型的通信进行高度优化。如果 C 想在几个月后集成,但他们需要修改标准以满足他们的要求怎么办?

这就是 Cosmos 的区块链间通信协议 (IBC) 的用武之地。除了作为如何在两条链之间建立通信的标准之外,IBC 还拥有一套强大的标准,例如 ICS-20,它定义了如何格式化消息以进行代币传输。来自A、B和C的团队可以利用这些社区驱动的标准来定义他们的消息传递规则,而不是重新发明轮子。

现在我们来看一看:IBC当前的传输层要求每条链之间有成对的轻客户端,但在大多数基于EVM的区块链中,运行一个完整的轻客户端成本过高了,这限制了IBC向具有高吞吐量和廉价交易的区块链的延伸。但是,在所有智能合约链上运行 IBC 的强大消息传递标准不是很好吗?

而通过在全链互操作性协议 LayerZero之上引入IBC,通过用LayerZero替换 IBC 的传输层,IBC 现在可以在任何地方蓬勃发展,让应用程序拥有一个社区驱动的全链通信标准。LayerZero 实施了一系列创新,使全链通信更便宜、更快捷。感兴趣的读者可以查看它的超轻节点(Ultra Light Node)设计。

感谢 Kyle Samani、Zaki Manian、John Robert Reed、Bryan Pellegrino 和 Isaac Zhang 的审阅。