头雁区块链

Posted on Dec 17, 2021Read on Mirror.xyz

LayerZero:无需信任的全链互操作性协议

原文作者: Ryan Zarick Bryan Pellegrino Caleb Banister

时间: May 26, 2021

翻译:头雁区块链投资研究

头雁区块链twitter:https://www.twitter.com/alacheng

摘要

区块链的普及给开发者带来了根据应用程序功能和要求来满足吞吐量、安全性和成本等多方面的需求的运行智能合约的各种平台。然而,一个后果这种自由是严重的分裂;每条链是隔离的,迫使用户孤立他们的流动性,并限制在围墙之间移动流动性和状态的生态系统。

本文介绍了第一个无需信任的全链互操作性协议 LayerZero,它提供了一个强大的低级通信原语,在此基础上,可以构建不同的跨链应用程序。使用这个新原语,开发人员可以实现无缝的跨链应用程序,如跨链 DEX 或 多链收益聚合器,无需依赖受信任的托管人或中间交易。简单地也就是说,LayerZero 是第一个无需信任启用的系统跨所有链的直接交易。允许交易在链之间自由流动为用户提供了整合分散的流动性口袋的机会,同时也充分利用了单独的应用程序链。通过 LayerZero,我们提供网络结构全连接的全链生态系统的基础设施的未来。

介绍区块链概念的核心是三大支柱去中心化、透明度和不可篡改性。非单一实体控制的区块链,并对区块链采取行动区块链是可验证和不可逆的。这些支柱创建一个实体可以在不信任任何其他实体的情况下采取行动的基础。这种信任保证机制是加密货币具有吸引力的原因与法定货币相比。如果所有用户和所有应用程序共存于一个统一的区块链系统中,那么本文就到此为止。

然而,区块链的实用性导致了各种应用的激增,没个应用都具有独特的复杂性和要求。对多样化功能的需求阻碍了专业链(多链)的发展。每个这些链中的大部分促进了其自身生态系统内应用程序的巨大增长,但这些生态系统之间的隔离已成为关键的发展限制。用户和开发者被迫分开时间,资源和不同链之间的流动性。区块链的绝对数量的结果109个区块链(在撰写本文时多达 109 个 [1])是否需要延伸上述三大支柱同时封装跨多个链的交互。链之间按需交互的一个例子是代币的转移,我们将讨论这一点 在本节后面。在区块链的说法中,工作单元是交易,不可更改且不可撤销。交易,整理 成块,形成区块链安全的基础系统。然而,交易一直是单链概念;如下所述,交互跨链传统上需要第三方正常区块链密码系统之外的机制。相比之下,本文描述了第一个消息传递本地跨链交易所依据的协议可能:零层。说明强大的通信原语LayerZero 提供,我们看一下将代币从一条链转移到另一条链的例子。

图-1

目前,在两条链的代币之间转换,用户必须依靠中心化交易所或跨链去中心化交易所(DEX)(也称为跨链桥),两者都需要妥协。在中心化交易所的情况,例如币安用户必须信任跟踪存款的交易所和资金提取。这种信任关系与区块链共识的基本去信任背道而驰,缺乏链上自动化的安全性系统。使用 DEX,例如 AnySwap ,THORChain,通过执行链上转移,但现有的 DEX 实现涉及将用户令牌转换为特定于协议的将中间共识层传输到达成交易共识。这个中间共识层,虽然通常以安全的方式实现方式,确实需要用户信任侧链来进行代币转移(译注:信任侧链可能存在侧链作恶,跑路或其他系统性风险)。正如我们在本文中展示的那样,这种额外的开销是不必要的。尽管强烈的用户需求,没有出现既高效又直接的解决方案,同时仍然保留首先使用区块链的核心原因:去信任。LayerZero 的直接跨链交易为开发人员提供了构建它的工具。

需要注意的是,LayerZero 和上述交易所在两个不同的层次上实现了运行的堆栈。 LayerZero 是一种通信原语,它支持各种全链应用程序,而交换是一个应用程序示例,它可以从基于零层。第 2 节概述了区块链技术景观并进一步探索交换(译注:token 交易/交换)示例。正确解释 LayerZero 的功能和它在区块链生态系统中的作用,我们首先介绍一个实现链间交易所需的基本通信原语的形式化,我们称之为有效交货(第 3 节)。然后我们描述LayerZero 如何以去信任的方式提供这个原语,从而保护区块链的安全承诺。LayerZero 是第一个无需信任的全链互操作性层,并支持两者之间的直接消息传递第 1 层和第 2 层链(图 1)。

