LayerZero V2 深度解析

  • kram.eth
  • 发布于 2024-04-22 14:49
  • 阅读 39

本文深入探讨了 LayerZero V2 的设计、安全性和信任假设,以及其核心原则。LayerZero V2 旨在实现 omnichain 互操作性,通过模块化的安全框架和通用网络语义,赋能开发者构建跨链应用 (OApps) 和同质化代币 (OFTs)。V2 版本改进了开发者体验,强化了协议的无需许可性、抗审查性和不可变性

LayerZero V2 深度探讨

本文将在 V2 上线 的背景下,广泛地解释 LayerZero。从技术角度来看,它将探索 LayerZero V2 的“是什么”,包括其设计、安全性以及信任假设。从讨论的角度来看,它还将尝试通过对协议核心原则的通用分析以及对 V2 对其他互操作解决方案的影响的探索,使 LayerZero 的“为什么”合理化。

以下是本文的提纲:

什么是 LayerZero?

  • 解释 LayerZero — 每个人都能理解的定义
  • 核心原则 — 不可变性、无需许可性、抗审查性

V2 如何工作?

  • V2 架构 — 协议、标准、基础设施
  • V2 vs V1 — 比较两者的关键亮点,重点关注安全堆栈
  • V2 交易生命周期 — 如何通过四个步骤发送消息
  • 用例 — 身份、稳定币和借贷市场
  • V2 信任假设 — 端点部署、勾结风险、2/2 多重签名等等

LayerZero 和市场

  • 桥 — V2 如何吞噬桥接行业(消息传递和流动性)
  • OApp 和 OFT — 为什么每个人都应该使用 V2 合约标准

结束语

什么是 LayerZero?

什么是 LayerZero?

解释 LayerZero

取决于你是谁 — 你的工作、你的投资组合、你的教育、你对memes的偏好 — 你如何理解 LayerZero 可能会有所不同。大多数加密原语也是如此。例如,一位财务经理、一位 Uber 司机和你祖母对于什么是比特币可能会有不同的定义。在该示例中,比特币可能分别类似于数字黄金、一种投资或犯罪分子使用的暗网货币。

考虑到这一点,对 LayerZero 只有一个定义似乎适得其反。以下是解释 LayerZero 的几种不同方式,专门为本文最可能的读者量身定制:

对于白皮书爱好者:

LayerZero 利用不可变的端点、仅附加的验证模块和完全可配置的验证基础设施,提供了实现全链互操作性所需的安全性、可配置性和可扩展性。LayerZero 通过其新颖的最小信任模块化安全框架,强制执行严格的应用程序独占协议安全性和成本所有权,该框架旨在普遍支持所有区块链和用例。建立在 LayerZero 协议之上的全链应用程序 (OApp) 通过 LayerZero 的通用网络语义实现无摩擦的区块链无关互操作。

对于极客:

LayerZero 是一种验证不可知的传输层,使不同区块链上的智能合约能够互操作。它是一个不绑定于任何基础设施或区块链的完全连接的网状网络。LayerZero 是一种“全链”协议,使开发人员能够构建具有模块化安全参数的统一应用程序。

对于 web3 开发人员:

LayerZero 是一种不可变的、无需许可的且抗审查的协议,连接了以前孤立的区块链。使用 LayerZero,开发人员可以跨链发送任意消息,同时保持对其应用程序安全性的完全控制。LayerZero 使开发人员能够创建和配置统一的应用程序、代币和数据原语,而与链无关。这种统一的跨链开发概念被封装在“全链”一词中,也是 LayerZero 设想的加密货币的未来发展方向。

对于技术爱好者:

LayerZero 之于区块链,就像 TCP/IP 之于互联网。TCP/IP 允许运行不同操作系统、位于不同网络上的不同计算机进行通信(从而形成一个连接的互联网),而 LayerZero 允许用不同语言编码、位于不同区块链上的智能合约进行通信。这使得开发人员能够创建普遍存在于区块链上的应用程序。

对于你认为理解了但显然没有理解的 TradFi 朋友:

想象一下,你的 Windows 计算机无法向你老板的 Mac 发送电子邮件,或者你的 Android 手机无法向你母亲的 iPhone 发送短信。我们认为这是理所当然的,但它是由一种名为 TCP/IP 的通信协议提供支持的,该协议将互联网粘合在一起。LayerZero 就是这种通信协议,但用于区块链。在 LayerZero 之前,以太坊无法与比特币通信,而且这两个区块链都无法与 Solana 通信。借助 LayerZero,开发人员和用户可以通过单个协议与存在于许多区块链上的应用程序和代币进行交互,类似于 Mac、Linux 和 Windows 用户都可以在同一个互联网上进行通信的方式(早期 alpha:LZ + Solana,将于 2024 年推出)。

对于感恩节的餐桌:

LayerZero 就像互联网,它向世界开放了通信 — 电子邮件、社交媒体、Zoom 通话等。LayerZero 也会这样做,但用于加密货币 — 这意味着金融将是开放的,任何人都可以转移价值、获得贷款、交易资产等,而无需通过银行等中介机构或政府等潜在的审查机构。

核心原则

重要的是要记住我们为什么在这里 — 为所有人、永远构建一个开放和公正的数字经济。加密货币应该是一个无需许可的空间,允许任何人与应用程序进行交互。加密货币应该是抗审查的,促进数据包的传输而不带判断。加密货币应该永远存在,留下不可变的、可证明的且不变的系统。一般来说,连接加密货币的协议必须旨在打击腐败,以便我们在这个领域构建的任何东西都可以与传统系统保持平行,而不是成为其中的一部分。

LayerZero 的设计反映了这些核心原则。

