LayerZero 白皮書:去信任的全鏈互操作性協議
原文標題:《LayerZero: Trustless Omnichain Interoperability Protocol》
原文作者:Ryan Zarick、Bryan Pellegrino、Caleb Banister
編譯:0xMeta
摘要
區塊鏈的廣泛使用為開發人員提供了各種平台,可以在這些平台上根據應用程序的功能和對吞吐量的需求、安全性及成本的要求來運行他們的智能合約。然而,這種自由的後果是嚴重的分裂。每個鏈都是孤立的,迫使用戶孤立他們的流動性,並限制了在圍牆生態系統之間移動流動性和狀態的選擇。
本文介紹了第一個去信任的全鏈互操作性協議LayerZero,它提供了一個功能強大的基礎層的通信原語,可以在其上構建一組不同的跨鏈應用程序。使用這個新的原語,開發人員可以實現無縫的跨鏈應用程序,如跨鏈DEX或多鏈收益聚合器,而不必依賴受信任的托管人或中轉交易。
簡而言之,LayerZero是第一個在所有鏈上實現直接交易的去信任系統。允許交易在鏈之間自由流動,為用戶提供了整合分散的流動性的機會,同時也充分利用了單獨鏈上的應用程序。通過Layer Zero,我們提供未來全鏈生態系統的基礎網絡結構。
1.引言
區塊鏈概念的核心三大支柱是去中心化、透明度和不可變性。沒有單一的實體控制區塊鏈,區塊鏈上的行動是可核查和不可逆轉的。這些支柱創造了一個基礎,一個實體可以在不信任任何其他實體的情況下採取行動。這種信任擔保就是為什麼加密貨幣比法定貨幣更具吸引力的原因之一。

圖1:LayerZero允許跨鏈交易
如果所有的用戶和所有的應用程序在一個統一的區塊鏈中共存,那麼本文將無意義。(圖1:LayerZero允許跨鏈交易)然而,區塊鏈的實用性已經導致了多樣化應用的激增,且具有獨特的複雜性和需求。對多種功能的需求拋棄了專業鏈的增長。
這些鏈條中的每一個都在其自身的生態系統中促進了應用的巨大增長,但是這些生態系統之間的隔離已經成為採用的一個關鍵限制。用戶和開發者被迫在不同的鏈條之間分配時間、資源和流動性。純粹數量的一層區塊鏈(在編寫本文[1]時多達109個)的自然結果是,需要擴展上述三個支柱,以同時包含跨多個鏈的交互。鏈之間需求交互的一個例子是代幣的轉移,我們將在本節稍後討論。
在區塊鏈術語中,工作單位是一個交易,不可變且不可撤銷。交易,整理成區塊,構成塊鏈系統的安全基礎。然而,交易始終是一個單鏈概念;如下所述,跨鏈交互傳統上需要在正常區塊鏈密碼系統之外的第三方機制。相比之下,本文描述了第一個使本地跨鏈交易成為可能的消息協議:LayerZero。
為了說明LayerZero提供的強大的通信原語,我們來看看代幣從一個鏈轉移到另一個鏈的例子。目前,要在兩個鏈的代幣之間進行轉換,用戶必須使用要麼採用集中式交易所,要麼採用跨鏈去中心化交易所(DEX)(也稱為跨鏈橋),兩者都需要妥協。在中心化交易的情況下,例如:Binance.com[3],用戶必須信任跟蹤存款和資金提取的交易所。這種信任關係與區塊鏈共識的根本去信任背道而馳,缺乏鏈上自動化系統的安全性。
使用DEX,例如AnySwap[2]或THOR-Chain[23],通過在鏈上傳輸來緩解信任問題,但現有的DEX實現涉及將用戶代幣轉換為協議特定代幣,該代幣通過其中間共識層實現交易共識。這個中間共識層,雖然通常以安全的方式實現,但確實需要用戶信任一個側鏈來促進代幣傳輸。正如我們在本文中所展示的,這種額外的開銷是不必要的。儘管用戶需求量很大,但沒有一種解決方案既有效率又直接,同時仍然保留了我們使用區塊鏈的最核心原因:去信任。退一步說,LayerZero的直接跨鏈交易為開發者提供了構建這種交易的工具。
需要注意的是,LayerZero和上面描述的交換變更操作在實現堆棧的兩個不同層次上。LayerZero是一個通信原語,它支持不同的全鏈應用程序,而交換是一個應用程序的例子,它將從在LayerZero之上的重新實現中受益。第2部分概述了區塊鏈技術的前景,並進一步探討了交換的例子。
為了正確解釋LayerZero的能力及其在區塊鏈生態系統中的作用,我們首先提出了正式的跨鏈交易所需的基本通信原語,我們稱之為valid delivery有效交付(Section3)。然後,我們描述了LayerZero如何以一種去信任的方式提供這個原語,從而保持區塊鏈的安全承諾。LayerZero是第一個去信任的全鏈互操作層,支持1層和2層鏈之間的直接消息傳遞(图1)。