链 A 和 链 B 之间的跨链交易由 A 上的交易成员tA ,A 和 B 之间的一个通信协议,以及消息 m 组成。有效的交付状态当且仅当 tA 被有效的提交。支持LayerZero 的关键思想是,如果两个独立实体证实交易的有效性(在这种情况下,tA)然后链 B 可以确定 tA 是有效的。图 2 在高层次上说明了这一点。给定两个不串通的实体,如果(1)一个实体可以产生链 A 上包含 tA 的区块的区块头,(2)另一个实体可以独立地为该区块上的 tA(交易证明),以及 (3) 块头和交易证明实际上是一致的,那么通信协议可以将 m 传递给链 B 上的客户端保证tA在链上稳定的提交A. LayerZero 通信协议(描述在第 4 节),保证对接收方的交易链将与有效的、已提交的交易配对在发送者链上,不涉及任何中介链。我们通过结合两个独立的 实体:提供块头的 Oracle [7],一个提供与证明相关的证明Relayer在上述交易中 。

LayerZero 的接口是一个轻量级的链上客户端,我们称之为 LayerZero 端点。一 每个(支持的)链上都存在 LayerZero 端点,并且任何具有 LayerZero Endpoint 的链都可以进行涉及任何其他链的跨链交易一个零层端点。本质上,这创建了一个完全连接的网络,其中每个节点都直接连接到每个其他节点。使用次要的样板代码,支持任何区块链。第 5 节演示了这一点通过实施 LayerZero 的案例研究的过程在以太坊区块链上。直接与网络上的任何其他链进行跨链交易的能力打开了一类大规模应用的机会以前是不可行的,例如跨链去中心化交易所、多链收益聚合器,以及跨链借贷。第 6 节详细研究了几个这样的应用程序。通过LayerZero,用户可以自由地 在链之间移动流动性,允许单个池流动性参与多种去中心化金融(DeFi) 跨链和生态系 统的应用程序,而无需通过,第三方系统或中间令牌。

2 背景

为了奠定 LayerZero基础信息,我们回顾了相关的现有系统来说明为什么它们不能满足新兴应用程序的需求。讨论最终将深入解释了在 LayerZero 上构建跨链交易所的优势。

2.1 相关工作

本节建立对重要的跨链交互空间里玩家的理解,他们为什么会跌倒,是缺乏去信任有效交付的理想,以及如何LayerZero 弥补了这一差距。以太坊 [8] 是通过智能合约构建的去中心化金融应用程序最受欢迎的平台。以太坊扩展其底层区块链一种图灵完备的编程语言,它使去中心化应用程序库,通过以下方式利用底层链的强大安全属性对开发人员友好的抽象。然而,低底层区块链的交易速率,大约每秒 15-45 笔交易 [9],已经证明成为一个严重的可扩展性瓶颈,限制了直接运行流行的应用程序在以太坊区块链。因为它的编程模型和流行度,多链间通信技术围绕连接第三方链与以太坊。LayerZero 提供了在没有中间人的情况下直接将状态传入和传出以太坊的能力,允许用户和应用程序利用以太坊链的稳定性和可信度,没有所描述的解决方案的成本和瓶颈下。以太坊 2.0 [22] 是一组提议的升级到解决以太坊的可扩展性、安全性和可持续性缺陷的版本。以太坊 2.0 引入分片分配负载而不是集中所有负载的链条超载的以太坊主链上的交易。从工作量证明过渡到股权证明,消除了 51% 攻击的可能性并减少了每笔交易的成本。这些进步主要是与 LayerZero 正交,除了它们肯定推动以太坊的普及,创造了对方便、廉价的链间通信的更多需求。

Polygon [17],前身为 Matic Network,是一个第2层处理吞吐量挑战的和主权的以太坊2层网络。尽管是最受欢迎的区块链开发平台,但以太坊是受低吞吐量困扰 [10],使其不适合对于某些应用程序。 Polygon 提供特定于应用程序的、与以太坊兼容的侧链,这些侧链结合了独立链的可扩展性和独立性,以及继承了以太坊的社区生态性和安全性。垂直于某一个领域或吞吐量密集型应用程序在侧链上运行并定期合并回主要的以太坊链。相比之下,LayerZero 是一个较低级别的平台可以实现直接的链间通信,并且可以用于促进转回以太坊链而没有多边形协议(Polygon)的复杂性。