LayerZero 核心原则。

  • 不可变性

端点(用于与 LayerZero 交互的接口)以不可变的智能合约形式存在于 LayerZero 支持的每个链上。这些端点是不可升级的,并且不能被任何一方更改,从而提供了安全且可预测的交互接口。每个核心协议代码都是不可升级的。除了全链应用程序的所有者之外,无论是 LayerZero Labs 还是任何其他人都无法更改应用程序的安全配置(除非选择默认值或委托来执行此操作)。

  • 抗审查性

只有在验证了所有先前的消息后,才能执行单个消息,这意味着任何单个消息都无法在任何路径上被审查。LayerZero 协议一旦在源链上成功提交消息,就无法有选择地传递消息。如果交易在源链上成功提交,则保证将其传递到目标链。

  • 无需许可性

LayerZero 是一个纯粹的协议。任何人都可以运行验证和执行通过 LayerZero 发送的消息所需的基础设施。如果每个开发人员和基础设施提供商都停止提供服务,那么任何人都可以加入该协议并从他们离开的地方继续。此外,任何人都可以建立在 LayerZero 之上并与这些应用程序进行交互。

V2 如何工作?

V2 架构

LayerZero V2 的核心设计可以分为三个类别:协议、标准和基础设施。

协议 → LayerZero 协议的这些方面在每个受支持的区块链上都保持不变。在 V2 白皮书 中,LayerZero 的协议被认为是“内在的” — 这些是永存的合约(不可变),任何人都可以建立在之上(无需许可),并且强制执行交易的排序方式(抗审查)。该协议包括两个实体:端点和消息库。

  • 端点:这些是 LayerZero 支持的每个链上的不可变智能合约。端点是 LayerZero 协议的核心。一旦实施,任何实体都不能更改端点,因为它们是不可变的且不可升级的。端点为应用程序提供了管理安全配置和发送/接收消息的标准化接口 — 这是在 LayerZero 之上构建应用程序时应用程序想要控制的两个最重要的事情。
  • 消息库:每个消息库都注册到一个端点,并且是应用程序的安全配置和数据包发送/接收过程的强制执行方式。换句话说,消息库是端点如何获得有关在区块链之间发送的消息的信息 — 这是消息的验证和通信发生的地方。值得注意的是,消息库是端点的仅附加添加项。这意味着它们无法被删除(仍然是不可变的),同时允许协议在必要时升级验证方法。在 LayerZero 上构建的开发人员永远不会被迫接受或更新到新的消息库。在这里进行类比,可以将 LayerZero 端点视为区块链,将新的消息库视为智能合约。就像 Uniswap 通过新产品发布(UniswapV1、UniswapV2 和 UniswapV3)更新其合约,而人们仍然可以使用旧合约一样,LayerZero 可能会发布新的消息库,而人们仍然可以选择使用旧库。

LayerZero 端点的描述。

标准 → 这些标准实现了“统一语义”的概念 — 其中应用程序/代币在每个 LayerZero 支持的区块链上的工作方式都相同。统一语义使开发人员能够轻松构建与跨数十个区块链的应用程序交互的接口,而无需为新环境重写代码。LayerZero 标准包括如何编写全链智能合约、如何构建数据包以及如何组合逻辑。开发人员从头开始启动全链产品可能需要的任何东西都可以作为经过审计、可重复使用且经过实战考验的标准找到。

  • 合约标准: LayerZero 为应用程序 (OApp) 和代币 (OFT) 提供了开箱即用的消息处理和配置。OApp 和 OFT 是现有合约标准的扩展 — 例如,OFT 扩展了 ERC-20 — 并且最大限度地缩短了构建炫酷东西的开发时间。在 OApp 和 OFT 的情况下,这两种合约标准都允许开发人员创建在所有 LayerZero 支持的链上工作方式相同的通用应用程序和代币。ONFT 合约标准已在 V1 中提供,并将于今年晚些时候在 V2 中提供。
  • 消息包:这是在链之间传递信息的方式。每个跨链消息都需要以特定方式格式化信息,以便目标链活动可以顺利进行。LayerZero 的消息包需要一个 nonce、源 ID、发送者地址、目标 ID、接收地址、一个唯一标识符和消息负载。nonce、源/目标ID和唯一标识符可防止重放攻击和错误路由,同时还有助于跨链跟踪消息。payload 字段携带需要在目标链上执行的实际信息或命令。通过正确格式化此信息,可以在链之间传递任何通用消息,从而允许传输数据、资产和/或外部合约调用。此消息包格式扩展到任何区块链环境(EVM 和非 EVM,公共链和私有链)。与数据包数据相关的格式化(例如,nonce 管理)主要由端点直接处理。

LayerZero 消息包。

  • 设计模式:LayerZero 附带一组内置的设计模式,可以将其视为全链构建块。在 LayerZero 上构建的开发人员可以使用这些设计模式来创建他们想要的几乎任何东西。目前,有四种基本的设计模式:

AB:从源到目标单向数据传输。

ABA:从链 A 到链 B 再到链 A 的嵌套发送调用。

组合 AB:消息从链 A 传输到链 B,并调用链 B 上的外部合约。

组合 ABA:将数据从源移动到目标,执行合约调用,然后将其发送回源链。(如下所示。)

组合 ABC:将数据从源移动到目标,执行合约调用,然后将信息发送到第三条链。

批量发送:一个发出到多个目标链的单次调用。

虽然这些设计模式看起来可能没什么大不了,但设计模式是构建全链应用程序的乐高积木,可帮助开发人员创建简洁的用户体验。例如,可以通过组合 AB 在单个交易中桥接和交换代币,该交易仅需要在源链上花费 gas。

