一文探究Farcaster市场表现
深入探讨 LayerZero V2 的设计与原理
作者:Mark Murdock 来源:medium 翻译:善欧巴,金色财经
本文在V2 上线的背景下广泛解释了 LayerZero 。从技术角度来看,它将探索 LayerZero V2 的“内容”,包括其设计、安全性和信任假设。从讨论的角度来看,它还将尝试通过对协议核心原则的一般分析以及对 V2 对其他互操作解决方案的影响的探索来合理化 LayerZero 的“原因”。
以下是文章的概要:
什么是 LayerZero?
解释LayerZero——一个人人都能理解的定义
核心原则——不可变、无需许可、抗审查
V2 如何工作?
V2 架构——协议、标准、基础设施
V2 与 V1 — 比较两者的主要亮点,重点是安全堆栈
V2 交易生命周期 — 如何通过四个步骤发送消息
使用案例——身份、稳定币和借贷市场
V2 信任假设 — 端点部署、共谋风险、2/2 多重签名等
LayerZero 和市场
桥梁——V2 如何吸纳桥梁行业(消息传递和流动性)
OApp 和 OFT — 为什么每个人都应该使用 V2 合约标准
什么是 LayerZero?
解释 LayerZero
根据你是谁——你的工作、你的作品集、你的教育、你对模因的偏好——你对 LayerZero 的理解可能会有所不同。大多数加密原语都是如此。例如,财务经理、优步司机和你的祖母可能对比特币有不同的定义。在这个例子中,比特币可能类似于数字黄金、一种投资或犯罪分子使用的暗网货币。
考虑到这一点,对 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 就像互联网,它开启了与世界的沟通——电子邮件、社交媒体、变焦通话等。LayerZero 会做到这一点,但对于加密货币来说——这意味着金融将是开放的,任何人都能够转移价值、获得贷款、交易资产等,无需通过银行等中介机构或政府等潜在审查机构。
核心原则
重要的是要记住我们在这里的目的——为所有人、永远建立一个开放、公正的数字经济。加密货币是一个无需许可的空间,允许任何人与应用程序交互。加密货币应该是抗审查的,有助于数据包的移动而无需判断。加密货币应该永远存在,留下不可变、可证明、不变的系统。一般来说,连接加密的协议旨在打击腐败,以便我们在这个领域构建的任何内容都可以与遗留系统保持并行,而不是成为它的一部分。
LayerZero 的设计反映了这些核心原则。
不可变的
端点(与 LayerZero 交互的接口)作为不可变的智能合约存在于 LayerZero 支持的每条链上。这些是不可升级的,任何一方都无法更改,从而提供了安全且可预测的交互界面。每一段核心协议代码都是不可升级的。除了全链应用程序的所有者之外,LayerZero Labs 和任何其他人都无法更改应用程序的安全配置(除非选择默认值或委托人来执行此操作)。
抗审查
单个消息只有在所有先前的消息都得到验证后才能执行,这意味着任何单个消息都不能在任何路径上受到审查。一旦消息在源链上成功提交,LayerZero 协议就无法选择性地传送消息。如果交易在源链上成功提交,则保证将其传送到目标链。
无需许可
LayerZero 是一个纯粹的协议。任何人都可以运行验证和执行通过 LayerZero 发送的消息的基础设施。如果每个开发人员和基础设施提供商都停止提供服务,那么任何人都可以加入该协议并从他们停止的地方继续。此外,任何人都可以在 LayerZero 之上构建并与这些应用程序交互。
LayerZero 是如何工作的?
V2架构
LayerZero V2 的核心设计可以分为三类:协议、标准和基础设施。
协议 → LayerZero 协议的这些方面在每个受支持的区块链中保持相同。在V2 白皮书中,LayerZero 协议被认为是“内在的”——这些合约将永远持续(不可变),任何人都可以在其上构建(无需许可),并强制执行交易的排序方式(抗审查) )。该协议包含两个实体:Endpoints 和 MessageLibs。
端点:这些是 LayerZero 支持的每条链上不可变的智能合约。Endpoint 是 LayerZero 协议的核心。一旦实施,任何实体都无法更改端点,因为它们是不可变且不可升级的。端点为应用程序提供了一个标准化的接口来管理安全配置和发送/接收消息——这是应用程序在 LayerZero 之上构建时想要控制的两个最重要的事情。
消息库:每个 MessageLib 都注册到一个 Endpoint,并且是应用程序安全配置和数据包发送/接收过程的执行方式。换句话说,MessageLib 是向端点提供有关在区块链之间发送的消息的信息的方式——它是消息验证和通信发生的地方。值得注意的是,MessageLib 是对 Endpoints 的仅附加添加。这意味着它们不能被删除(仍然是不可变的),同时允许协议在必要时升级验证方法。在 LayerZero 上构建的开发人员永远不会被迫接受或更新到新的 MessageLib。在这里进行类比,将 LayerZero Endpoints 视为区块链,将新的 MessageLibs 视为智能合约。就像 Uniswap 如何通过新产品发布来更新合约一样(UniswapV1、
标准 →这些实现了“统一语义”的概念——应用程序/代币在每个 LayerZero 支持的区块链上都以相同的方式工作。统一语义使开发人员能够轻松构建与数十个区块链上的应用程序交互的接口,而无需为新环境重写代码。LayerZero标准包括全链智能合约的编写方式、数据包的结构方式以及逻辑的构成方式。开发人员从头开始推出全链产品所需的任何内容都可以作为经过审核、可重用和经过实战检验的标准找到。
合约标准:LayerZero 为开发人员提供开箱即用的消息处理和应用程序 ( OApp ) 和代币 ( OFT ) 配置。OApp 和 OFT 是现有合约标准的扩展——例如,OFT 扩展了 ERC-20——并最大限度地缩短了构建酷东西的开发时间。就 OApp 和 OFT 而言,这两种合约标准都允许开发人员创建通用应用程序和代币,这些应用程序和代币在所有 LayerZero 支持的链上都具有相同的工作方式。ONFT合约标准已在 V1 中提供,并将于今年晚些时候在 V2 中提供。
消息包:这就是信息在链之间传递的方式。每个跨链消息都需要以特定方式格式化信息,以便目标链活动可以顺利进行。LayerZero 的消息包需要随机数、源 ID、发送者地址、目标 ID、接收地址、唯一标识符和消息有效负载。随机数、源/目标 ID 和唯一标识符可防止重放攻击和误路由,同时还有助于跨链跟踪消息。有效负载字段携带需要在目标链上执行的实际信息或命令。通过正确格式化此信息,任何通用消息都可以在链之间传递,从而允许传输数据、资产和/或外部合约调用。这种消息包格式可以扩展到任何区块链环境(EVM 和非 EVM、公共链和私有链)。大多数与数据包数据相关的格式化(例如随机数管理)由端点直接处理。
设计模式:LayerZero 附带一组内置的设计模式,可以将其视为全链构建块。基于 LayerZero 的开发人员可以使用这些设计模式来创建几乎任何他们想要的东西。目前,有四种基本的设计模式:
AB:从源到目的地的单向数据传输。
ABA:从链 A 到链 B 再到链 A 的嵌套发送调用。
组合AB:一条消息从A链传输到B链,并调用B链上的外部合约。
组合式 ABA:将数据从源移动到目的地,执行合约调用,然后将其发送回源链。(如下所示。)
组合ABC:将数据从源移动到目的地,执行合约调用,并将信息发送到第三条链。
批量发送:发送到多个目标链的单个调用。
虽然这些设计模式可能看起来没什么大不了的,但设计模式是构建全链应用程序的乐高积木,可以帮助开发人员创建流畅的用户体验。例如,可以在单个交易中通过组合 AB 桥接和交换代币,该交易只需要源链上的 Gas。
基础设施 → LayerZero 的基础设施层是无需许可的:任何人都可以运行验证和执行交易所需的实体。基础设施堆栈也是完全模块化的——应用程序可以选择它想要使用的验证方法类型,以及它们想要为执行付费的实体。
去中心化验证者网络(DVN)): DVN 验证跨链消息。这种无需许可的角色使任何能够验证跨链数据包的实体都可以作为 DVN 加入 LayerZero。任何原生桥接器、第三方桥接器、中链、预言机或其他验证方法都可以用作V2内部的DVN,从而避免安全级别上的供应商锁定。由于 V2 采用模块化设计,应用程序所有者可以结合 DVN 来最大限度地验证安全性、成本、速度或应用程序可能需要的任何参数等特性。目前,有超过 15 个 DVN 可供使用,包括由 Google Cloud 运行的 DVN 和运行 DVN 的 Polyhedra zklight 客户端以及适用于 Axelar 和 CCIP 的适配器 DVN。同样,由于这是一个无需许可的角色,因此任何实体都可以为第三方桥接器设置 DVN 和/或创建适配器。
执行者:任何实体都可以运行执行者,因为它是完全无需许可的角色。执行器通过向最终用户提供气体抽象来确保消息在目标链上的顺利执行。执行器通过在源链 Gas 代币中引用源链上的最终用户来实现此目的,同时在目标链上自动执行交易。就像应用程序可以选择 DVN 集一样,它们也可以配置其应用程序以选择特定的执行器或执行器组。应用程序还能够构建和运行自己的执行器(就像它们可以用于 DVN 一样)或在没有执行器的情况下运行,并让最终用户通过LayerZero Scan手动调用 lzReceive 。
安全堆栈:应用程序的“安全堆栈”引用其 DVN、执行器和其他安全首选项的独特配置(例如启用哪些链以及 DVN 必须等待多少个块确认才能验证消息)。安全堆栈实现了“应用程序拥有的安全性”,并将 LayerZero 与许多其他互操作解决方案区分开来。安全堆栈不是将开发人员锁定在单个共享安全模型或一组验证器中,而是允许开发人员选择如何验证其跨链消息,并在新的 DVN 上市或某个 DVN 遇到活跃障碍时更改配置。
V2 与 V1
V2 的目标不是彻底检修系统。相反,它采用 V1 设计并强调关注 LayerZero 的核心原则:无需许可、抗审查和不可变。
从 V1 到 V2 的以下五个变化改善了开发人员体验并强化了 LayerZero 的核心原则。
V2 与 V1 的亮点:
将执行与验证解耦:以前,中继者负责验证和执行。在V2中,Executor与验证过程是分离的。如果 Relayer 实体在 V1 中遇到停机(到目前为止,这还不是问题),那么它就是 V1 中的假设瓶颈,而在 V2 中,不会出现活性问题。在 V2 中,执行是协议和验证过程之外的无需许可的角色。
X of Y of N:这种模块化的验证方法使应用程序能够根据其用例,既不会为安全性支付过高或过低的费用。X of Y of N 允许应用程序按照自己喜欢的方式组合 DVN。例如,“5 中 3 中的 1”的 DVN 组合将包括一个必需的 DVN 和总共 5 个 DVN 中的两个任意 DVN,以在继续执行之前验证消息。这意味着,如果所需 DVN 之外的 5 个 DVN 中的两个 DVN 无响应,则消息流可以继续,从而极大地提高活性。(编者注:批评者围绕 V1 提出的 2/2 多重签名 meme 是错误的,因为 Oracle 是模块化的。但是,有了 X of Y of N,该 meme 就可以正式宣告死亡。)
水平可组合性:以前,应用程序被迫垂直组合全链交易,如果交易的最后一段失败,则导致交易完全失败。通过水平可组合性,交易的每条腿都保存在目标链本地。例如,只有从源到目标的交换成功后,才会执行目标端的组合逻辑(例如,将交换详细信息记录在单独的合约上)。如果日志记录失败,它不会破坏事务,并且交换仍然会成功,而整个交换将通过垂直可组合性恢复。
无序传递:以前,所有消息都是按顺序验证和执行的。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 锁定在单一验证方法中,从而使 OApp 面向未来。例如,如果 DVN 由于黑客攻击或政府传票而宕机,OApp 可以更改其安全堆栈以要求来自不同 DVN 的签名。
这种对验证的公正立场是一种设计选择,它不同于大多数其他消息传递协议,这些协议通常只提供单一的安全配置。除了 IBC、Hyperlane 和其他一些协议之外……大多数跨链协议都采用共享的安全方法,不断更新单一的、整体的端到端安全模型(如验证器集、预言机、中链等)以包括新的连锁店。
一刀切的安全方法通常会导致应用程序为安全支付不足或过高。例如,全链 NFT 项目的安全需求比全链货币市场低得多。然而,如果两者都建立在支持中链的跨链协议上,则它们为安全性付出的代价是相同的。此外,使用单一的整体协议会导致一种一刀切的可扩展性方法,因为每种验证方法可能只支持有限数量的链。通过一组模块化的 DVN,LayerZero 允许开发人员配置最适合其应用程序的安全参数,而不是强迫他们将应用程序安装到严格的整体架构中。
在构建安全堆栈时,预计会就应用程序的安全性提出不同的意见。一些支持者会说,只有一个 DVN 的安全堆栈就足够了(这些人是目前在单个中间链上构建的开发人员),而其他人可能会说,任何低于 1 要求的 4/5 安全堆栈都是不安全的。不管怎么说,LayerZero 协议都是不固定的——它只是传输层,并且与验证无关。
借助安全堆栈,LayerZero 与供应商锁定形成了对立面,因为它允许开发人员根据其特定用例选择、修改和组合不同类型的验证方法。
V2交易生命周期
对于此示例,我们假设应用程序 (OApp) 已在 LayerZero 端点上为源区块链和目标区块链配置其安全堆栈。它还选择了其首选的 MessageLib 版本。
步骤 1a:发送消息
源链 OApp 在源 LayerZero 端点上调用“lzSend”,提供消息负载及其唯一路径。
该路径被设计为安全且抗审查,由发送者和接收者应用程序地址及其各自的端点 ID 构建。
步骤 1b:编码和发送数据包:
源端点为数据包分配一个唯一的、顺序递增的随机数。
它将随机数与路径结合起来,创建用于跟踪数据包的全局唯一标识符 (GUID)。
端点根据安全堆栈选择正确的源MessageLib(如ULN)来对数据包进行编码。
该数据包使用必要的信息进行编码,包括为验证消息而支付的 DVN 以及用于触发链下操作的执行器。
步骤 2:DVN 验证:
配置的 DVN 使用目标 MessageLib 在目标端独立验证数据包。
数据包通过安全堆栈所需的足够数量的 DVN 验证后,将由适当的工作人员(DVN、执行者或用户)提交到目标端点。
第三步:接收和执行:
在提交到通道之前,端点确保有效负载验证与 OApp 配置的安全堆栈保持一致。
执行器调用“lzReceive”函数来使用接收器 OApp 的逻辑处理接收到的数据包。
此步骤可确保消息准确传送一次且不会丢失。如果系统无法保证这一点,则会恢复该过程以防止任何审查的可能性。
V2 用例
LayerZero 是一个伟大的想法——任何可以在单链上编程为智能合约的东西现在都可以跨多个链进行本机编程(这导致构建的应用程序比目前单链市场上存在的应用程序更具表现力)。
自成立以来,许多产品都是基于 LayerZero 构建的,包括借贷 dApp、跨链身份 dApp、桥梁、NFT 市场、企业项目、NFT 项目、meme 代币和数据产品。LayerZero V1 上部署了超过40,000 个 OApp合约,数百个团队正在使用 LayerZero 为 OFT 提供支持,数十个团队已经构建了作为 OApp 分组的全面应用程序。
对于开发者来说,LayerZero 的可组合性使 DeFi 超越了单链的限制,为更加互联和多功能的金融生态系统铺平了道路。借助 LayerZero,随着开发人员利用更多资产和区块链,DeFi 中构建的应用程序范围不断扩大。此外,凭借运行 DVN 的能力,应用程序开发人员可以通过减少对其他方的依赖来强化安全性。
对于用户来说,V2 简化了跨链交易,让他们在不知情的情况下与多个区块链进行交互——因为他们只需要在源链上支付 Gas 费。这种简化的体验可以在每个 DeFi 垂直领域采用——从 DEX 到流动农场再到 NFT 市场——降低最终用户的复杂性。零售 DeFi 的最终目标是将链完全从用户手中抽象出来,LayerZero OApp 和 OFT 合约是实现这一目标的工具。
为了具体说明可以使用 V2 构建什么,这里有一些利用 LayerZero V2 的应用程序示例……
集群(身份): 集群是一种跨链、多钱包名称服务协议,解决地址碎片、钱包管理复杂性和域名抢注等问题。它作为一个统一的身份层,使用户能够在多个链上保持一致的身份——与 ENS 的做法非常相似,但对于许多链而言,它是原生的。集群确保与用户身份相关的操作和配置在所有集成区块链中得到一致反映,从而简化用户与各种去中心化应用程序 (dApp) 和服务的交互。在后端,LayerZero 用作消息传递层,跨链移动操作和状态更改,以帮助集群保持数百万个名称和数十亿个钱包地址的准确性。(阿尔法 2.0.)
Abracadabra(稳定币):Magic Internet Money (MIM) 引入了全链“传输”服务,用于跨 11 个区块链传输 MIM 代币。MIM 传输利用 LayerZero 的 Omnichain Fungible Token (OFT) 标准,提供快速、安全且高效的代币传输。该服务扩展了 MIM 的功能,支持跨链交互,例如从不同链借款、执行跨链清算等。名义上 1 美元的传输费用以原始链的原生 Gas 代币形式收取,有助于提高 DAO 的盈利能力。Abracadabra 还运行自己的 DVN (MIMnet),一旦过渡到 V2,它将成为 MIM 传输所需的签名者。自在 V1 上推出以来,Abracadabra 已在 LayerZero 上促成了 200 万次传输。
Tapioca(借贷市场):Tapioca DAO 是一个全链借贷平台,提供原生全链 CDP 稳定币 USDO。Tapioca 背后的主要愿景是通过创建原生全链借贷和稳定币协议来重新统一目前 DeFi 中分散的流动性,其中用户体验与用户在同一链上借贷的体验相同。此外,为了完成完整的金融堆栈,Tapioca 用户可以通过递归消息利用 Tapioca 的跨链杠杆。从验证的角度来看,Tapioca运行的 DVN是其自己的安全堆栈中必需的签名者。此设置的示例如下所示:
V2 信任假设
不存在完美的系统。任何声称在加密领域创造了完美事物的人都应该受到审查,因为区块链本身本质上仅限于速度、规模和安全性之间的核心权衡。
本节讨论开发人员在 LayerZero 之上构建时可能遇到的信任假设或安全注意事项。并非所有这些都是协议风险——许多都是解决社会或应用程序级安全的实际风险。话虽这么说,我们将真诚地在这里讨论所有类型的信任假设。
(编者注:从这里开始没有图片。只有利基互操作分析。)
智能合约风险: Endpoints和MessageLibs是LayerZero跨链通信的基础。如果这些合约包含错误,那么核心协议就会面临风险。
任何使用智能合约的协议都是如此。虽然不是完美的衡量标准,但查看源代码的上市时间通常是合约可信度的良好指标。考虑到这一点,V1 Endpoints 已经运行了 1.5 年,没有出现任何错误,促进了超过 400 亿美元的价值转移和超过 1 亿条消息。随着 V2 的推出,这些数字将重置为现有的 V2 测试网交易量和交易量,因此需要时间来建立市场信任备份,就像 Uniswap 升级需要时间来超越其先前的水平一样(Uniswap V2 交易量)高于V3 大约六个月)。当然,上市时间并不是衡量智能合约风险的唯一指标。审计也是一个很好的指标。使用V2,所有合同都经过审计,并且针对白帽黑客提供 250 万美元的漏洞赏金。V1 漏洞赏金金额为 1500 万美元,是目前世界上最高的。
恶意开发人员:开发人员负责设置自己的安全堆栈。如果没有设置治理或内部安全流程来阻止他们这样做,这使他们能够指向恶意 DVN 和/或随意更改配置。
是的,开发人员可以在 LayerZero 上部署或执行恶意操作。这是未经许可的建筑的副产品,也是非常值得的权衡。以太坊、互联网、现金等都是无需许可的系统,允许人们做任何事情(无论好坏)。反对这一点就是侮辱任何开发人员的智力或自由意志。对于所有构建在无需许可的区块链上的应用程序来说,“开发人员可以鲁莽”这一论点都是正确的。话虽这么说,但值得注意的是,开发人员的最佳实践是清楚他们的安全堆栈以及如何更改它。对于 DAO,可以通过 DAO 投票来选择和硬编码安全堆栈,可以对其进行时间锁定并每月更改,或者可以委托代表设置最适合 DAO 的安全堆栈(具有时间延迟和否决权)来自安全理事会)。类似的设置可用于在 LayerZero 上构建的企业。然而,企业客户可能希望运行自己的 DVN,因此在该垂直领域这不应该是一个大问题。
DVN 的多样性:虽然协议没有意见,但验证消息的 DVN 却不然。因此,如果 DVN 集有限并且应用程序选择不运行自己的 DVN,那么通过网络发送的消息可能会以某种方式受到审查,类似于某些以太坊验证器不包含 OFAC 批准的交易。
LayerZero 的目标是建立广泛、多样化的 DVN 组。这种多样性有多个层次。在构建全链应用程序时,DVN 应该为开发人员提供一系列验证方法:桥、预言机、链、证明服务、重新抵押机制等。为了使 LayerZero 成为一个健康的协议,不同的实体组需要运行 DVN:来自企业解决方案连接到私有链以退化解决方案来接收 DeFi 中的任何交易。除了验证和实体多样化之外,最好还有一组在不同管辖范围内运行的分布式 DVN,以在国家级攻击的情况下进一步强化 LayerZero 的验证层。在 V2 发布时,超过 15 个 DVN 已上线,从 Google Cloud 等企业到 Polyhedra zklightclient 等加密原生解决方案。随着 V2 的普及,这个数字应该会扩大。有 50 条链和数百万条消息需要验证,应该激励更多的团体运行 DVN。
DVN 和善意证明:与上述要点类似,必须注意的是,存在一个 DVN 不会串通的信任假设。
LayerZero 假设开发人员将选择能够最大限度降低共谋风险的安全堆栈。LayerZero 只是为这些想法创建了一个市场,让这些想法在成本和安全性权衡(以及应用程序需求)方面相互竞争 - 并具有能够运行自己的最终安全性。例如,如果愿意,DVN 可以具有削减机制和/或质押,但 LayerZero 不会强制执行此操作。
理解 DVN 为何善意行事可以分为三个论点: 1)对于企业 DVN 来说,良好的声誉比合谋确认恶意交易更有价值。2) 一些 DVN 已经实施了透明的机制来激励良好行为(削减等)。3) 费用使得运行 DVN 变得值得。在声誉方面,像 Google Cloud、Animoca、Blockdaemon 和 Gitcoin 这样的 DVN 可能太大了,在更广泛的加密生态系统中根深蒂固,并且可能会带来太多的声誉风险而无法串通。在透明度方面,像 Axelar 和 CCIP 这样的去中心化 DVN 拥有自己的验证器集,可以公开审计和检查,并且还可以在本地实施削减以惩罚不良行为者。在费用方面,有 50 多个链提供服务,历史消息量最近突破 1 亿条,
总体而言,协议应考虑使用不会串通的 DVN。例如,Google Cloud 和 Axelar 的 DVN 设置是一个非常硬的安全堆栈,因为它包括来自集中式和去中心化实体的验证,最大限度地减少了冲突风险(稍后可以将更多 DVN 添加到此设置中)。开发人员在选择安全堆栈时需要小心,因为 DVN 可能会在协议未来的某个时刻试图串通一气。任何应用程序都应考虑共谋风险,并通过运行自己的 DVN、联系 DVN 团队进行尽职调查和/或选择不可能共谋的 DVN 组合来进行相应的计划。
Executor x Liveness:理论上,任何人都可以在 V2 中执行交易。活跃度永远不应该成为问题,因为如果配置的执行器离线,最终用户或应用程序可以在LayerZero Scan上手动执行事务。然而,在实践中,如果配置的 Executor 频繁停机,那么在 LayerZero 上构建的应用程序就会出现短期活性问题。
正如已经提到的,无许可执行理论上应该可以减轻活性问题。然而,在实践中,运行执行器是一项具有挑战性的工作。正如V2 发布视频中所述,运行自动执行器每月需要数十亿次 RPC 调用,并跨 50 多个链提供 Gas 抽象,这本身就需要持有 50 多个 Gas 代币,并根据需要重新平衡这些 Gas 资产。也就是说,一个应用程序可以构建和配置一个较小版本的执行器,该执行器在有限的链对上运行(例如 Fantom <> 以太坊)——尽管如此,由于重新排序、活跃性、可用性,编写起来仍然很复杂,针对故障、竞争条件、正确定价天然气成本等的弹性。总的来说,如果 OApp 选定的执行器出现故障,确保多个执行器可用有助于协议的长期存活。为此,我们的文档中现在提供了执行器的开源实现。
默认值:当开发人员开始尝试 LayerZero 时,他们可以选择使用 LayerZero Labs 的默认安全堆栈或设置自己的安全堆栈。默认安全堆栈由 LayerZero Labs 设置并可以随时更改。因此,任何将其安全选择放弃给 LayerZero Labs 默认设置的应用程序,都会将其安全性放弃给集中式第三方。当前的默认设置是 Google Cloud 和 LayerZero Labs。
违约本身并不坏——这很像在交易所或托管机构持有加密货币。这对于小型应用程序或大型企业解决方案可能是理想的选择(就像 Coinbase 这样的东西适合 BTC 的新进入者和机构持有者)。然而,对于加密原生应用程序来说,选择默认值可能并不理想,因为如果 LayerZero Labs 被黑客攻击或变成恶意的,那么默认的安全堆栈也可能被更改为恶意的。默认值旨在供开发人员测试 LayerZero。大多数应用程序的最终目标应该是配置自己的安全堆栈,而不是首先使用默认设置- 和/或信誉良好的组织(如基金会或大型应用程序)发布自己的“默认”设置以供应用程序使用。
端点部署: LayerZero Labs 是唯一可以部署规范的、社会接受的端点的实体。如果 LayerZero 实验室关闭,这将阻止 LayerZero 当前的迭代扩展到新链。
由于端点是不可变的,因此部署的任何端点或 MessageLib 将保持部署状态并永久处于活动状态。即使没有创建新的端点,应用程序也可以永远在此基础设施上构建。然而,为了扩展到新网络而不是关闭 LayerZero 实验室,需要采取某种解决方法。需要澄清的是,其他团队可以部署端点 - 但它们不被认为是社会规范的,因为它们不连接到其他 LayerZero 端点(打破了整个互操作性理论)。然而,如果 LayerZero Labs 瘫痪,另一个团队可以部署端点并尝试为他们自己的网格获得社会共识。一种经常出现的解决方案是允许无需许可的端点部署。然而,这是一个增加复杂性、引入垃圾邮件风险的设计决策,
LayerZero 和市场
跨链世界充满了桥梁、流动性网络和代币标准。以下是 LayerZero 适合的地方的简要概述。
安全堆栈:作为 DVN 的桥梁
就像比特币建立在自我托管的理念(对商品安全的所有权)之上一样,LayerZero 也是建立在安全堆栈的理念(对应用程序的安全性的所有权)之上。
在 V2 中,任何可以验证消息的实体(无论是本机桥、第三方桥、验证器集、oracle、多重签名、轻客户端、zk 证明器等)都可以被构建在其之上的应用程序用作 DVN LayerZero 的。
本文的这一部分将说明许多最流行的第三方桥实际上只是去中心化验证者网络(DVN),可以用作应用程序所有者构建的适配器 DVN来验证 V2 中的消息。
换句话说,许多现有的网桥可能最终会成为 DVN,竞相验证 LayerZero 内的消息。
更详细地说,第三方桥是相互竞争的跨链协议,旨在构建最强大、最受行业信任的机制,用于验证某些链子集之间的消息。第三方网桥的示例包括 CelerIM、Axelar、deBridge、CCIP、Synapse、Wormhole、Router、IBC 等。第三方网桥的设计通常围绕共享安全性展开,通常可分为三类。Axelar 和 Synapse 等中间链作为中心验证消息并向辐条发送消息。有一些第三方监护桥可以通过信誉多重签名来证明消息的有效性,例如虫洞和雪崩桥。您可以将它们视为预言机或证明服务,以收费方式签署跨链消息。最后一种类型的第三方桥是一个比较模糊的桶,我们称之为信任最小化系统。这些涉及 zk 证明、轻客户端或乐观证明,这些都可以归结为只需要信任一件事:分别是数学、链共识和单个诚实的观察者。
没有第三方桥梁能够完全破解“最佳”安全形式的密码。中链竞相打造最难以破解的中心。守护者竞相引入加密领域最有信誉的参与者来证明跨链交易。信任最小化系统使用数学、区块链和博弈论提供的最好的工具。
虽然这些实体中的每一个都可以跨链发送/接收任意数据,但这并不是第三方桥的特长。这些第三方桥实际上在验证方面非常出色 - 证明该消息发生在这里并且可以发送到那里。
通过新的 V2 设计,这些第三方桥(如 DVN)可以专注于他们最擅长的事情——签署有效的跨链交易——并且应用程序根据用例偏好选择他们想要的第三方桥。这种设计应该是双赢的,因为第三方桥设计者不再需要担心跨链消息的执行和/或传输,并且应用程序在构建存在于多个链上的东西时不再被锁定在单一验证方法中。区块链。
通过允许第三方桥接器做他们最擅长的事情(验证事物),LayerZero 可以专注于主要思想:统一语义——允许开发人员以相同的方式编写合约,而不管链如何。在 LayerZero 协议上发送的每个数据包以及与之交互的每个端点都是相同的。LayerZero 的构建是为了让开发人员能够从市场上可用的各种类型的验证方法中进行选择。它是一种无需许可、抗审查且不可变的结构,可以填充任何类型(或组合)的验证方法。这是非常强大的,因为它可以让 LayerZero 适应验证技术的进步,同时通过标准化的消息设计实现通用的区块链可组合性。
一层消息传递,多个流动性网络
任何类型的流动性网络都可以在 LayerZero 上重新创建。
另一类“桥梁”是跨链协议,允许跨链传输代币。这些被称为流动性网络。示例包括 Across、Hop、Portal、Connext、Stargate、Allbridge、DLN、UniswapX、Hyphen、Catalyst 和 cBridge 等。大多数流动性网络都是围绕基本意图结构设计的:用户在链 A 上拥有资产 X,并希望在链 B 上获得资产 X。流动性网络将意图与链上(流动性池/包装资产)、链下的解决机制相匹配。 (通常被称为中继器),或两者的混合。这些解决机制本质上是在链 A 上获取用户的代币,并在链 B 上解锁/填充相同数量的代币。他们对这项服务收取少量费用。流动性网络之间的竞争可以在桥梁价格执行、费用、
流动性网络的一个有趣之处在于,流动性网络底层使用的验证方法有些任意。就像在以太坊之上构建多个 AMM 一样,许多流动性网络从技术上讲也可以构建在同一个验证网络上。UniswapX强调就这一点而言——它花了整篇白皮书只讨论协议的流动性方面(填充、荷兰式拍卖、乐观执行等),而没有命名它可能使用的底层验证网络!白皮书只说“结算预言机”是必要的,它可以是“规范桥……轻客户端桥,或第三方桥”。任何在链之间传递消息的东西都可以成为这里的结算预言机!这种性格特征并不是 UniswapX 所独有的。其他流动性网络设计,如 DLN 和 cBridge 以及 Wormhole 的 Portal 和 Catalyst 可能会使用其他第三方桥(又名 DVN)进行结算。
这些流动性网络所需的不一定是单个第三方桥梁,而是需要一种可以根据链配对和用例信任的验证方法。通过 V2,LayerZero 理论上可以支持每个流动性网络进行消息传递(结算),同时允许它们选择独特的验证方法(安全堆栈)。
LayerZero V2 为使用不同安全堆栈配置构建的许多不同类型的流动性网络提供了单一消息传递框架。这扩大了可以制作的范围,并且应该会带来有趣的实验。例如,跨链 AMM 可能会根据交易规模选择安全堆栈,其想法是不同的交易量将由不同的安全堆栈进行结算(本质上是通过安全堆栈可选性桥接聚合)。
通用合同标准
模块化区块链理论、L2 扩展理论、全链理论——所有这些想法都需要通用代币和合约标准,以便数千条链的世界可以根据每个新链/资产/虚拟机配对而无需碎片和上下文切换即可运行。Omnichain Fungible Tokens (OFT) 和 Omnichain Applications (OApps) 旨在成为这些标准——在不影响安全性的情况下扩展开发人员的能力。
OFT 扩展了 ERC-20 等传统代币标准,使开发人员能够创建跨多个区块链无缝运行的代币。这种普遍性消除了孤岛,使代币能够在链之间移动。OFT 作为标准的潜在采用意味着开发人员不再需要部署单独的、特定于链的代币,这可以划分流动性和社区,同时引入不同的信任假设。相反,OFT 在所有 LayerZero 支持的区块链上提供统一的代币存在,确保代币生态系统保持凝聚力和稳健性,无论链如何。OFT 跨多种代币标准(ERC20 是最受欢迎的)工作,除了应用程序附加的费用外不增加任何费用,并且允许始终跟踪通用供应(透明度)。与应用程序一样,OFT 代币发行者对其合约和安全堆栈保持完全控制。(注意:ONFT 也将在 V2 上上线,但由于合同正在审核,目前处于测试阶段。OFT 的相同逻辑可以轻松扩展到 ONFT。)
全链应用程序 (OApp) 合约标准提供了一个通用的、与区块链无关的开发人员界面。借助 OApp,开发人员现在只需构建一次应用程序即可将其部署到任意数量的链上,而无需重写代码。这缩短了开发时间,并向其应用程序开放了整个区块链生态系统,而不是其中的一小部分。这还允许开发人员访问任何 LayerZero 支持的区块链的合并用户和流动性。此外,多个 OApp 可以组合起来,创建真正的全栈、跨链金融应用程序(想象一个 DeFi 应用程序,允许在任何链上借款、在任何链上交换等)。
借助 V2,LayerZero 应该有很好的机会成为跨链代币和治理的单一框架,因为它提供了带有模块化验证层的通用消息传递解决方案。
换句话说,代币或治理设置可以使用任何类型的验证方法 - 或验证方法的组合 - 使用 V2 将数据移动到目标链,唯一的信任假设是 LayerZero 端点的神圣性(该信任假设不能也可以使用任何其他解决方案进行转义)。
总体而言,OFT 和 OApp 可以(也许应该)成为所有代币和合约的事实上的合约标准,以便团队在 LayerZero 支持的链上构建。以下是一些原因:
默认互操作性: OFT 和 OApp 是为多链世界构建的。它们本质上采用跨链通信,随着加密货币不断发展成为拥有数千条链的行业,它们能够面向未来。采用这些标准可以让项目规划数年而不是数月。
模块化安全性: OFT 和 OApp 都受益于 LayerZero 的模块化安全框架,该框架支持针对特定应用程序定制安全参数。这意味着开发人员不必被迫采用一刀切的安全模型,而是可以根据其应用程序或代币的独特需求定制安全性,从而增强灵活性和弹性。
简单性和用户体验:对于用户来说,区块链交互的复杂性随着 OFT 和 OApp 的出现而消失。它们提供了简化、一致的用户体验,抽象了特定于链的操作的技术细节。
通用可组合性:市场上有很多跨链合约标准。将 OFT 和 OApp 巩固为行业规范可提高可组合性,同时减少碎片——无需将协议锁定在单一安全策略中。
结论
LayerZero 的架构——在验证层面上是模块化的,而在传输层上是静态的——在当前性能和面向未来的设计之间取得了至关重要的平衡。
这项技术可以让我们永远为所有人建立一个开放、公正的数字经济。作为一个行业,加密货币必须共同努力才能实现这一愿景。由于这一共同目标的本质,我们的技术必须是无需许可的。
为了实现这一愿景,必须在堆栈的各个层面都坚持这一理念。LayerZero 将这些值保护到数据包级别。
当特征是可变的时,值总是可以改变的。承诺不是永久的。决定是不持久的。升级是有风险的。最终,系统被损坏。
持久性和可证明性必须进行硬编码。
这就是 LayerZero 出现的原因。这就是 LayerZero 存在的原因。
LayerZero 的构建让您无需信任他人。它的建立是为了让您可以相信自己。