Polkadot [26] 是潜力的早期例子一个开放的跨链生态系统。在 Polkadot 中,许多特定领域的平行链(“平行链”)连接通过一个通用的中继链来启用令牌和数据 在他们之间流动。然而,链间通信总是跨越这个中继链,从而产生额外的成本。LayerZero 提供了相同的底层的 Polkadot 一样的通信平台,不涉及链上中间人所需的额外交易。

THORChain [23] 是一个 DEX,它使用LP对的流动性池在第三方链之间转移代币。每个流动性池绑定特定的第三方货币到一个名为 RUNE 的 THORChain 原生代币,它的作用是作为一种通用的交换媒介。没有这个通用的中间媒介,所有货币对都需要流动性 池,意味着池的数量将扩展为货币数量的平方。很遗憾,虽然 RUNE 解决了这个可扩展性问题,但它是事务过程中繁琐的开销,使得一个简单的操作相当复杂。这很明显 THORChain 交易算法是具有复杂性的。LayerZero 提供直接的链间通信,没有 THORChain 固有的可扩展性瓶颈、繁琐的中间货币或重量级的协议。 AnySwap [2] 是一种 DEX,旨在轻松配对代币交换,类似于 THORChain。AnySwap 依赖于基于 Fusion 的中间令牌 ANY分布式控制权限管理[6]。像 THORChain一样,ANY 中间代币的使用引入了不必要的开销、延迟和额外的转化费用。

Cosmos [5] 是一种区块链网络技术,允许在受支持的之间发送任意消息链。Cosmos 包括一个基于 Tendermint BFT [21] 的区块链间通信 (IBC [14]) 协议促进建立在 Cosmos Hub 上的链之间的消息传递。 Cosmos 与 LayerZero 的两个关键点不同方式:(1)IBC运行一个完整的链上轻节点,以及(2)IBC 仅提供fastfinality [24] 链之间的直接通信。 IBC 的这些限制,结合使用中间链来促进共识,使其类似于 Anyswap、THORChain 或Polkadot,而不是像一般的通信层 零层。 Cosmos 也提供了一个 DEX Anyswap 或 THORChain 的属性,称为重力桥 [12]。与 Cosmos 和 IBC 相比,LayerZero 提供去信任化的全链消息传递,并且可以扩展到在任何链上运行,包括那些提供概率终结性,例如以太坊和比特币。

图 3:LayerZero 是跨链应用程序的构建块(译注:类似乐高的组合性)。此图可视化了架构差异在中心化交易所、去中心化交易所和使用 LayerZero 作为其构建的跨链桥之间底层通信原语。

Chainlink [7, 4] 是一个用于构建和连接去中心化预言机网络 (DON) 的框架。尽管智能合约是防篡改的,它们的链上特性阻止了对其更广泛的至关重要的采用基本的连接能力 如:智能合约无法获取链下所必需的数据来执行合同,例如股票价格、物联网设备测量和输出安全的链下计算。DON 扩展了智能合同对数据源的防篡改属性和合同依赖的外部资源,没有信任任何中央实体。在 DON 中,用户的智能合约向 Chainlink 发出链上请求接口智能合约,将事件发布到许多单独的预言机节点。每个oracle节点查询多个所请求信息的数据源,将其聚合过滤错误或恶意的来源,并可选择对数据执行信任最小化计算。这预言机节点响应 Chainlink 接口合约,它执行第二级聚合以过滤错误或恶意的预言机。这种双层过滤保证对最终数据的信任,而不需要信任任何单独的预言机或数据源。因此,Chainlink 提供了一个强大的信息检索网络作为以及一个安全的链下计算解决方案,它具有在整个行业中得到广泛应用。通过利用Chainlink DON 框架,LayerZero 协议获得在不同的链之间确保消息无信任传递的能力。

2.2 LayerZero 在实践中

开发人员可以使用 LayerZero 构建复杂的跨链应用程序,而无需牺牲去信任性或引入复杂的中间链/智能合约。 图 3 说明了 LayerZero 在 建立交易所的背景。左图所示的中心化交易所需要用户将他们的代币存入一个中央可信机构,然后该机构在链外跟踪该存款并 在用户请求时授予其他链上的token。 对这一权威的信任违背了使用区块链的初衷,这导致了 分布式交易所(dex)的出现。