组合 ABA 设计模式。

基础设施 → LayerZero 的基础设施层旨在无需许可:任何人都可以运行验证和执行交易所需的实体。基础设施堆栈还旨在完全模块化 — 应用程序可以选择它想要使用的验证方法类型,以及它想要为执行付费的实体。

  • 去中心化验证器网络 (DVN):DVN 验证跨链消息。这个无需许可的角色使任何有能力验证跨链数据包的实体都可以作为 DVN 加入 LayerZero。任何原生桥、第三方桥、中间链、预言机或其他验证方法都可以在 V2 中用作 DVN,从而避免了安全级别的供应商锁定。由于 V2 采用模块化设计,因此应用程序所有者可以组合 DVN,以最大限度地提高安全、成本、速度或应用程序可能需要的任何参数的验证。目前,有 15 多个 DVN 可用,包括由 Google Cloud 和 Polyhedra 的 zklight 客户端运行的 DVN,它们运行 DVN 和 Axelar 和 CCIP 的适配器 DVN。同样,由于这是一个无需许可的角色,因此任何实体都可以设置 DVN 和/或为第三方桥创建适配器。

DVN 在 V2 架构中的位置。

  • 执行器: 任何实体都可以运行执行器,因为它完全是一个无需许可的角色。执行器通过向最终用户提供 gas 抽象来确保消息在目标链上顺利执行。执行器通过在源链 gas 代币中向源链上的最终用户报价,同时在目标链上自动执行交易来实现这一点。就像应用程序可以选择 DVN 集一样,它们也可以配置其应用程序以选择某个执行器或一组执行器。应用程序还可以构建和运行自己的执行器(就像它们可以为 DVN 构建和运行自己的执行器一样),或者在没有执行器的情况下运行,并让最终用户通过 LayerZero Scan 手动调用 lzReceive。
  • 安全堆栈:应用程序的“安全堆栈”指的是其 DVN、执行器和其他安全首选项的独特配置(例如,启用了哪些链以及 DVN 必须等待多少个区块确认才能验证消息)。安全堆栈实现了“应用程序拥有的安全性”,并将 LayerZero 与许多其他互操作解决方案区分开来。安全堆栈不是将开发人员锁定到单个共享安全模型或单个验证器集,而是允许开发人员选择如何验证其跨链消息,并在新的 DVN 进入市场或某个 DVN 遇到活跃性障碍时更改该配置。

V2 vs V1

V2 的目标不是完全改造一个系统。相反,它是采用 V1 设计,并强调关注 LayerZero 的核心原则:无需许可、抗审查和不可变。

以下从 V1 到 V2 的五个更改改善了开发人员的体验,并强化了 LayerZero 的核心原则。