圖2:LayerZero通過要求兩個獨立的實體(Oracle和Relayer)確認交易,從而確保了跨鏈通信的有效性。
鏈A和鏈B之間的跨鏈交易,由A上的交易tA、A和B之間的通信協議及消息m組成。當且僅當tA已提交且有效時,有效交付認為m已傳送。支撐LayerZero的關鍵思想是,如果兩個獨立的實體證實了交易的有效性(在本例中為tA),那麼鏈b可以確定tA是有效的。圖2在一個高層次上說明了這一點。
假設兩個實體沒有共謀,如果(1)一個實體可以為鏈A上包含tA的區塊生成區塊頭,(2)另一個實體可以獨立生成該區塊上tA的證明(交易證明),以及(3)區塊頭和交易證明實際上一致,那麼通信協議可以在保證tA在鏈A上穩定提交的前提下將m傳遞給鏈B上的客戶端。第4部分中描述的LayerZero通信協議保證收件人鏈上的交易將與發件人鏈上的有效、提交的交易配對,而不涉及任何中間鏈。我們通過組合兩個獨立的實體來實現這一點:一個提供區塊頭的Oracle[7],以及一個提供與上述交易相關聯的證明的Relayer。
LayerZero的接口是一個輕量級的鏈式客戶端,我們稱之為LayerZero端點。每個(支持的)鏈上都存在一個LayerZero端點,任何具有LayerZero端點的鏈都可以進行跨鏈交易,涉及具有LayerZero端點的任何其他鏈。本質上,這創造了一個完全連接的網絡,每個節點都可以直接連接到其他另一個節點。通過少量的樣板代碼,任何區塊鏈都得到了支持。第5部分通過一個案例研究演示了這個過程,該案例研究了如何在以太坊區塊鏈上實現LayerZero。
與網絡上任何其他鏈直接進行跨鏈交易的能力,為以前不可行的一類大規模應用提供了機會,例如跨鏈去中心化交易所、多鏈收益聚合器和跨鏈貸款。第6節詳細研究了幾個這樣的應用。通過LayerZero,用戶可以在鏈條之間自由移動流動性,允許單個流動性池參與跨越不同鏈條和生態系統的多個去中心化(DeFi)應用程序,而無需通過第三方系統或中間代幣。
2.背景
為了奠定LayerZero的基礎,我們回顧了相關的現有系統,以說明為什麼它們不能滿足新興應用程序的需求。討論最終深入解釋了在LayerZero之上建立跨鏈交易所的優勢。
2.1相關工作
這一部分建立了對跨鏈交互空間中重要參與者的理解,為什麼他們達不到去信任的有效交付的理想,以及LayerZero是如何縮小差距的。
Ethereum(以太坊)[8]是最受歡迎的平台,用於通過智能合約構建的去中心化式金融應用程序。以太坊使用圖靈完備編程語言擴展了其底層區塊鏈,該語言使得去中心化式應用程序庫能夠通過對開發人員友好的摘要利用底層鏈強大的安全屬性。然而,底層區塊鏈的低交易率(大約每秒15-45個交易)已被證明是一個嚴重的可伸縮性瓶頸,限制了構建為直接在以太坊區塊鏈上運行的應用程序的流行。
由於其編程模型和流行程度,許多跨鏈通信技術圍繞著第三方鏈與以太坊的接口。LayerZero提供了在無需中間人的情況下直接向以太坊和從以太坊傳輸狀態的能力,允許用戶和應用程序利用以太坊鏈的穩定性和可信度,而無需面對下面描述的解決方案的成本和瓶頸。
以太坊Ethereum2.0[22]是一組提升以太坊的可伸縮性、安全性和可持續性方面的升級。以太坊2.0引入了分配負載的分片鏈,而不是將所有交易集中在超載的以太坊主鏈上。從工作證明(PoW)過渡到利益證明(PoS)既消除了51%攻擊的可能性,又降低了每筆交易的能量。這些進步在很大程度上與LayerZero的發展是不謀而合的的,肯定會促進以太坊的流行,為方便和廉價的跨鏈通信創造更多需求。
Polygon[17],前身為Matic網絡,是一個二層網絡,解決以太坊吞吐量和主權挑戰。儘管是區塊鏈開發最流行的平台,但以太網受到低吞吐量的困擾[10],使其不適合某些應用。Polygon提供了應用程序特定的,與以太坊兼容的側鏈,將獨立鏈的可伸縮性和獨立性與以太坊的社區和安全性結合起來。專門的或吞吐量密集型的應用程序運行在側鏈上,並定期整合回主要的以太網鏈。相比之下,LayerZero是一個底層平台,可以實現直接的跨鏈通信,可以用來促進傳輸回以太網主要鏈而不需要複雜的Polygon協議。
Polkadot[26]是一個開放的跨鏈生態系統潛在的早期例子。在Polkadot中,許多特定於領域的平行鏈("parachains")通過一個公共中繼鏈進行連接,該中繼鏈使代幣和數據能夠在它們之間流動。然而,跨鏈通信總是穿過這個中繼鏈,從而產生額外的成本。LayerZero提供了與Polkadot相同的底層通信平台,沒有涉及鏈上中間商所必需的額外交易。
THORChain [23]是一種DEX,它使用成對的流動性池在第三方鏈之間傳輸代幣。每個流動性池將特定的第三方貨幣與稱為RUNE的THORChain本地代幣綁定,後者充當公共交換媒介。如果沒有這種共同的媒介,所有成對的貨幣都需要一個流動性池,這意味著流動性池的數量將按照貨幣數量的平方來增加。不幸的是,雖然RUNE解決了這個可擴展性問題,但是在交易過程中的冗長開銷使得一個簡單的操作變得相當複雜。這在THORChain交易算法的複雜性中表現得很明顯。LayerZero提供了直接的跨鏈通信,而沒有THORChain固有的可擴展性瓶頸,繁瑣的中間貨幣,或重量級協議。
AnySwap[2]是一種類似於THORChain的DEX,它面向簡單的成對代幣交換。AnySwap依賴於一個基於Fusion分佈式控制權限管理的中間代幣--ANY。和THORChain一樣,使用ANY中間代幣會帶來不必要的開銷、延遲和額外的傳輸費用。
Cosmos[5]是一種區塊鏈網絡技術,允許在支持的鏈之間發送任意消息。Cosmos包括一個建立在Tendermint BFT[21]上的區塊跨鏈通信(IBC[14])協議,以促進建立在Cosmos Hub上的鏈之間的消息傳遞。Cosmos與LayerZero在兩個關鍵方面有所不同:(1)IBC運行一個完整的鏈上輕節點,(2)IBC只提供快速終結鏈之間的直接通信[24]。
IBC的這些局限性,加上使用中間鏈來促進共識,使得它類似於Anyswap、THORChain或Polkadot,而不是像LayerZero這樣的通用通信層。Cosmos也提供了與Anyswap或THORChain具有相似屬性的DEX,稱為引力橋[12]。與Cosmos和IBC相比,LayerZero提供了去信任的全鏈消息傳遞,並且可以擴展到任何鏈上運行,包括那些提供概率終結性的鏈,如以太坊和比特幣。