图的中间部分从较高的层面显示了一个典型的去中心化交易所的工作——通过使用智能 合同管理的共识协议,以促进在 B 链上自动铸造硬币(token),DEXs 能够克服对中心化、受信任的链下中间人的必要性。然而,一个关键的限制是DEX 涉及中间代币和中间代币链,并且只在链 B 上铸造中间或包装的代币,而不是用户的实际代币来交换。然后用户必须交换中介令牌(例如 RUNE)或包装令牌(例如 ANY)额外交易中所需的代币。这个中介/包装令牌,第二笔交易,以及中间链都是不必要的开销理想情况下应该是一个单一的无缝交易。图 3 的右侧显示了采用LayerZero构建的去中心化交易所的样子,链 A 能够发起单个跨链交易,促进链 A 上的本地交易并通知链 B的应用程序,他们可以安全地向用户授予令牌(token)。在在这个应用程序中,LayerZero 实现了一个干净和最小的不包含任何中间代币的单笔交易交换。处理实际的交换协议通过跨链交易任一侧的智能合约,LayerZero 在交易双方之间传递消息 二。这提供了很大的灵活性,并遵循端到端原则 [18],其中大多数智能合约处理的高级交换逻辑在源链和目标链上。

3 有效交付

在本节中,我们描述了去信任的链间通信。为了正式描述在不同链上验证交易的问题,我们定义了有效交付的概念。有效的交付是一种通信原语,它通过提供以下保证来实现跨链令牌传输:1.通过网络发送的每条消息m都是耦合的在发送方链上有一笔交易 t。 2. 消息 m 被传递给接收者,当且仅当如果关联交易 t 有效并且已经在发送方链上提交。集中交换保证有效交付,因为客户和交易所之间的协议是客户将他们的代币从一个链转移到交易所,交易所将在收到该代币后,发行一些余额(非加密货币)。这种非加密货币余额可以从任何可用的链条,一种便利通过交易所维持的广泛流动性池在每个支持的链上。交易所作为这笔交易中的中间人,用户必须信任他们。但是,恶意或作恶的交易所可能会从客户,发行余额,然后拒绝允许从另一个链中提取余额,有效地从用户那里窃取令牌。即使用户愿意为了信任交易所,近年来有许多成功的尝试破解或破坏加密货币交换 [15],因此用户可以更好地获得解决方案这不需要任何受信任的中间人。在较高级别,加密货币的核心价值之一是他们的独立于银行等中心化实体,因此依赖中心化交易所违背了他们的目的。

使用中心化交易所的另一种选择是去中心化交易所,例如 THORChain [23] 或 AnySwap [2]。所有现有的 DEX 都使用中间代币,例如 THORChain 中的 RUNE 或 ANY在 AnySwap 的情况下,作为交易 t。因为这些中间代币由每个 DEX 各自的协议管理,DEX 能够保证有效交付,因为不可能有恶意用户伪造中间令牌。现有的 DEX 解决方案并不理想,因为它们涉及两个中间交易——一个将发送者的代币转换为中间代币,另一个将中间代币转换为接收者链上所需的“真实”代币。在除此之外,还需要用户完全信任确认源链上的交易并传达铸造意图的中间共识层令牌到目标链。虽然现有交易所启用跨链代币转移,他们存在着不必要的复杂性和成本。这一点的缺点很明显,因此跨链应用程序具有没有看到被更多用户采用。链间交易问题的理想解决方案是在链之间使用单个 oneswap 交易而不涉及任何受信任的中间实体——换言之,无需信任的有效交付。在我们的工作中,我们实现了一个通用的消息传递提供无信任的有效交付任意用户数据,而不仅仅是令牌。分布式交易所或其他DeFi 应用程序将使用我们的消息传递原语来实现,以提供跨链交易,以及低级别消息传递协议,提供的灵活性程度使更高级别的应用程序能够实现范围广泛的以前不可能实现的功能。

4 设计

LayerZero 的核心是一个通信协议提供了去信任的有效交付。我们的协议建立在 4.1 节介绍的一系列组件。我们讨论的传输协议通信流程 在第 4.2 节中,描述 LayerZero 如何能够实现 4.3 节中 不涉及可信中介服务的有效交付,并展示了我们的新颖设计 第 4.4 节 一个低成本的基于智能合约的轻客户端端点 。

4.1 LayerZero组件

LayerZero Endpoints 是面向用户的界面 的零层。 LayerZero 网络中的每条链都有 一个 LayerZero Endpoint 实现为一系列链上智能合约。端点的目的是允许 用户使用 LayerZero 协议发送消息 ,保证有效交付。 一个 LayerZero Endpoint 分为四个模块: 通信器、验证器、网络和库。其中通信器、验证器和网络模块构成端点的核心功能(图 4), 同时添加了一个外部的库来支持LayerZero 的每个新链 。这种设计允许我们添加 支持新链无需修改核心 模块。在第 4.4 节 我们解释了每个模块的功能 。Oracle 是第三方服务,提供 一种独立于其他 LayerZero 的机制 组件,从一个链中读取块头并 将其发送到另一个链。理论上,这个oracle可以是 任何提供此机制的第三方服务,但 在实践中,我们希望使用 Chainlink [7, 4],这是 去中心化预言机网络的当前行业领导者