V2 vs V1 亮点

  • 将执行与验证分离: 以前,Relayer 负责验证和执行。在 V2 中,执行器与验证过程分离。如果 Relayer 实体遇到停机(截至目前,这不是问题),则在 V1 中是 假设的 瓶颈,而在 V2 中,将不存在活跃性问题。在 V2 中,执行是一个协议和验证过程之外的无需许可的角色。
  • X of Y of N: 这种模块化验证方法使应用程序可以根据其用例决定是多付还是少付安全费用。X of Y of N 允许应用程序以任何方式组合 DVN。例如,DVN 的“1 of 3 of 5”组合将包括一个必需的 DVN 和五个 DVN 中的两个任意 DVN,以在继续执行之前验证消息。这意味着,如果五个 DVN 中有必需的 DVN 之外的两个 DVN 没有响应,则消息流可以继续,从而极大地帮助了活跃性。(编者注:围绕 V1 提出的 2/2 多重签名说法是错误的,因为预言机是模块化的。但是,有了 X of Y of N,可以正式宣布该说法已经死亡。
  • 水平可组合性: 以前,应用程序被迫垂直组合全链交易,如果交易的最后一环失败,则会导致整个交易失败。通过水平可组合性,交易的每一环都本地保存在目标链上。例如,只有在从源到目标的交换成功后,才会执行目标端的组合逻辑(例如,在单独的合约上记录交换详细信息)。如果该日志记录失败,则不会中断交易,并且交换仍会成功,而整个交换会使用垂直可组合性回滚。
  • 无序传递: 以前,所有消息都按顺序验证和执行。V2 允许开发人员选择按顺序或乱序执行交易。通过乱序交易执行,LayerZero 的吞吐量与目标链匹配,同时保持抗审查性。
  • 增强的可编程性: V2 改进的协议合约接口、特定于路径的库、新的设计模式和水平可组合性重新定义了应用程序交互,从而促进了灵活性和不间断的跨链交易。

让我们扩展 X/Y/N 和安全堆栈,因为这些可能是构建 V2 时需要理解的最重要的概念。

X of Y of N 允许应用程序开发人员指定 DVN 的法定人数,以在签署消息的有效性之前检查跨链消息的完整性。例如,“1 of 9 of 15”需要以下 DVN 的共识才能验证消息:

  • 从 15 个 DVN 的选定池中选择 9 个,以及
  • 1 个必需的 DVN

关于 X of Y of N 的必需签名者方面 — 这允许应用程序通过运行自己的 DVN 并要求自己签署每笔交易来显着加强其验证。这样,即使其他 DVN 串通签署恶意交易,他们的应用程序也是安全的。

X of Y of N 是安全堆栈的核心,它允许应用程序选择、组合和/或删除 DVN 以验证它们认为合适的任何消息。这使应用程序可以在新的验证方法进入市场时提高安全性,或者在出现风险时重新配置 DVN。

安全堆栈通常应根据项目的用例进行配置。例如,跨链借贷 dApp 可以将其安全堆栈配置为尽可能去中心化的 DVN 集,并为确认设置大量区块,而构建子网生态系统的金融机构可以选择在其安全堆栈中运行自己的 DVN,并设置非常少的确认时间。对于低成本的用例或测试,开发人员可以设置 1/1/1 法定人数。但是,如果有人构建了一个应用程序,该应用程序零星地跨链移动数百万美元的价值,则可以使用 5/20/25 DVN 的法定人数。

安全堆栈的灵活性使开发人员受益,因为它通过不将 OApp 锁定到单个验证方法来使其具有面向未来的特性。例如,如果某个 DVN 因黑客攻击或政府传票而关闭,则 OApp 可以更改其安全堆栈以要求来自不同 DVN 的签名。

使用 LayerZero 的应用程序

这种对验证的公正立场是一种设计选择,与其他大多数消息传递协议不同,后者通常仅提供单个安全配置。除了 IBC、Hyperlane 和其他一些协议之外……大多数跨链协议都采用共享的安全方法,不断更新单个整体式端到端安全模型(例如,验证器集、预言机、中间链等)以包含新链。

一种通用的安全方法通常会导致应用程序为安全性支付过高或过低的价格。例如,全链 NFT 项目的安全需求远低于全链货币市场。但是,如果两者都建立在启用了中间链的跨链协议上,则它们为安全性支付相同的金额。此外,使用单个整体式协议会导致一种通用的可扩展性方法,因为每种验证方法可能仅支持有限数量的链。通过模块化 DVN 集,LayerZero 允许开发人员配置最适合其应用程序的安全参数,而不是强迫他们将应用程序放入刚性的整体式架构中。

使用共享安全模型协议的应用程序。

在构建安全堆栈时,预计会存在各种各样的关于应用程序安全性的意见。有些人会说只有一个 DVN 的安全堆栈就足够了(那些是目前在单链上构建的开发人员),而另一些人可能会说,任何小于 1 个必需的、4/5 安全堆栈都是不安全的。无论怎么说,LayerZero 协议都是公正的 — 它只是传输层,并且将保持验证不可知。

借助安全堆栈,LayerZero 是供应商锁定的对立面,因为它允许开发人员根据其特定用例选择、修改和组合不同类型的验证方法。

V2 交易生命周期

对于此示例,让我们假设一个应用程序 (OApp) 已为其安全堆栈配置了源和目标区块链的 LayerZero 端点。它还选择了其首选的消息库版本。

LayerZero Tx 生命周期

步骤 1a:发送消息

  • 源链 OApp 在源 LayerZero 端点上调用 lzSend,提供消息负载及其唯一路径。
  • 该路径旨在安全且抗审查,由发送者和接收者应用程序地址及其各自的端点 ID 构建而成。

步骤 1b:编码和发出数据包:

  • 源端点为数据包分配一个唯一的、顺序递增的 nonce。
  • 它将 nonce 与路径组合以创建一个全局唯一标识符 (GUID),用于跟踪数据包。
  • 端点根据安全堆栈选择正确的源消息库(如 ULN)来编码数据包。
  • 数据包使用必要的信息进行编码,包括用于 DVN 验证消息和执行消息以触发链下操作的付款。

步骤 2:DVN 验证:

  • 配置的 DVN 使用目标消息库独立验证目标端的数据包。
  • 在安全堆栈要求的足够数量的 DVN 验证数据包后,它会由适当的工作人员(DVN、执行者或用户)提交到目标端点。

步骤 3:接收和执行:

  • 端点确保有效负载验证与 OApp 配置的安全堆栈一致,然后再提交到通道。
  • 执行者调用 lzReceive 函数来处理接收者 OApp 逻辑收到的数据包。
  • 此步骤确保消息仅传递一次且没有丢失。如果系统无法保证这一点,则该过程将回滚,以防止出现任何审查的可能性。

V2 用例

LayerZero 是一个伟大的构想 — 任何可以作为单链智能合约进行编程的东西现在都可以在多个链上以原生方式进行编程(这导致构建的应用程序比目前单链市场上存在的应用程序更具表现力)。

自成立以来,许多产品都建立在 LayerZero 之上,包括借贷 dApp、跨链身份 dApp、桥、NFT 市场、企业项目、NFT 项目、meme 代币和数据产品。超过 40,000 个 OApp 合约部署在 LayerZero V1 上,100 多个团队正在使用 LayerZero 来为 OFT 提供支持,并且数十个团队已将完整规模的应用程序构建为 OApp 的分组。“跨链是新链”这一说法似乎是正确的!

对于开发人员而言,LayerZero 的可组合性将 DeFi 扩展到单链限制之外,从而为更互联和通用的金融生态系统铺平了道路。借助 LayerZero,随着开发人员利用更多的资产和区块链,DeFi 中构建的应用程序范围也在扩大。此外,通过运行 DVN 的能力,应用程序开发人员可以通过减少对其他方的依赖来增强安全性。

对于用户而言,V2 简化了跨链交易,使用户无需了解即可与多个区块链进行交互 — 因为他们只需支付源链上的 gas 费用。这种简化的体验可以应用于每个 DeFi 垂直领域 — 从 DEX 到收益农场再到 NFT 市场 — 降低了最终用户的复杂性。零售 DeFi 的最终目标是从用户那里完全抽象出链,而 LayerZero OApp 和 OFT 合约是促进此目标的工具。

为了给出关于可以使用 V2 构建的内容的具体概念,以下是一些利用 LayerZero V2 的应用程序的示例......

  • Clusters (身份): Clusters 是一种跨链、多钱包名称服务协议,用于解决地址碎片化、钱包管理复杂性和域名抢注等问题。它充当统一的身份层,使用户能够在多个链上维护一致的身份 — 非常类似于 ENS 所做的事情,但适用于许多链,以原生方式。Clusters 确保与用户身份相关的操作和配置始终反映在所有集成的区块链中,从而简化用户与各种去中心化应用程序 (dApp) 和服务的交互。在后端,LayerZero 用作消息传递层,用于跨链移动操作和状态更改,以帮助 Clusters 在数百万个名称和数十亿个钱包地址中保持准确性。(alpha 2.0。)
  • Abracadabra (稳定币):Magic Internet Money (MIM) 推出了一种全链“beaming”服务,用于在 11 个区块链上转移 MIM 代币。MIM beaming 利用 LayerZero 的全链可替代代币 (OFT) 标准,提供快速、安全和高效的代币转账。此服务扩展了 MIM 的功能,支持跨链交互,例如从不同的链借款、执行跨链清算等。名义上的 beaming 费用为 1 美元,以原始链的本地 gas 代币收取,有助于 DAO 的盈利能力。Abracadabra 还 运行自己的 DVN (MIMnet),一旦过渡到 V2,它将成为 MIM 转移的必需签名者。自 V1 上启动以来,Abracadabra 已经在 LayerZero 上促进了 200 万次转移。
  • Tapioca (借贷市场):Tapioca DAO 是一个全链借贷平台,提供原生全链 CDP 稳定币 USDO。Tapioca 背后的主要愿景是通过创建一个原生全链借贷和稳定币协议来重新统一目前 DeFi 中分散的流动性,其中用户体验与用户在同一链上借贷的用户体验相同。此外,为了完成完整的金融堆栈,Tapioca 用户可以通过 Tapioca 使用递归消息进行跨链杠杆操作。从验证的角度来看,Tapioca 运营一个 DVN,它是其自身安全堆栈中的必需签名者。此设置的示例如下所示:

Tapioca 的 V2 安全堆栈

V2 信任假设

没有完美的系统。任何声称在加密货币领域创造了完美事物的人都应受到审查,因为区块链本身固有地受到速度、规模和安全性之间的核心权衡的限制。

本节讨论开发人员在 LayerZero 之上构建时可能遇到的信任假设或安全考虑因素。并非所有这些都是协议风险 — 许多是解决社会或应用程序级别安全性的实际风险。话虽如此,我们将真诚地解决此处的各种信任假设。

编者注:从现在开始没有图片。只有小众的互操作性分析。

智能合约风险: 端点和消息库是 LayerZero 跨链通信的基础。如果这些合约包含错误,则核心协议将面临风险。

  • 任何利用智能合约的协议都是如此。虽然不是一个完美的衡量标准,但查看源代码的上市时间通常是一个可以信任合约的好指标。考虑到这一点,V1 端点已经上线 1.5 年而没有错误,促进了超过 400 亿美元的价值转移和超过 1 亿条消息。随着 V2 的推出,这些数字将重置为现有的 V2 测试网交易量和交易,因此需要时间来重新建立上市时间信任,就像 Uniswap 升级需要时间来超过其先前的版本一样(Uniswap V2 的交易量 高于 V3 大约六个月)。当然,上市时间不是智能合约风险的唯一指标。审计也是一个很好的指标。使用 V2,所有合约都经过了 审计,并且为白帽黑客提供了 250 万美元的漏洞赏金。V1 的漏洞赏金为 1500 万美元,目前是世界上最高的。

恶意开发人员: 开发人员负责设置自己的安全堆栈。这使他们可以指向恶意 DVN 和/或随意更改配置,如果未设置治理或内部安全流程来阻止他们这样做的话。

  • 是的,开发人员可以在 LayerZero 上部署或做恶意的事情。这是无需许可构建的副产品,也是一个值得权衡的因素。以太坊、互联网、现金等都是无需许可的系统,允许人们做任何数量的事情(好的和坏的)。反对这一点就是侮辱任何开发人员的智力或自由意志。“开发人员可以 rug”的说法对于构建在无需许可区块链上的所有应用程序都是正确的。话虽如此,需要指出的是,开发人员的最佳做法是清楚地说明他们的安全堆栈以及如何更改它。对于 DAO,可以通过 DAO 投票选择和硬编码安全堆栈,可以对其进行时间锁定并每月更改,或者可以委派一个代表负责设置最适合 DAO 的安全堆栈(具有时间延迟,并具有来自安全委员会的否决权)。类似的设置可用于在 LayerZero 上构建的企业。但是,企业客户可能希望运行自己的 DVN,因此这不应该是该垂直领域中的一个大问题。

DVN 的多样性: 虽然协议是公正的,但验证消息的 DVN 并非如此。因此,如果 DVN 的集合有限,并且应用程序选择不运行自己的 DVN,那么通过网络发送的消息可能会以某种方式被审查,类似于某些以太坊验证器不包括经过 OFAC 批准的交易的方式。

  • 广泛且多样化的 DVN 组是 LayerZero 的目标。这种多样性具有多个层次。DVN 应该在构建全链应用程序时为开发人员提供一系列验证方法:桥、预言机、链、证明服务、重新抵押机制等。为了使 LayerZero 成为一个健康的协议,需要有各种各样的实体运行 DVN:从连接到私有链的企业解决方案到获取 DeFi 中任何交易的不良解决方案。除了验证和实体多样化之外,最好还拥有一组分布式 DVN,这些 DVN 在不同的司法管辖区运行,以在国家级攻击的情况下进一步加强 LayerZero 的验证层。在 V2 启动时,有 15 多个 DVN 上线,从像 Google Cloud 这样的企业到像 Polyhedra zklightclient 这样的加密原生解决方案。随着 V2 获得关注,这个数字应该会扩大。由于有 60 条链需要服务并且有数百万条消息需要验证,因此应该激励更多群体运行 DVN。

DVN 和诚信证明: 与上述要点类似,必须指出的是,存在一个信任假设,即 DVN 不会串通。

  • LayerZero 假定开发人员将选择一个将勾结风险降到最低的安全堆栈。LayerZero 只是为这些想法创造了一个市场,以便在成本和安全性权衡(以及应用程序需求)方面相互竞争 — 最终的安全方式是能够运行你自己的。例如,DVN 可以具有削减机制和/或质押(如果它想这样做),但 LayerZero 不会强制执行这一点。
  • 了解为什么 DVN 以诚信行事可以分为三个论点:1) 对于企业 DVN 而言,良好的声誉比串通来确认恶意交易更有价值。2) 一些 DVN 已经实施了一种透明的机制来激励良好行为(削减等)。3) 费用使运行 DVN 值得。在声誉方面,像 Google Cloud、Animoca、Blockdaemon 和 Gitcoin 这样的 DVN 可能太大,太根深蒂固于更广泛的加密生态系统中,并且可能承担了太多的声誉风险而无法串通。在透明度方面,像 Axelar 和 CCIP 这样的去中心化 DVN 拥有自己的验证器集,可以公开审计和检查 — 并且还以原生方式实施削减以惩罚不良行为者。在费用方面,由于有 50 多条链需要服务,并且历史消息量最近超过 100,000,000,因此仅就费用而言,应该充分激励 DVN 运行。
  • 总的来说,协议应该考虑使用不会勾结的 DVN。例如,Google Cloud 和 Axelar 的 DVN 设置是一个非常强大的安全堆栈,因为它包括来自中心化和去中心化实体的验证,从而最大限度地减少了碰撞风险(并且以后可以向此设置添加更多 DVN)。开发人员需要小心选择其安全堆栈,因为 DVN 可能会在协议的未来某个时刻尝试勾结。任何应用程序都应该考虑勾结风险并相应地进行计划,方法是运行自己的 DVN、联系 DVN 团队以执行尽职调查和/或选择 DVN 组合,使其无法勾结。