圖3.LayerZero是跨鏈應用程序的構建塊。這個圖形顯示了集中式交易所、分散式交易所和使用LayerZero作為底層通信原語構建的跨鏈橋梁之間的架構差異。
Chainlink[7,4]是一個構建和連接到分散的oracle預言機網絡(DONs)的框架。雖然智能合約是防篡改的,但其在鏈上的性質阻礙了對其更廣泛應用至關重要的基本連接:智能合約不能獲取執行合同所必需的脫鏈數據,如股票價格、物聯網設備測量以及安全脫鏈計算的輸出。DON將智能合約的防篡改屬性擴展到合同所依賴的數據源和外部資源,而無需信任任何中心實體。在DON中,用戶的智能合約向Chainlink接口智能合約發出鏈上請求,該智能合約向許多獨立的預言機節點發送事件。
每個預言機節點查詢多個數據源以獲取所請求的信息,聚合數據以過濾錯誤或惡意數據源,並對數據執行可選的信任最小化計算。預言機節點響應Chainlink接口智能合約,該智能合約執行第二級聚合來過濾錯誤或惡意的預言機。這種雙層過濾保證了對最終數據的信任,而不需要信任任何單獨的預言機或數據源。因此,Chainlink提供了一個有力的信息檢索網絡和一個安全的離鏈計算解決方案,已經在業界得到了廣泛的應用。通過利用Chainlink DON框架,LayerZero協議獲得了確保不同鏈之間去信任的消息傳遞的能力。
2.2實踐中的LayerZero
開發者可以使用LayerZero來構建複雜的跨鏈應用程序,而不需要犧牲去信任或引入複雜的中間鏈/智能合約。圖3說明了LayerZero在構建交易所時的功能。
一個集中的交易所,如左圖所示,要求用戶將他們的代幣存放在一個中央可信的第三者,然後脫鏈跟蹤存款,並根據用戶的要求在其他鏈上授予硬幣。對這種權威的信任與我們使用區塊鏈的初衷背道而馳,後者導致了分佈式交易的出現。
中心圖在一個高層次上展示了典型的分散式交換是如何工作的------通過使用一個智能的合約管理的共識協議來促進B鏈上硬幣的自動鑄造,DEXs能夠克服集中的、可信的離鏈中間商的必要性。
然而,一個關鍵的限制是,DEXs涉及一個中間代幣和中間鏈,並且只在B鏈上鑄造一個中間代幣或者包裝代幣,而不是用戶想要的實際代幣。然後,用戶必須在一個額外的交易中將中間代幣(例如RUNE)或包裝代幣(例如ANY)交換為所需的代幣。這個中間/包裝代幣、第二個交易以及中間鏈對於理想的單個無縫交易來說都是不必要的開銷。
圖3的右側顯示了構建在LayerZero上的交易所的樣子,鏈A能夠啟動單個跨鏈交易,促進鏈B上的本地交易,並通知鏈B上的應用程序可以安全地向用戶授予代幣。在這個應用程序中,LayerZero實現了一個乾淨的、最小的、不包含任何中間代幣的單交易交換。實際的交換協議由跨鏈交易兩端的智能合約處理,LayerZero在兩者之間傳遞消息。這提供了很大的靈活性,並遵循端到端原則[18],大多數高級交換邏輯由源鏈和目的鏈上的智能合約處理。
3.有效交付
在這一部分中,我們描述了去信任跨鏈通信的基本特性。為了正式描述在不同鏈上驗證交易的問題,我們定義了有效交付的概念。有效傳遞是一種通信原語,它通過提供以下保證來實現跨鏈代幣傳遞:
1.通過網絡發送的每條消息m都與發送端鏈上的一個交易t相耦合。
2.當且僅當相關聯的交易t是有效的並且已經在發送端鏈上提交時,消息m才被傳遞給接收方。
集中式交換機保證有效的交付,因為客戶和交易所之間的協議是客戶將其代幣從一個鏈轉移到交易所,而交易所將在收到代幣後發出一些餘額(非加密貨幣)。這種非加密貨幣餘額隨後可以從任何可用的鏈條中撤出,這種便利是由於每個受支持鏈條上的交易所保持了廣泛的流動性池而變得可能的。交易所在交易中充當中間人的角色,用戶必須相信他們能夠維護他們的交易。然而,惡意或破壞的交換可以從客戶端獲取代幣,發出餘額,然後拒絕允許從另一個鏈中提取餘額,實際上是從用戶那裡竊取代幣。
即使用戶願意信任加密貨幣交易所,近年來也出現了許多成功的黑客攻擊或破壞加密貨幣交易所的嘗試[15],因此為用戶提供一個不需要任何可信中間人的解決方案會更好。在更高的層次上,加密貨幣的核心工作之一是它們獨立於像銀行這樣的中央實體,因此依賴於一個中央交易所違背了它們的目的。
使用集中式交易所的另一種選擇是分散式交易所,如THORChain[23]或AnySwap[2]。所有現有的DEX都使用一個中介代幣,例如THORChain中的RUNE,AnySwap中的ANY,作為交易t。因為這些中介代幣由每個DEX的各自協議控制,所以DEX能夠保證有效的傳遞,因為惡意用戶不可能偽造中介代幣。
現有的DEX解決方案並不理想,因為它們涉及兩個中間交易------一個是將發送方的代幣轉換為中間代幣,另一個是將中間代幣轉換為接收方鏈上所需的"真實"代幣。除此之外,用戶還需要完全信任中間協商一致層,該層確認源鏈上的交易並傳達創建目的鏈的代幣。雖然現有的交換確實能夠實現跨鏈代幣傳輸,但它們的代價是不必要的複雜性和成本。這種做法的缺點很明顯,因為跨鏈應用還沒有被廣泛採用。跨鏈交易問題的理想解決方案是使用跨鏈的單一交換交易,而不涉及任何可信的中間實體------換句話說就是去信任的有效交付。
在我們的工作中,我們實現了一個通用的消息傳遞協議,它提供了任意用戶數據的去信任的有效傳遞,而不僅僅是代幣。分佈式交換或其他DeFi應用程序將使用我們的消息傳遞原語來實現跨鏈交易,基礎層消息傳遞協議提供的靈活程度使得高級應用程序能夠實現以前不可能實現的廣泛功能性。
4.設計
LayerZero的核心是一個通信協議,提供去信任的有效傳輸。我們的協議是建立在第4.1節介紹的一系列組件之上的。我們在第4.2節中討論了傳輸協議的通信流程,在第4.3節中描述了LayerZero如何能夠在不涉及可信中介服務的情況下實現有效的傳輸,並在第4.4節中介紹了我們新的基於低成本智能合約的輕節點客戶端設計。
4.1 LayerZero的組成
LayerZeroEndpoints是LayerZero的面向用戶界面。在LayerZero網絡中的每個鏈都有一個LayerZero端點,作為一系列鏈上的智能合約實現。端點的目的是允許用戶使用LayerZero協議後端發送消息,保證有效的傳遞。
LayerZero端點分為四個模塊:Communicator(通信器)、Validator(驗證器)、Network(網絡)和Libraries(庫)。Communicator、Validator和Network模塊組成了端點的核心功能(图4),而LayerZero支持的每個新鏈都作為附加庫添加。這個設計允許我們在不修改三個核心模塊的情況下添加對新鏈的支持。我們在第4.4節中解釋了每個模塊的功能。
預言機是一個第三方服務,它提供一種獨立於其他LayerZero組件的機制,從一個鏈讀取區塊頭並將其發送到另一個鏈。理論上,這個預言機可以是提供這種機制的任何第三方服務,但實際上我們希望使用Chainlink[7,4],它是目前去中心化Oracle網絡的行業領導者。