图 4:单个 LayerZero 跨链交易中的通信流程

Relayer 是一种链下服务,功能类似于 Oracle,但它不是获取块头,而是获取指定交易的证明。为确保有效交付,唯一的要求是对于使用 LayerZero 协议发送的任何给定消息,Oracle 和 Relayer 必须每个是独立的。协议本身不需要任何特定的 中继器的实现,理论上用户LayerZero 甚至可以实现他们自己的 Relayer 服务。这种设计让用户可以确保 Relayer不能与Oracle勾结,而这种独立性是为什么让我们能够实现去信任的验证交付,如第 4.3 节所示。在实践中,LayerZero 提供 Relayer 服务,而 Oracle 由Chainlink 提供去中心化预言机网络和相关的共识机制服务。

4.2 零层协议

图 4 说明了单个 LayerZero 消息有效交付涉及的步骤 。每个圈起来的数字 图中代表协议的一个步骤,对应于本节中的一个段落。这一段落里, 在链 A 上的用户应用示例 通过零层 向链上的 B 链用户应用程序发送一条消息。在第 5 节中,我们描述了各种组件和协议是如何按步骤在 在两个 Ethereum 虚拟机 之间发送消息的情况。

步骤 1:链 A 上的用户应用程序(App A)作为交易 T 的一部分执行一系列操作。我们 通过使用交易标识符t来唯一标识事务 T——此标识符的格式可能要在 链 A 的类型上 视情况而定。交易 T 中包含的步骤是 通过 LayerZero 的有效消息传输 以 T 为条件的交付。出于说明目的,以及 不失一般性,我们假设在这种情况下 App A 正在使用我们的所说的Relayer。应用A发送 对 LayerZero Communicator 的请求,其中包含 以下信息:

• t:T 的唯一交易标识符。

• dst:指向在B 链 上 智能合约的全局标识符 。

• payload:应用 A 希望发送的给应用程序 B 的 任何数据 。

• relayer args::参数描述了这次 在应用程序 A 使用 Relayer 情况下的 这次事物的付款信息

步骤 2:Communicator构造一个LayerZero 包含 dst 和 payload数据包,称为 Packet(dst, payload),并连同 t 和 relayer args,发送到Validator模块。

步骤 3:Validator模块将 t 和 dst 发送到Network模块。 这一步通知 Network 模块 需要将链 A 上的当前块发送到链 B。

步骤 4 :Validator模块转发 Packet(dst, payload), t 和relayer args 给 Relayer,通知 Relayer,T 的交易证明需要是 预取并最终发送到链 B。发生这种情况 需与第 3 步同时进行。

步骤 5:Network模块发送 dst 和当前事务 (cur blk id) 的区块 ID 到 Oracle。这会通知 Oracle 获取链 A 上当前块的块头并将其发送到链 B。 发生多个 LayerZero 事务的事件出现在 同一个block,Step 5只执行一次。

步骤 6:Oracle 从链 A中读取块头(blk hdr) 。

步骤 7:Relayer 从链 A 中读取与交易 T 关联的交易证明(proof(t)),并存储在 off-chain。步骤 6 和 7 互相彼此 异步执行

步骤 8:Oracle 确认 blk hdr 对应的区块在链 A 上已经稳定提交,并且 然后将 blk hdr 发送到链 B 上的Network模块。 确定何时发生这种情况的机制因链而异, 但通常需要等待一定数量的 块确认才发送。

步骤 9:Network模块发送区块哈希,指定为blk hdr 哈希 到Validator模块。

步骤 10:Validator模块将 blk hdr 哈希转发到Relayer。

步骤 11:Relayer 收到 blk hdr 哈希后,发送一组 Packet(dst, payload) 的列表,t,proof(t) 匹配当前块的元组。在里面 多个用户同时发送消息的事件 在同一个端点之间,同一个内可能有多个数据包和相关的交易证明 的 堵塞。

步骤12 :Validator使用收到的交易 与存储的区块头相关的证明 网络验证是否是关联交易T,是否有效且已承诺。如果区块头和交易证明不匹配,则该消息将被丢弃。 如果它们匹配,则发送 Packet(dst, payload) 到Communicator模块。