执行器 x 活跃性: 理论上,任何人都可以执行 V2 中的交易。活跃性永远不应该成为问题,因为如果配置的执行器离线,最终用户或应用程序可以在 LayerZero Scan 上手动执行交易。但是,如果实际上配置的执行器经常出现故障,那么构建在 LayerZero 之上的应用程序可能会出现短期活跃性问题。

  • 正如已经提到的,理论上,无需许可的执行应该可以缓解对活跃性的担忧。然而,在实践中,运行一个 Executor 是一项具有挑战性的工作。正如在 V2 发布视频 中所说的那样,运行一个自动化的 Executor 每月需要数十亿次的 RPC 调用,并在 50 多个链上提供 gas 抽象,这本身就需要持有 50 多个 gas 代币,并根据需要重新平衡这些 gas 资产。也就是说,一个应用可以构建和配置一个较小版本的 Executor,该 Executor 可以在有限的链配对(例如,Fantom <> Ethereum)上运行——但即便如此,由于重新排序、活跃性、可用性、对故障的弹性、竞争条件、正确定价 gas 成本等问题,编写起来仍然很复杂。总的来说,如果一个 OApp 选择的 Executor 出现故障,确保有多个 Executor 可用有助于协议的长期活跃性。为此,我们的文档中现在提供了 Executor 的 开源实现