圖4:單個零層跨鏈事務中的通信流。
Relayer(中繼器)是一個脫鏈服務,其功能類似於預言機,但是它不是獲取區塊頭,而是獲取指定交易的證明。
為了確保有效的傳遞,唯一的要求是,對於使用LayerZero協議發送的任何給定消息,預言機和中繼器必須相互獨立。協議本身並不需要任何特定的中繼器實現,理論上,LayerZero的用戶甚至可以實現他們自己的中繼器服務。這種設計允許用戶確保中繼器不會與預言機串通,這種獨立性允許我們實現去信任的驗證交付,如第4.3節所示。實際上,LayerZero提供了中繼服務,而預言機則由Chainlink的去中心化式甲骨文網絡和相關的共識機制處理。
4.2 LayerZero協議
圖4說明了單個LayerZero消息的有效傳遞所涉及的步驟。圖中的每個圈起來的數字代表了協議的一個步驟,並且對應於本節中的一個段落。這一部分介紹了Chain A(鏈A)上的用戶應用程序通過LayerZero向Chain B(鏈B)上的用戶應用程序發送單條消息的例子。在第5節中,我們描述了在兩個以太虛擬機之間發送消息的情況下,如何實現各種組件和協議步驟。
步驟1:Chain A(App A)上的用戶應用程序可以作為交易T的一部分執行一系列操作。我們通過交易標識符t唯一地標識交易T,這個標識符的格式可能會根據Chain A的類型而變化。交易T中包含的一個步驟是通過LayerZero傳輸消息,並以T為條件進行有效傳遞。為了說明的目的,並且不失一般性,我們假設在這個設想的應用程序A(App A)正在使用我們的參考中繼器。App A向LayerZero Communicator發送一個包含以下信息的請求:
t:T的唯一交易標識符。
dst:指向chain B上智能合約的全局標識符。
payload(有效載荷):App A希望發送給App B的任何數據。
relayer_args(中繼器參數):在App A希望引用中繼器的情況下描述支付信息的爭論。
步驟2:Communicator構造一個LayerZero包,其中包含dst和payload,稱為數據包Packet(dst,payload),並將它連同t和relayer_args(中繼器參數)一起發送到Validator。
步驟3:Validator將t和dst發送到Network。這一步通知Network chain A上當前塊的區塊頭需要發送到chain B。
步驟4:Validator將Packet(dst,payload)、t和relayer_args轉發給Relayer,通知Relayer, T的交易證明需要預取並最終發送給chain B。這與步驟3同時發生。
步驟5:Network向Oracle發送當前交易的dst和塊ID(curblkid)。這樣就不需要修改Oracle來獲取chain A上當前塊的區塊頭,然後發送給chain B。在同一区块中發生多個LayerZero交易的情況下,第5步只執行一次。
步驟6:Oracle從chain A中讀取區塊頭(blk_hdr)。
步驟7:中繼器Relayer從chain A讀取與交易T(proof(t))相關的交易證明,並且存儲以防脫鏈。步驟6和步驟7彼此異步發生。
步驟8:預言機確認對應於blkhdr的塊穩定地提交到chain A上,然後將blkhdr發送到chain B上的Network。確定這種情況何時發生的機制因鏈而異,但通常需要等待一定數量的區塊確認。
步驟9:網絡將塊Hash值,指定為blkhdrhash,發送到Validator。
步驟10:Validator將blkhdrhashHash值轉發到中繼器Relayer。
步驟11:在收到blkhdrhash之後,Relayer發送與當前塊匹配的任何Packet(dst,payload),t,proof(t)元組的列表。在多個用戶同時在同一端點之間發送消息的情況下,可能在同一塊中有多個packets和相關的交易證明。
步驟12:Validator將接收到的交易證明與Network存儲的區塊頭一起使用,以驗證關聯的交易t是否有效並已提交。如果區塊頭和交易證明不匹配,那麼消息將被丟棄。如果它們匹配,那麼Packet(dst,payload)被發送到Communicator。
步驟13:通信器將Packet(dst,payload)發送給App B。
4.3實現去信任的有效交付
去信任:LayerZero設計的核心思想是用戶不需要信任LayerZero的組件。代替需要信任這一個很強的條件,我們只需要在預言機和中繼器之間較弱的獨立性條件。這種獨立性而不是信任的要求是允許LayerZero高效和輕量級的一個方面。只要預言機和中繼器之間沒有惡意的勾結,LayerZero就能保證有效的傳輸。
有效傳遞:通過第4.2節所示的LayerZero協議,Communicator將消息m傳遞給用戶應用程序,當且僅當與m關聯的交易t的交易證明可以在步驟12中驗證時。這個驗證步驟將成功,當且僅當區塊頭和交易證明匹配,這只會發生在以下兩個場景:
1.預言機提供的區塊頭和中繼器提供的交易證明都是有效的。
2.預言機提供的區塊頭和中繼器提供的交易證明都無效,但仍然匹配。
場景2只有在Oracle和Relayer層串通的情況下才會發生,因為從統計學上來說,在不知道特定區塊頭的情況下,發送一個可以針對區塊頭進行驗證的交易證明是不可能的,反之亦然。然而,LayerZero的設計消除了串謀的可能性,如第1節所述。因此,如果一條消息被發送到接收端的用戶應用程序,它就保證滿足有效發送的屬性。
正如第3節所概述的那樣,能夠保證去信任的有效傳遞(即在不信任中間實體或代幣的情況下進行有效傳遞)的通信協議是實現跨鏈交易的理想解決方案。LayerZero是第一個也是唯一一個證明這一特性的系統。這一事實將推動用戶採用LayerZero作為跨鏈通信的首選方法。
4.4 LayerZero層端點
LayerZero端點目前實現為LayerZero網絡中包含的每個鏈上的一系列智能合約。LayerZero端點的核心功能封裝在三個模塊中:the Communication, Validation,and Network(通信、驗證和網絡)。這些模塊的工作方式類似於網絡堆棧,在發送端向堆棧發送消息------從Communicator到Validator到Network------然後在接收端向上發送消息。
除了核心模塊之外,LayerZero端點還可以通過Libraries進行擴展,Libraries是一種輔助的智能合約,用於定義應該如何處理特定鏈的通信。LayerZero網絡中的每個鏈都有一個相關的Library,每個端點包含每個Library的一個副本。這種模塊化的設計使得LayerZero網絡能夠快速、方便地擴展,以便根據需要包含新的鏈。此外,兩個鏈之間的通信只要求它們各自的Library在兩端都存在,使得LayerZero成為一個完全連接的網絡,能夠協調任何一對節點之間的交易。
4.5 LayerZero Endpoint(端點)成本可伸縮性
正如許多讀者可能會指出的那樣,在一層鏈上運行智能合約可能成本過高,特別是隨著存儲數據量的增加。為了使LayerZero端點實用化,我們有必要設計最輕量級的客戶端。以前通過跨鏈狀態機複製(SMR)進行去信任的跨鏈驗證的工作,如Golden Gate[11],在流行的Layer1一層鏈(如以太坊)上運行,每天可能要花費數百萬美元。