步骤13 :Communicator模块发出 s Packet(dst, payload) 到应用程序 B。

4.3 实现去信任有效交付

无需信任:LayerZero 设计的关键是 认为用户不需要信任 LayerZero 的组件。不需要信任,这是一个硬性条件,我们只需要独立与 Oracle 和 Relayer 之间的较弱的条件。这个要求独立性而不是信任,是 LayerZero 高效和轻量级的一个重要方面。只要 Oracle 和 Relayer两者之间具有独立性,然后LayerZero 就能保证有效交付。

1 Oracle 提供的区块头和Relayer 提供的交易证明都是 有效的。

2 Oracle 提供的区块头和Relayer 提供的交易证明都是 无效,但仍然匹配

场景 2 只有在 Oracle 和 Relayer 串通时才会发生,因为在统计角度上看不知道特定区块头的区块头是不可能发送可以针对区块进行验证的交易证明 , 反之亦然。然而,LayerZero 的设计消除了 串通的可能性,如第 1 节所述。 因此,如果将消息传递给用户应用程序 接收端,需保证满足属性 有效交付。 如第 3 节所述,一种可以保证无需信任有效传递的通信协议,即 不信任中介实体或代币的有效交付,是实现跨链的理想解决方案 交易。 LayerZero 是第一个也是唯一一个系统 证明了这个性质。这一事实将推动用户采用 LayerZero 作为跨链消息传递的首选方法

4.4 LayerZero Endpoint

LayerZero Endpoint目前在 LayerZero 网络中包含的每条链上作为一系列智能合约实施。 LayerZero 的核心功能 Endpoint 封装在三个模块中:Communication, Validation, and Network。这些模块作用以类似于网络堆栈的方式,带有消息在发送方的堆栈中向下发送 - Communicator到验证者到网络——然后在接收方的堆栈上向上。除了核心模块,LayerZero Endpoint可以通过库进行扩展,这是辅助智能定义特定通信方式在特定的链应该怎么处理。 LayerZero 中的每个链有一个关联的库,每个Endpoint包括每个库的copy。这种模块化设计允许 LayerZero 网络快速轻松地按需的扩展的新的链。此外,两条链之间的通信只需要 它们各自的库出现在两端,使 LayerZero 成为一个具有能力的全连接网络任何一对节点之间的交易。

4.5 LayerZero Endpoint cost scalability

正如许多读者可能会指出的那样,在第 1 层链上运行智能合约的成本可能过高,尤其是随着存储数据量的增加。使LayerZero Endpoint 实用,对我们来说是必要的 尽可能设计最轻量级的客户端。以前的通过跨链状态机复制 (SMR) 进行无信任跨链验证,例如 GoldenGate [11],在以太坊等流行的第1层链上,每天运行可能花费数百万美元

EVM上的endpoints 的 LayerZero 数据包布局

为了解决这个问题,我们着手设计最轻量级客户端成为可能。我们的主要观察是 在客户端复制和存储块头是不必要的。相反,我们委派了获取任务去获取的必要的跨链头和交易证明给off-chain:Oracle 和 Relayer。这结果在 LayerZero Endpoints 中非常轻巧,即使在众所周知的昂贵 [20] 链(如以太坊)上,它们也具有成本效益。

5 案例研究:EVM 上的 LayerZero

在本节中,我们将简要描述我们如何实现了LayerZero对以太坊虚拟机 (EVM) [13] 的支持。为了简单期间,我们关注系统的各个方面,其实施可能因链而异,并强调我们如何实现来处理以太坊链特定的要求如第 4.1 节所述,当前版本的LayerZero依赖Chainlink提供Oracle服务,期待用户使用我们提供的Relayer服务。LayerZero 数据包:LayerZero 的格式数据包会因来源链和目的地链而异。我们说明了LayerZero 的精确布局图 5 中 EVM Endpoints [19] 的数据包。每个字段 功能如下:

发送方链交易稳定性: 保证消息交易在源链上是稳定的,我们依赖于去中心化预言机网络的固有特性——预言机只会在听到一些特定的区块头后通知目标链的块确认的数量,在这种情况下以太坊是 15。准确地说,LayerZero 协议的第 8 步(第 4.2 节)只会在Oracle 在链 A 上看到15个区块确认后执行。