默认设置: 当开发者开始尝试 LayerZero 时,他们可以选择 LayerZero Labs 的默认安全堆栈,或者设置自己的安全堆栈。默认安全堆栈由 LayerZero Labs 设置,并且可以随时更改。因此,任何将其安全选择权交给 LayerZero Labs 的默认设置的应用,都将其安全权让渡给了一个中心化的第三方。当前的默认设置是 Google Cloud 和 LayerZero Labs。

  • 默认设置本身并不坏——它非常像在交易所或托管人那里持有加密货币。对于小型应用或大型企业解决方案来说,这可能是理想的选择(就像 Coinbase 对于新进入者和 BTC 的机构持有者一样)。然而,对于加密原生应用来说,选择默认设置可能并不理想,因为如果 LayerZero Labs 被黑客入侵或变得恶意,那么默认安全堆栈也可能被更改为恶意的。默认设置旨在供开发者测试 LayerZero。大多数应用的最终目标应该是配置他们自己的安全堆栈,而不是首先使用默认设置 ——和/或让信誉良好的组织(如基金会或大型应用)发布他们自己的“默认”设置供应用使用。

Endpoint 部署: LayerZero Labs 是唯一可以部署规范的、被社会接受的 Endpoint 的实体。如果 LayerZero Labs 关闭,这将阻止当前版本的 LayerZero 扩展到新的链。

  • 由于 Endpoint 是不可变的,因此部署的任何 Endpoint 或 MessageLib 将永久保持部署和激活状态。应用可以永远基于此基础设施构建,即使没有创建新的 Endpoint。然而,为了在 LayerZero Labs 关闭的情况下扩展到新的网络,需要采取某种变通方法。为了澄清,其他团队可以部署 Endpoint——但它们不被认为是社会规范的,因为它们不连接到其他 LayerZero Endpoint(破坏了整个互操作性论点)。然而,如果 LayerZero Labs 倒闭,另一个团队可以部署 Endpoint 并尝试获得对其自身 mesh 的社会共识。经常有人提出的一种解决方案是允许无需许可的 Endpoint 部署。然而,这是一个增加复杂性、引入垃圾邮件风险的设计决策,并且对于 DAO 治理(在为资产选择规范的桥时)来说,可能会非常麻烦。