圖5:EVM端點的LayerZero數據包佈局。
為了解決這個問題,我們著手設計盡可能輕量級的客戶端。我們的主要觀察結果是,在客戶端中複製和存儲區塊頭是不必要的。相反,我們將獲取必要的跨鏈報頭和交易證明的任務委託給離鏈實體:預言機和中繼器。這導致LayerZero節點非常輕量,即使在以太坊這樣昂貴的[20]鏈上也很划算。
5.案例研究:EVM上的LayerZero
在本節中,我們將簡要描述如何在以太坊虛擬機Ethereum Virtual Machines(EVMs)上實現對LayerZero運行支持的細節[13]。為了簡潔起見,我們重點討論了系統的各個方面,它們的實現可能因鏈而異,並強調了我們的實現如何處理以太網鏈的具體需求。正如第4.1節中提到的,LayerZero的當前版本依賴於Chainlink來提供預言機服務,並希望用戶使用我們提供的中繼器服務。
LayerZero Packets 數據包:LayerZero數據包的格式會根據源和目標鏈的不同而有所不同。我們在圖5中說明了EVM端點[19]的LayerZero數據包的精確佈局。每個字段的功能如下:

發送端鏈交易穩定性:為了確保消息交易在源鏈上的穩定性,我們依賴於去中心化的Oracle網絡的固有屬性------在聽到一些塊確認後Oracle只會通知目的地的一個特定塊頭的鏈,在以太坊的情況下是15。準確地說,LayerZero協議的步驟8(第4.2節)只有在Oracle聽到chain A上的15個塊確認之後才會執行。
LayerZero端點:我們將LayerZero端點實現為一系列智能合約,由4.4節中描述的四個主要模塊組成。對於大多數現有的區塊鏈,包括以太坊區塊鏈,我們能夠將Communicator、Validator和Network分別作為單獨的智能合約實現。然而,這種設計並不排除在具有不同需求的(未來)鏈上實現LayerZero端點。
在這個案例研究中,LayerZero端點的Library庫組件是為以太坊區塊鏈提供支持的關鍵。我們實現了一個Library來處理圖5所示的EVM特定LayerZero數據包的構造,並處理EVM智能合約地址信息的編碼和解碼。
Library的另一個責任是處理驗證交易證明所涉及的實際計算。我們的EVM Library為EVM塊上的交易處理Merkle-Patricia Tree驗證[16],我們基於Golden Gate的開源實現[11]。
6.LayerZero上的應用程序
跨鏈 去中心化 交換:正如第2.2節中簡要描述的那樣,LayerZero使得跨鏈DEX(跨鏈橋)成為可能,它專門處理本地資產。與現有的發行代幣或通過中間副鏈的DEX設計相反,可以構建一個使用LayerZero在鏈之間發送消息的DEX,這樣兩個鏈上都存在流動性池,用戶只需將其本地資產存放在一個池中,然後從另一個池中提取本地資產。LayerZero的消息傳遞原語功能強大,足以支持直接連接(1:1定價)、自動市場制定(ab=k定價)和任何其他派生(例如與Curve DAO定價相似的派生[25])。LayerZero提供的有效交付的保證使得廣泛的去中心化交換應用成為可能。
多鏈產量聚合器:目前的產量聚合器通常在單鏈生態系統的範圍內運作,項目如Yearn Finance[27]使用單鏈策略使產量聚合能夠。這些單鏈產量聚合系統的一個關鍵弱點是,它們不能利用當前生態系統以外的任何產量機會,可能會錯過許多最佳產量。一個使用LayerZero進行跨鏈交易的收益聚合器將允許利用所有生態系統的最佳機會,增加獲得高產機會的機會,使用戶能夠利用市場效率低下的優勢。嚴格來說,多鏈收益匯總機制比單鏈收益匯總機制更好,因為在最壞的情況下,該戰略將降格為只利用一個鏈上的機會,而在最好的情況下,它將有更多的機會可供選擇。
多鏈借貸:如今,用戶沒有簡單的方法來利用他們不持有資產的鏈條上的機會。例如,假設一個在ETH整合資產的用戶想要利用Polygon上的機會[17]。他們的選擇是:(1)將整個資產基礎轉移到另一個鏈條,並將其轉換為所需的貨幣,或者(2)在以太坊上出借他們的資產,借入所需的資產,然後將該資產連接到目標鏈條。LayerZero啟用了一个借出協議,該協議允許用戶在以太坊上保持他們的整個資產基礎,將其借出,然後在Polygon上直接在MATIC中借入。這消除了中間成本,如跨鏈橋和swap費用。
這三個例子僅僅代表了LayerZero支持的許多可能性中的一小部分。通過利用LayerZero,開發人員將能夠編寫他們的應用程序,而不用擔心鏈內和鏈內交易之間的語義不同,用戶將能夠在鏈之間自由地移動流動性。我們期待著社區在去信任的跨鏈交易的力量下開發出創造性的新應用程序。
7.結論
本文介紹了第一個不涉及任何中間交易的去信任的全鏈互操作平台LayerZero的設計與實現。我們展示了通過利用兩個獨立的、去信任的脫鏈實體預言機和中繼器,LayerZero能夠在不需要昂貴的跨鏈狀