LayerZero Endpoint:我们实现了 LayerZeroEndpoint 是一系列智能合约,由 我们在 4.4 节中描述的四个主要模块。对于大多数现有的区块链,包括以太坊在区块链中,我们能够将 Communicator、Validator 和 Network 分别作为单独的智能合约来实现。然而,这种设计并不排除在(未来)链上实现 LayerZero Endpoint 不同的要求。在这个案例研究中 LayerZero Endpoint的库组件是为以太坊区块链提供支持的关键。我们实现了一个库来处理特定于 EVM 的 LayerZero 数据包的构建如图5所示并处理编码和解码EVM 智能合约地址信息。库的另一个责任是处理验证交易证明所涉及的实际计算。我们的 EVM 库处理 Merkle-Patricia块上的evm交易树的验证 [16],我们的实现是基于开源的Golden Gate[11]。

6 在 LayerZero 上的应用

跨链去中心化交易: 如 2.2 节所述,LayerZero 启用跨链DEX(跨链桥)专门处理本地资产。与现有的 DEX 设计相反,包裹代币或通过中间侧链,一个使用 LayerZero 构建的 DEX,用于在可以建立链,使得流动性池存在于两个链,用户可以简单地将他们的本地资产存入一个池并从另一个池中提取本地资产。 LayerZero 的消息传递原语足够强大,可以实现直接桥接(1:1 定价)、自动做市(ab = k 定价)和任何其他派生(例如一种类似于 Curve DAO 定价 [25])。保证LayerZero 提供的有效交付使去中心化交易所应用的范围。

多链收益聚合器: 当前的收益聚合器通常在单链生态系统的范围内运行,Yearn Finance [27] 等项目使用单链实现收益聚合策略。这些单链收益率的一个关键弱点他们无法利用的聚合系统当前生态系统之外的任何收益机会,可能会错过许多最佳收益。使用 LayerZero 进行跨链的收益聚合器交易将允许利用多链聚合的策略来找到所有生态系统中的最佳收益机会,增加获得高收益机会的机会并使用户能够利用市场低效率。多链收益率聚合器将严格优于单链收益率聚合器,因为在最坏的情况下,策略将退化只有一个链的收益策略,在最好的情况下,它会有更多的机会可供选择。

多链借贷: 今天,用户没有简单的方法让他们抓住不持有资产的链上机会。例如,假设用户持有合在 ETH 中的资产,希望抓住一个Polygon链上的机会 [17]。他们的选择是 (1) 将他们的整个eth链上的资产转移到Polygon链上,并且将其转换为所需的货币,或 (2) 在以太坊上借出他们的资产,并借入他们所需的资产,然后通过跨链桥转移该资产到目标链。 LayerZero 使允许用户保留他们的资产在以太坊上,借贷协议整个资产基础在以太坊上就位,借出,然后直接在 Polygon 上的 MATIC 中借用。这消除了中介费用,例如过桥费和掉期费。这三个例子只代表一小部分LayerZero 实现的许多可能性。使用LayerZero,开发人员将能够编写他们的应用程序无需担心链间和链内交易之间的不同语义,以及用户将能够自由地跨链转移流动性。我们期待有创意的新应用鉴于去信任的力量,社区将发展跨链交易。

7 结论

本文介绍了设计和实现LayerZero,第一个去信任化的全链互操作性 不涉及任何中间交易的平台。我们表明,通过利用两个独立的,受信任的链下实体,Oracle 和 Relayer,LayerZero 能够在不需要的情况下实现有效交付昂贵的跨链状态机复制或中介代币。我们的协议的设计方式是不排除使用任意中继服务,这确保 Relayer和Oracle 之间没有勾结。 LayerZero 协议支持支持链之间的本地交易,而新颖的 LayerZero Endpoints设计可以轻松扩展以支持任何公链。除此之外,我们的Endpoints设计是轻到足以在昂贵的第 1 层链上运行,例如以太坊,而不会产生过高的成本。我们展示了一个关于如何实施支持的案例研究对于 LayerZero 中基于 EVM 的链,使用参考Relayer 的实现与 Chainlink 的结合去中心化预言机网络,通过 LayerZero 实现跨链交易。LayerZero 是连接各种不相交的区块链生态系统和社区之间允许无摩擦的主干链之间移动流动性、数据和想法的连接器。

References

[1] All layer 1 blockchain protocols. https://blockchaincomparison.com/blockchain-protocols/. Accessed: 2021-5-13.

[2] Anyswap dex user guide. https://anyswapfaq.readthedocs.io/en/latest/index.html. Accessed: 2021-5-13.

[3] Binance.com. https://www.binance.com/. Accessed: 2021- 5-14.