LayerZero 和市场

跨链世界充满了桥、流动性网络和代币标准。以下是 LayerZero 在其中的简要概述。

安全堆栈:作为 DVN 的桥

就像比特币建立在自我托管(拥有商品安全性)的理念之上一样,LayerZero 建立在安全堆栈(拥有应用安全性)的理念之上。

在 V2 中,任何可以验证消息的实体——无论是原生桥、第三方桥、验证器集、预言机、多重签名、轻客户端、zk 证明器等——都可以被构建在 LayerZero 之上的应用用作 DVN。

本文的这一部分将证明,许多最流行的第三方桥实际上只是 去中心化验证器网络 (DVN),可以被应用所有者构建的 Adapter DVN 用于验证 V2 中的消息。

换句话说,许多现有的桥最终可能会成为 DVN,竞争以验证 LayerZero 内部的消息。

为了获得更多背景信息,第三方桥是相互竞争的跨链协议,旨在构建最稳健、行业信任的机制,用于验证某些链子集之间的消息。第三方桥的示例包括 CelerIM、Axelar、deBridge、CCIP、Synapse、Wormhole、Router、IBC 等。第三方桥的设计通常围绕共享安全展开,并且通常可以分为三个类别。像 Axelar 和 Synapse 这样的中间链验证消息作为枢纽,并将消息发送到辐条。还有 guardian 第三方桥,它们通过声誉多重签名来证明消息的有效性——例如 Wormhole 和 Avalanche Bridge。你可以将它们视为预言机或证明服务,它们为跨链消息签名以收取费用。最后一种类型的第三方桥是一个有点模糊的类别,我们称之为最小信任系统。这些系统涉及 zk 证明、轻客户端或乐观证明,可以将它们归结为只需要信任一件事:数学、链共识和一个诚实的观察者。

没有第三方桥完全破解了“最佳”安全形式的代码。中间链竞争以构建最难以破解的枢纽。Guardian 竞争吸引加密领域中最有声望的参与者来证明跨链交易。最小信任系统使用数学、区块链和博弈论所能提供的最好的工具。

虽然这些实体中的每一个都可以在链之间发送/接收任意数据,但这并不是第三方桥所擅长的。这些第三方桥实际上非常擅长验证——证明此消息已在此处发生,并且可以发送到那里。

通过新的 V2 设计,这些第三方桥作为 DVN,可以专注于他们最擅长的事情——签署有效的跨链交易——并且应用可以根据用例偏好选择他们想要的第三方桥。这种设计应该是双赢的,因为第三方桥设计者不再需要担心跨链消息传递的执行和/或传输,并且应用在构建存在于多个区块链上的东西时不再被锁定在单一的验证方法中。

通过允许第三方桥做他们最擅长的事情(验证事物),LayerZero 可以专注于主要思想:统一语义——允许开发者以相同的方式组合合约,而不管链如何。在 LayerZero 协议上发送的每个数据包和交互的每个 Endpoint 都是相同的。LayerZero 旨在允许开发者从市场上提供的每种类型的验证方法中进行选择。它是一种无需许可、抗审查和不可变的结构,可以填充任何类型(或组合)的验证方法。这非常强大,因为它使 LayerZero 在验证技术进步方面具有面向未来的能力,同时允许通过标准化消息传递设计实现通用区块链可组合性。

一个消息传递层,多个流动性网络

任何类型的流动性网络都可以在 LayerZero 上重建。

另一类“桥”是允许跨链传输代币的跨链协议。这些被称为流动性网络。示例包括 Across、Hop、Portal、Connext、Stargate、Allbridge、DLN、UniswapX、Hyphen、Catalyst 和 cBridge 等。大多数流动性网络都是围绕一个基本意图结构设计的:用户在链 A 上拥有资产 X,并且想要在链 B 上拥有资产 X。流动性网络将意图与解决机制相匹配,该解决机制要么是链上的(流动性池/封装资产),要么是链下的(通常被称为 relayer),要么是两者的混合。这些解决机制本质上是获取用户在链 A 上的代币,并在链 B 上解锁/填充相同数量的代币。他们为此服务收取少量费用。流动性网络之间的竞争可以在桥价格执行、费用、提供给用户的代币数量和传输时间中找到。

关于流动性网络,有趣的一点是流动性网络下使用的验证方法在某种程度上是任意的。就像可以在 Ethereum 之上构建多个 AMM 一样,从技术上讲,许多流动性网络可以在同一验证网络上构建。UniswapX 强调 这一点——它用一整篇白皮书只讨论了协议的流动性方面(填充者、荷兰式拍卖、乐观执行等),而没有命名它可能使用的底层验证网络!白皮书只说需要一个“结算预言机”,它可以是“一个规范的桥......轻客户端桥或第三方桥”。在此处,在链之间传递消息的任何事物都可以作为结算预言机!这种特性并非 UniswapX 独有。其他流动性网络设计(如 DLN、cBridge 和 Wormhole 的 Portal 和 Catalyst)也可能使用其他第三方桥(即 DVN)进行结算。

这些流动性网络所需要的不一定是一个单一的第三方桥——而是,它们需要一种他们可以信任的验证方法,具体取决于链配对和用例。通过 V2,LayerZero 理论上可以支持每个流动性网络进行消息传递(结算),同时允许他们选择独特的验证方法(安全堆栈)。

