编译:Babywhale,Techub News
北京时间昨日晚间,LayerZero 发布了 V2 版本更新并表示将在 V1 版本支持的超 40 条链上部署 V2 版本「端点(endpoint)」。LayerZero 在对 V2 版本介绍的博客中写道:
LayerZero 使开发人员能够通过任意消息的传输,创建和配置统一的应用、代币和数据原语,而不受链的限制。 与 TCP/IP 标准化互联网开发一样,LayerZero 的目标是实现所有链上应用开发的标准化。这种统一的跨链开发概念被概括为「omnichain(全链)」,也是 LayerZero 对加密货币未来的展望。
LayerZero 是一个旨在连接区块链的协议,同时坚持以下基本原则:
无权限:任何人都可以运行验证和执行消息所需的基础设施。任何人都可以在 LayerZero 上进行构建并与之交互。
抗审查:在所有之前的消息都被验证之前,任何一条消息都不能被执行,这意味着任何一条消息都不能在任何途径上被审查。
不可改变:每个链上的端点都以智能合约的形式存在。新的验证库可作为仅附加更新添加。这些库不可升级,并将永久存在。
在此之前,LayerZero 一直被诟病中心化的问题,最新的 V2 版本针对市场的这一普遍质疑做了怎样的优化呢?
什么是 LayerZero V2
LayerZero 是一种消息传输协议,而不是区块链。LayerZero 利用部署在每条链上的智能合约,结合去中心化验证网络(DVN)和执行器(Executor),使不同的区块链之间能够进行交互。
在 LayerZero V2 中,消息验证和执行被分为两个不同的阶段,为开发人员提供了对应用安全配置和独立执行的更多控制。 结合改进的处理方式、消息吞吐量、可编程性和其他针对合约的改进,LayerZero V2 提供了一个更灵活、性能更强、面向未来的消息传递协议。
新的安全和执行方式
LayerZero V2 为 Endpoint V1 上部署的现有应用提供了直接改进,同时还提供了新功能,可增强在新的 Endpoint V2 上部署的全链应用的创造力和可扩展性。 部署在 Endpoint V1 上的应用可以通过将其应用的消息库迁移到 Ultra Light Node 301 来获得应用安全性和执行方面的两大改进。请参阅《迁移指南》了解更多信息。
「X of Y of N」消息验证
新的 Ultra Light Node 301(V1)和 Ultra Light Node 302(V2)允许应用所有者配置自定义安全堆栈,选择一组不同的 DVN 来验证目的地 MessageLib 上的有效负载 hash。所有这些 DVN 的子集(X)都必须验证有效负载 hash,而一组可选 DVN(N)的阈值(Y)也必须验证相同的有效负载 hash,然后才能交付数据包。 现在,OApp 所有者可以根据自己的应用需求,利用多种验证模型来实现所需的安全性和成本效益。 您可以在启动时选择以下 DVN,也可以无需许可建立 DVN:
LayerZero Labs(默认):由 LayerZero Labs 维护的默认 DVN。
谷歌云(默认):由谷歌云提供支持的默认 DVN。
Nethermind:由 Nethermind 托管的弹性 DVN,使世界各地的企业和开发人员能够访问去中心化网络并在其上进行开发。
Delegate:由 Delegate 维护的 DVN,Delegate 是 Azuki、BAYC、Squiggles 和 RTFKT 等项目使用的值得信赖的链上安全工具背后的开发团队。
Tapioca:Pearlnet 是为 TapiocaDAO 生态建立的 DVN,使 OApp 能够控制自己的模块化验证网络。
Animoca:由游戏化和区块链领域的领导者 Animoca Brands 维护的 DVN。
Blockdaemon:由 Blockdaemon 维护的 DVN,利用团队独有的监控和警报系统来确保最佳的正常运行时间。Blockdaemon 的基础设施保证了机构级的安全性,并通过了 ISO27001 认证。
Gitcoin:由以太坊原生公共产品开发团队 Gitcoin 运营的 DVN。
Polyhedra zkLightClient:使用 Polyhedra 的 zkBridge,可以检索和验证消息数据,以便应用开发人员可以使用零知识证明来保护消息传递。
P2P:由 P2P.org 提供支持的 DVN,P2P.org 是自 2018 年持续运营至今的 PoS 验证器和 RPC 节点提供商。
Obol:由 Obol 维护的 DVN,该团队通过 Obol 网络推动可组合的、与以太坊一致的分布式验证器中间件的开发和采用。
StableLab:由 StableLab 运营的 DVN,StableLab 是专业授权、治理框架设计和 DAO 产品开发领域的领导者。
Axelar DVN Adapter:将 DVN 适配器接入 Axelar 进行身份验证。
CCIP DVN Adapter:使用 CCIP 进行消息验证的 DVN 适配器。
独立消息执行
在 LayerZero V1 中,中继器同时处理消息的验证和执行:
预言机:处理消息区块头的验证。
中继器:处理 tx-proofs 的验证和消息的执行。
在 LayerZero V2 中,消息的验证现在由安全堆栈处理,而执行则由执行器执行:
安全堆栈:您的应用选定的(X of Y of N)DVN。
执行器(可选):应用选定的用于接收消息的自动调用程序。
对于在 Endpoint V2 上部署的新应用,该调用方是完全无需许可的。
新协议合约
除了新消息库,LayerZero V2 还对核心协议架构进行了改进。
开发人员可以通过使用 Endpoint V2 合约标准部署应用,从而获得更高的消息吞吐量、更好的可编程性、更简化的合约等优势。
优化消息处理
由于 V2 协议将消息的验证和执行分开,因此现在可以不按顺序执行消息 nonces,同时仍能保持抗审查能力:
Verified:消息包的 nonce 已成功验证,等待执行。
Delivered:消息已成功执行并被目的地应用接收。
在 V1 中,默认情况下,如果发送的信息未能在目的地执行,相关路径将被一个「storedPayload」事件阻断,从而暂时停止执行所有后续消息。
现在默认情况下,即使之前的消息未能执行,后续消息流也会继续传递和执行。
通过配置 Ordered Message Delivery,仍可在应用级别启用有序执行。
更高的信息吞吐量
这种 Unordered Message Delivery 通过使用 Lazy Inbound Nonce 和 Inbound Nonce 改进链上 nonce 跟踪,将其作为在何处尝试执行消息的指引,从而提供尽可能高的消息吞吐量(即链本身)。
Lazy Inbound Nonce:系统中执行率最高的信息 nonce。
Inbound Nonce:最新验证的消息 nonce,之前的所有 nonce 也已验证。
由于 nonces 必须先经过验证才能执行,因此该系统使 LayerZero V2 能够验证和无损地执行无序数据包,从而在不影响抗审查能力的情况下简化信息执行过程。
改进的可编程性
LayerZero V2 还在多个方面显著提高了可编程性:
简化协议合约接口:LayerZero V2 中改进的合约接口简化了消息路由和处理,降低了通过协议发送和接收消息的复杂性。开发人员可以更自信、更高效地工作。
特定路径库:Endpoint V2 中的特定路径库使开发人员能够为特定路径(从源到目的地)配置不同的 MessageLib,从而为应用提供更大的灵活性和定制性。
横向可组合性:新的 sendCompose 和 lzCompose 接口可将外部调用转化为新的消息包,从而使应用能够在处理消息接收的逻辑(lzReceive)和外部调用本身的逻辑(lzCompose)之间保持清晰的分离。这就确保了每个步骤都能正确执行,并独立于其他步骤,从而实现强大的跨链互动。
更简化的合约
LayerZero V2 引入了多项改进,以提高开发人员和用户与 LayerZero 合约交互时的 Gas 效率。这些改进包括:
优化基础合约:对所有 LayerZero 合约标准进行了重组,以降低基础合约的 Gas 成本。
编译器效率:对合约的改进能更好地优化编译器,进而降低部署和执行的 Gas 成本。
链兼容性
V2 还大大提高了链的兼容性,进一步增强了开发人员在更广泛的区块链上开发多功能、高效的全链应用的能力。
「链无关」设计: 该协议定义了组成合约调用(compositionSend 用于存储数据,lzCompose 用于组成合约)之间的隔离。这使开发人员能够在具有不同环境假设(如缺乏运行时调度)的区块链上建立更加统一的应用设计。这对于实现与非 EVM 链的广泛兼容性以及在每个链上统一 OApp 接口非常重要。
改进了 Gas 支付选项: 在部署过程中,终端现在可以在给定的链上指定替代 Gas 代币。这种灵活性适用于可能具有独特 Gas 机制或收费模式的区块链。
特定库默认值: Endpoints 现在支持每个链途径使用不同的默认库。该功能可根据每个链对的具体特点和独特要求,实现更精简、更高效的消息处理。
这些改进为消息处理提供了一种更贴近链的方法,有助于 OApp 开发人员设计一种可跨 EVM 和非 EVM 链统一的单一应用架构。
始终如一的安全标准
应用级控制: 虽然应用合约可以选择预定义的默认设置,但 LayerZero 让您可以选择为每条路径配置应用的设置,从而提供无与伦比的灵活性和安全性。
不可变的核心合约: LayerZero 只使用不可变的核心合约。这为开发人员提供了一个可以以长期稳定、可预测方式交互的连接,确保安全性和可靠性不会受到外部更新的影响。
向后兼容性: LayerZero 的链上消息库是不可变的,永远不会被移除或废弃。LayerZero 始终向后兼容以前的 MessageLib 版本。