[4] BREIDENBACH, L., CACHIN, C., CHAN, B., COVENTRY, A., ELLIS, S., JUELS, A., KOUSHANFAR, F., MILLER, A., MAGAURAN, B., MOROZ, D., NAZAROV, S., TOPLICEANU, A., TRAMER` , F., AND ZHANG, F. Chainlink 2.0: Next steps in the evolution of decentralized oracle networks. White paper, ChainLink, 2021.

[5] What is cosmos? https://v1.cosmos.network/intro. Accessed: 2021-5-15.

[6] Dcrm - fusion.org. https://www.fusion.org/tech/dcrm. Accessed: 2021-5-13.

[7] ELLIS, S., JUELS, A., AND NAZAROV, S. Chainlink: A decentralized oracle network. White paper, ChainLink, 2017.

[8] Ethereum. https://ethereum.org/en/. Accessed: 2021-5- 13.

[9] Ethereum 2.0 (eth2) vision. https://ethereum.org/en/ eth2/vision/. Accessed: 2021-5-13.

[10] GALAL, H. S., ELSHEIKH, M., AND YOUSSEF, A. M. An efficient micropayment channel on ethereum. In Data Privacy Management, Cryptocurrencies and Blockchain Technology. Springer, 2019, pp. 211–218.

[11] Golden gate – trustless-bridging ethereum (evm) blockchains – part 1: Basics. https://loredanacirstea.medium.com/ golden-gate-trustless-bridging-ethereum-evmblockchains-part-1-basics-d016300ea0dd. Accessed: 2021-5-14.

[12] Announcing the gravity bridge. https://blog.althea.net/ gravity-bridge/. Accessed: 2021-5-15.

[13] HILDENBRANDT, E., SAXENA, M., RODRIGUES, N., ZHU, X., DAIAN, P., GUTH, D., MOORE, B., PARK, D., ZHANG, Y., STEFANESCU, A., ET AL. Kevm: A complete formal semantics of the ethereum virtual machine. In 2018 IEEE 31st Computer Security Foundations Symposium (CSF) (2018), IEEE, pp. 204– 217.

[14] Ibc overview — cosmos sdk. https://docs.cosmos.network/ master/ibc/overview.html. Accessed: 2021-5-15.

[15] LAZARENKO, A., AND AVDOSHIN, S. Financial risks of the blockchain industry: A survey of cyberattacks. In Proceedings of the Future Technologies Conference (2018), Springer, pp. 368– 384.

[16] LU, Z., WANG, Q., QU, G., ZHANG, H., AND LIU, Z. A blockchain-based privacy-preserving authentication scheme for vanets. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 27, 12 (2019), 2792–2801.

[17] Polygon: Ethereum’s internet of blockchains. https:// polygon.technology/lightpaper-polygon.pdf.

[18] SALTZER, J. H., REED, D. P., AND CLARK, D. D. End-to-end arguments in system design. ACM Transactions on Computer Systems (TOCS) 2, 4 (1984), 277–288.

[19] Solidity types. https://docs.soliditylang.org/en/ v0.5.3/types.html. Accessed: 2021-5-14.

[20] SPAIN, M., FOLEY, S., AND GRAMOLI, V. The Impact of Ethereum Throughput and Fees on Transaction Latency During ICOs. In International Conference on Blockchain Economics, Security and Protocols (Tokenomics 2019) (Dagstuhl, Germany, 2020), V. Danos, M. Herlihy, M. Potop-Butucaru, J. Prat, and S. Tucci-Piergiovanni, Eds., vol. 71 of OpenAccess Series in Informatics (OASIcs), Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, pp. 9:1–9:15.

[21] Tendermint. https://tendermint.com/. Accessed: 2021-5- 15.

[22] The eth2 upgrades. https://ethereum.org/en/eth2/. Accessed: 2021-5-13.

[23] Thorchain. https://thorchain.org. Accessed: 2021-5-13.

[24] VIRIYASITAVAT, W., DA XU, L., BI, Z., AND SAPSOMBOON, A. New blockchain-based architecture for service interoperations in internet of things. IEEE Transactions on Computational Social Systems 6, 4 (2019), 739–748.

[25] WARREN, W., AND BANDEALI, A. 0x: An open protocol for decentralized exchange on the ethereum blockchain. URl: https://github. com/0xProject/whitepaper (2017), 04–18.

[26] WOOD, G. Polkadot: Vision for a heterogeneous multi-chain framework. White paper, Polkadot, 2016.

[27] yearn.finance. https://yearn.finance/. Accessed: 2021-5- 14.