本文深入探讨了 LayerZero V2 的设计、安全性和信任假设,以及其核心原则。LayerZero V2 旨在实现 omnichain 互操作性,通过模块化的安全框架和通用网络语义,赋能开发者构建跨链应用 (OApps) 和同质化代币 (OFTs)。V2 版本改进了开发者体验,强化了协议的无需许可性、抗审查性和不可变性
本文将在 V2 上线 的背景下,广泛地解释 LayerZero。从技术角度来看,它将探索 LayerZero V2 的“是什么”,包括其设计、安全性以及信任假设。从讨论的角度来看,它还将尝试通过对协议核心原则的通用分析以及对 V2 对其他互操作解决方案的影响的探索,使 LayerZero 的“为什么”合理化。
以下是本文的提纲:
什么是 LayerZero?
V2 如何工作?
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 之上并与这些应用程序进行交互。
LayerZero V2 的核心设计可以分为三个类别:协议、标准和基础设施。
协议 → LayerZero 协议的这些方面在每个受支持的区块链上都保持不变。在 V2 白皮书 中,LayerZero 的协议被认为是“内在的” — 这些是永存的合约(不可变),任何人都可以建立在之上(无需许可),并且强制执行交易的排序方式(抗审查)。该协议包括两个实体:端点和消息库。
LayerZero 端点的描述。
标准 → 这些标准实现了“统一语义”的概念 — 其中应用程序/代币在每个 LayerZero 支持的区块链上的工作方式都相同。统一语义使开发人员能够轻松构建与跨数十个区块链的应用程序交互的接口,而无需为新环境重写代码。LayerZero 标准包括如何编写全链智能合约、如何构建数据包以及如何组合逻辑。开发人员从头开始启动全链产品可能需要的任何东西都可以作为经过审计、可重复使用且经过实战考验的标准找到。
LayerZero 消息包。
AB:从源到目标单向数据传输。
ABA:从链 A 到链 B 再到链 A 的嵌套发送调用。
组合 AB:消息从链 A 传输到链 B,并调用链 B 上的外部合约。
组合 ABA:将数据从源移动到目标,执行合约调用,然后将其发送回源链。(如下所示。)
组合 ABC:将数据从源移动到目标,执行合约调用,然后将信息发送到第三条链。
批量发送:一个发出到多个目标链的单次调用。
虽然这些设计模式看起来可能没什么大不了,但设计模式是构建全链应用程序的乐高积木,可帮助开发人员创建简洁的用户体验。例如,可以通过组合 AB 在单个交易中桥接和交换代币,该交易仅需要在源链上花费 gas。
组合 ABA 设计模式。
基础设施 → LayerZero 的基础设施层旨在无需许可:任何人都可以运行验证和执行交易所需的实体。基础设施堆栈还旨在完全模块化 — 应用程序可以选择它想要使用的验证方法类型,以及它想要为执行付费的实体。
DVN 在 V2 架构中的位置。
V2 的目标不是完全改造一个系统。相反,它是采用 V1 设计,并强调关注 LayerZero 的核心原则:无需许可、抗审查和不可变。
以下从 V1 到 V2 的五个更改改善了开发人员的体验,并强化了 LayerZero 的核心原则。
V2 vs V1 亮点 :
让我们扩展 X/Y/N 和安全堆栈,因为这些可能是构建 V2 时需要理解的最重要的概念。
X of Y of N 允许应用程序开发人员指定 DVN 的法定人数,以在签署消息的有效性之前检查跨链消息的完整性。例如,“1 of 9 of 15”需要以下 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 是供应商锁定的对立面,因为它允许开发人员根据其特定用例选择、修改和组合不同类型的验证方法。
对于此示例,让我们假设一个应用程序 (OApp) 已为其安全堆栈配置了源和目标区块链的 LayerZero 端点。它还选择了其首选的消息库版本。
LayerZero Tx 生命周期
步骤 1a:发送消息
lzSend
,提供消息负载及其唯一路径。步骤 1b:编码和发出数据包:
步骤 2:DVN 验证:
步骤 3:接收和执行:
lzReceive
函数来处理接收者 OApp 逻辑收到的数据包。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 的应用程序的示例......
Tapioca 的 V2 安全堆栈
没有完美的系统。任何声称在加密货币领域创造了完美事物的人都应受到审查,因为区块链本身固有地受到速度、规模和安全性之间的核心权衡的限制。
本节讨论开发人员在 LayerZero 之上构建时可能遇到的信任假设或安全考虑因素。并非所有这些都是协议风险 — 许多是解决社会或应用程序级别安全性的实际风险。话虽如此,我们将真诚地解决此处的各种信任假设。
(编者注:从现在开始没有图片。只有小众的互操作性分析。)
智能合约风险: 端点和消息库是 LayerZero 跨链通信的基础。如果这些合约包含错误,则核心协议将面临风险。
恶意开发人员: 开发人员负责设置自己的安全堆栈。这使他们可以指向恶意 DVN 和/或随意更改配置,如果未设置治理或内部安全流程来阻止他们这样做的话。
DVN 的多样性: 虽然协议是公正的,但验证消息的 DVN 并非如此。因此,如果 DVN 的集合有限,并且应用程序选择不运行自己的 DVN,那么通过网络发送的消息可能会以某种方式被审查,类似于某些以太坊验证器不包括经过 OFAC 批准的交易的方式。
DVN 和诚信证明: 与上述要点类似,必须指出的是,存在一个信任假设,即 DVN 不会串通。
执行器 x 活跃性: 理论上,任何人都可以执行 V2 中的交易。活跃性永远不应该成为问题,因为如果配置的执行器离线,最终用户或应用程序可以在 LayerZero Scan 上手动执行交易。但是,如果实际上配置的执行器经常出现故障,那么构建在 LayerZero 之上的应用程序可能会出现短期活跃性问题。
默认设置: 当开发者开始尝试 LayerZero 时,他们可以选择 LayerZero Labs 的默认安全堆栈,或者设置自己的安全堆栈。默认安全堆栈由 LayerZero Labs 设置,并且可以随时更改。因此,任何将其安全选择权交给 LayerZero Labs 的默认设置的应用,都将其安全权让渡给了一个中心化的第三方。当前的默认设置是 Google Cloud 和 LayerZero Labs。
Endpoint 部署: LayerZero Labs 是唯一可以部署规范的、被社会接受的 Endpoint 的实体。如果 LayerZero Labs 关闭,这将阻止当前版本的 LayerZero 扩展到新的链。
跨链世界充满了桥、流动性网络和代币标准。以下是 LayerZero 在其中的简要概述。
就像比特币建立在自我托管(拥有商品安全性)的理念之上一样,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 交易。
通过 V2,LayerZero 应该有很好的机会成为跨链代币和治理的单一框架,因为它提供了一个通用的消息传递解决方案,并具有模块化的验证层。
换句话说,代币或治理设置可以使用任何类型的验证方法——或验证方法的组合——来使用 V2 将数据移动到目标链,唯一的信任假设是 LayerZero Endpoint 的神圣性(这是任何其他解决方案都无法逃避的信任假设)。
总的来说,可以——也许应该——提出这样的观点,即 OFT 和 OApp 成为在 LayerZero 支持的链上构建的团队未来所有代币和合约的事实上的合约标准。以下是一些原因:
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 团队可在 Discord 和 Telegram 上回答一般问题。你还可以关注 LayerZero Labs 的 X 以接收最新信息。
对于具体咨询:
- 原文链接: medium.com/layerzero-off...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!