編譯: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。
Google雲端(預設):由Google雲端提供支援的預設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 版本。