本期我们了解一下什么是互操作协议LayerZero

什么是LayerZero

LayerZero是第一个去信任的全链互操作性协议。它能够使消息在区块链之间发送,串联不同的区块链上的资产、讯息、数据和合约。这就打破了区块链彼此之间孤立的状态。LayerZero提供了一个功能强大的底层通信网络结构,可在此基础上构建各种跨链应用程序集。使用LayerZero,开发人员可以实现无缝的链间应用程序,如跨链DEX或多链收益聚合器,而不必依赖于受信任的托管或中间交易。总结来说,LayerZero是第一个去信任地跨所有链实现直接交易的系统。允许交易在链之间自由流动,为用户提供了整合分散流动性的机会,同时也充分利用独立链上的应用程序。

LayerZero最早的协议支持包括Ethereum、Arbitrum、Avalanche, BSC, Fantom, Optimism, Polygon在内的七个兼容EVM的公链。此外开发团队也计划把Cosmos Hub、Terra和Cronos等非EVM链纳入路线图。

LayerZero实现原理

LayerZero是跨链基础设施,通过在每条链上部署的一组智能合约来实现链间通讯。其工作机制的是:LayerZero是一个运行ULN(Ultra Light Node)的用户应用程序(UA)可配置的链上终端(Endpoint)。LayerZero在每条链上都会部署一个终端(可以视为由LayerZero的一系列智能合约所组成)。LayerZero依赖于Oracle(预言机)和Relayer(中继器)在链上端点之间传输消息。Oracle的功能是获取区块头,Relayer功能是获取交易事件证明

LayerZero具体的操作过程如图所示,当UA从链A向链B发送消息时,该消息将通过链A上的终端发送。终端将消息通知UA指定的Oracle和relayer,并通知它的目的链。

图中的紫色部分,即Communicator/Validator/Network,就是LayerZero终端的核心组件,其功能在于通知Oracle和Relayer获取特定信息、并接收来自他们的消息。步骤1~5,代表的是当链A上一个交易事件发生后,LayerZero的终端通知Oracle和Relaye,分别从链A获取相应信息。步骤6~7分别表示Oracle从链A获取区块头以及Relayer从链A获取交易证明。

8~11的步骤中,Oracle和Relayer会分别将获取到的信息,发送到链B上的LayerZero终端。Oracle将区块头转发给链B上的终端,然后Relayer提交交易证明(这里解释一下,由于一个区块下可能包含多个交易事件,因此Relayer的交易信息发送会比Oracle多进行一步——部署在链B的终端收到Oracle发来的区块头之后,会将区块头哈希值发送给Relayer,随后再由Relayer会将符合这一区块头的所有交易事件的证明打包发送给链B。)。接着步骤12~13,在目标链上的终端完成验证证明,并将消息转发到目标地址。

用户应用程序(UA):是任何使用LayerZero在区块链之间发送和接收消息的合约。

终端(Endpoint):是指用户应用程序调用send()来传输消息并设置自己的UA配置的已部署合约。用户应用程序调用send()来传输消息并设置自己的UA配置的已部署合约。

LayerZero白皮书

简单来讲,LayerZero在每个支持的网络上部署了一套智能合约,用户通过LayerZero合约与各链的合约完成互动。LayerZero最重要的优势在于:1专为跨链传递轻量级消息而设计,以降低跨链步骤和手续费;2 全链协议,不依赖中间链或中间代币,可以打通所有链,为各种类型的公链提供直接通讯。

相较于其他跨链桥,LayerZero的特色就是可以实现不同链上原生资产的直接交易。现有的跨链都需要某个中间介质来完成,而LayerZero能够实现有效的跨链直接通讯,不需要中间币和中间链。LayerZero终端设计可以很容易地扩展以支持任何链。此外,终端的设计足够轻量级,可以在昂贵的Layer1(如以太坊)上运行,而不会产生令人望而却步的成本。