LayerZero V2 为使用不同安全堆栈配置构建的许多不同类型的流动性网络提供了一个单一的消息传递框架。这扩大了可以制造的范围,并应导致有趣的实验。例如,跨链 AMM 可以根据交易规模选择安全堆栈,其想法是不同的交易量将通过不同的安全堆栈结算(本质上是通过安全堆栈可选性实现的桥聚合)。

通用合约标准

模块化区块链理论、L2 扩展理论、全链理论——所有这些想法都需要通用的代币和合约标准,以便 1000 个链的世界可以在没有碎片化和上下文切换的情况下运行,具体取决于每个新的链/资产/VM 配对。全链同质化代币 (OFT) 和全链应用 (OApp) 旨在成为这些标准——在不损害安全性的情况下扩展开发者的能力。

  • OFT 扩展了传统的代币标准(如 ERC-20),使开发者能够创建在多个区块链上无缝运行的代币。这种通用性消除了孤岛,使代币能够在链之间移动。OFT 作为一种标准被采用的潜力意味着开发者不再需要部署单独的、特定于链的代币,这可能会分裂流动性和社区,同时引入不同的信任假设。相反,OFT 在所有 LayerZero 支持的区块链上提供了一个统一的代币存在,确保代币生态系统保持凝聚力和稳健性,无论链如何。OFT 适用于多种代币标准(ERC20 是最流行的),除了应用程序附加的费用外,不增加任何费用,并且允许随时跟踪通用供应(透明度)。与应用程序一样,OFT 代币发行者保留了对自己合约和安全堆栈的完全控制权。(注意:ONFT 也将在 V2 上线,但由于合约正在接受审计,目前处于 Beta 版。OFT 的相同逻辑可以轻松扩展到 ONFT。

奖励照片,展示了 OFT 交易。

  • 全链应用程序 (OApp) 合约标准提供了一个通用的、区块链不可知的开发者界面。使用 OApp,开发者现在可以构建一次应用程序,并将其部署到任意数量的链上,而无需重写代码。这缩短了开发时间,并向他们的应用程序开放了整个区块链生态系统,而不是其中的一部分。这也允许开发者访问任何 LayerZero 支持的区块链的组合用户和流动性。此外,可以组合多个 OApp,从而创建真正的全栈、跨链金融应用程序(想象一个 DeFi 应用程序,允许在任何链上借款,在任何链上交换等)。

通过 V2,LayerZero 应该有很好的机会成为跨链代币和治理的单一框架,因为它提供了一个通用的消息传递解决方案,并具有模块化的验证层。

换句话说,代币或治理设置可以使用任何类型的验证方法——或验证方法的组合——来使用 V2 将数据移动到目标链,唯一的信任假设是 LayerZero Endpoint 的神圣性(这是任何其他解决方案都无法逃避的信任假设)。

总的来说,可以——也许应该——提出这样的观点,即 OFT 和 OApp 成为在 LayerZero 支持的链上构建的团队未来所有代币和合约的事实上的合约标准。以下是一些原因:

  1. 默认互操作性: OFT 和 OApp 是为多链世界构建的。它们本质上采用了跨链通信,使其在加密货币继续发展成为一个拥有数千条链的行业时具有面向未来的能力。采用这些标准允许项目规划数年而不是数月。
  2. 模块化安全性: OFT 和 OApp 都受益于 LayerZero 的模块化安全框架,该框架支持应用程序特定安全参数的自定义。这意味着开发者不会被迫采用千篇一律的安全模型,而是可以根据其应用程序或代币的独特需求定制安全性,从而提高灵活性和弹性。
  3. 简单性和用户体验: 对于用户而言,使用 OFT 和 OApp 时,区块链交互的复杂性会逐渐消失。它们提供了一种简化的、一致的用户体验,从而抽象了特定于链的操作的技术细节。
  4. 通用可组合性: 市场上有许多跨链合约标准。将 OFT 和 OApp 巩固为行业规范可以提高可组合性,同时减少碎片化——而不会将协议锁定到单一的安全策略中。

结论

LayerZero 的架构——在验证级别是模块化的,而在传输层是静态的——在当前性能和面向未来的设计之间实现了至关重要的平衡。

技术已经存在,可以为我们构建一个面向所有人的、永远开放和公正的数字经济。作为一个行业,加密货币必须共同努力才能实现这一愿景。由于这种共同目标的天性,我们的技术必须是无需许可的。

为了使这一愿景成功,必须在堆栈的每个级别上坚持这种哲学。LayerZero 捍卫这些价值观,直至数据包级别。

当特性是可变的时,值始终可以更改。承诺不是永久性的。决定不是持久的。升级存在风险。最终,系统会损坏。

永久性和可证明性必须硬编码。

这就是 LayerZero 在这里的原因。这就是 LayerZero 存在的原因。

构建 LayerZero 是为了让你不必信任他人。构建它为了让你可以信任自己。

感谢你的阅读。非常感谢 Tapioca Matt、Paladin Marco、LI.FI Arjun、Sandman、Catalyst Jim 和 BlockWorks Ren 对本文的反馈。向 LZ 团队也表示感谢,特别是 BP、MP 和 RMT。

联系方式

有关 V2 的更多信息,请查看此主题,阅读此文章或查看我们的文档

要了解有关 LayerZero 的更多信息,请查看网站。有关其他信息,LayerZero Labs 团队可在 DiscordTelegram 上回答一般问题。你还可以关注 LayerZero Labs 的 X 以接收最新信息。

对于具体咨询:

  • 寻求运行 Executor DVN 的基础设施提供商应填写此表格
  • 寻求构建 OApp 或 OFT 的开发者应填写此表格
  • 原文链接: medium.com/layerzero-off...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
kram.eth
kram.eth
江湖只有他的大名,没有他的介绍。