農林漁牧網

您現在的位置是:首頁 > 漁業

聽Jump Crypto講解:LayerZero、Wormhole等跨鏈橋優劣

2022-08-15由 醬薇薇dy 發表于 漁業

啟動https服務是什麼意思

簡介

在物理和加密的世界中,橋樑都是為了連線兩個被障礙物隔開的地方。物理橋樑連線被山谷、河流等自然屏障隔開的土地,

而跨鏈橋協議則連線原本沒有辦法進行通訊和同步的區塊鏈。每當橋樑遭受摧毀和攻擊,其重要性就得以彰顯。

在物理世界中,

歷史上有據可查的災難性橋樑坍塌事件

足以表明它們是多麼重要,以及設計或建造不當的橋樑是多麼危險。

加密世界的跨鏈橋協議亦是如此。

跨鏈橋在安全風險方面極易被盯上。

從智慧合約可能的漏洞和攻擊的規模角度來看,跨鏈橋呈現出一個二次方風險面:隨著橋接的區塊鏈數量增加,維持跨鏈橋執行所需的智慧合約數量也呈二次方增長(至少在點對點模型中如此)。根據定製配置在不同執行時間編寫的更多智慧合約也迅速增加了跨鏈橋風險。在輪輻模型中,一個與中心鏈/網路相關的漏洞會導致不對稱的風險。

正如最近的

Nomad 攻擊事件

所示,一個錯誤可能導致橋樑的大部分或全部資金損失。然而漏洞與跨鏈橋無關,可能只是源於一個操作上的失誤。在 Ronin 跨鏈橋的案例中,

糟糕的操作安全措施

讓網路釣魚攻擊有機可乘,駭客

獲得了對保障網路安全的大部分驗證節點的控制權

,從而能夠攜帶價值超過 5 億的資金逃之夭夭。2 月份發生的 Wormhole 攻擊事件同樣是由於驗證審查的缺失,讓攻擊者能夠

建立一個虛假簽名,竊取超過 3。2 億美元

如果不關注安全性,不可避免地會發生更多的疏忽,因而遭受攻擊和損失。對駭客而言,跨鏈橋規模巨大的 TVL 比普通協議更具吸引力。

上述的攻擊事件均與協議的橋接邏輯無關,而是與智慧合約漏洞和操作疏忽有關。即使使用最精心編寫的程式碼,經過最棒的安全審計,隨著連線的區塊鏈和啟用功能的數量增加,也必然會有被遺漏的漏洞。出於這個原因,跨鏈橋需要被配置為不僅在正常情況下能夠安全工作,更重要的是能夠應對極端情況。

使用者在使用跨鏈橋時主要關注以下幾個特性:良好的使用者體驗、低滑點高效率和資產安全。其中,安全性是評估跨鏈橋的重中之重。

考慮到這一點,讓我們看看不同橋樑是如何疊加其安全性的。我們將從以下三個層面展開討論,比較不同跨鏈橋的安全性。

聽Jump Crypto講解:LayerZero、Wormhole等跨鏈橋優劣

1. 信任假設

2. 程式碼質保

3. 安全特性

前兩者將討論:跨鏈橋在信任層和原始碼這兩個層面上是否充分考慮了其脆弱性/漏洞的根源。最後一點涉及到,一個協議是否承認,不管多麼仔細地編碼與審計,漏洞不可避免,並且能相應地建立了額外的保障措施,以儘可能減少使用者的潛在損失。

為了保持完全透明,在深入討論之前,我們承認 Jump Crypto 確是 Wormhole 專案的運營監護人,並且是 Wormhole 的核心貢獻者之一,但我們在這篇文章中將盡可能客觀評估,我們歡迎和接受任何關於如何改進這篇文章的反饋,以展現跨鏈橋之間差異的詳細情況。

信任假設

從其核心構成,跨鏈橋可以被分解成 3 個組成部分:

1。 智慧合約(Smart contract):發出/接收每條區塊鏈資訊

2。 預言機(Oracle):驗證資訊是否來自原始鏈

3。 中繼器(Relayer):將訊息提交給目標鏈

在實踐中,跨鏈橋在預言機上實現共識(圍繞資訊是否有效)這一方面可能存在很大差異,這也進一步影響中繼器。

在我們深入研究之前,這裡是對該領域一些最流行的橋接器所使用的共識機制的一個快速介紹。

聽Jump Crypto講解:LayerZero、Wormhole等跨鏈橋優劣

Axelar

Axelar 在基於 Cosmos PoS 網路上執行,驗證者由 Token 持有者選舉產生,並按比例獲得投票權,投票權重由委託權益加權計算得出。Axelar 網路透過 (t,n) 閾值簽名方案來驗證跨鏈資訊,其中籤名者的投票權,權重歸一化為 n,n 必須大於 t,即協議閾值,才能簽署一個資訊。Axelar 網路目前最多有 50 個驗證者,並且必須獲得超過 66。67% 的多數投票才能簽署訊息(這兩個變數都可以透過治理投票進行修改)。

理論上,驗證者的數量可以無限大,但在實踐中,因為驗證者不需要為每條區塊鏈執行節點,投票權會出現傾斜。在 Axelar 目前的

驗證者名單

中共有 47 個驗證者,但只有 20 個擁有實際有效的投票權。在某條特定區塊鏈上,這一數字更小。例如,如果我們只考慮驗證 Aurora 上的資訊,只需要 8 個節點就可以成功傳送一條訊息,只需要 4 個節點審查這一訊息。

LayerZero

LayerZero 是一個跨鏈互操作協議,它將區塊鏈之間的無需信任通訊問題簡化為預言機(Oracle)和中繼器(Relayer)這兩個實體之間的獨立性問題。預言機將區塊頭轉發給目標鏈,而中繼器將交易證明轉發給目標鏈,兩者共同證明訊息是有效的,且資訊確實提交到原始鏈上。使用者應用程式(UA)可以自由使用 LayerZero 的預設預言機和中繼器,也可以建立和執行自己的預言機和中繼器。

預設的預言機是一個 Chainlink 去中心化預言機網路(DON),它在三個參與者(FTX、

Polygon

和 Sequoia)之間使用閾值簽名方案(Threshold signature)。在撰寫本文時,由於 LayerZero 程式碼庫的閉源性質,筆者對其執行情況缺乏瞭解。關於特定應用版本的預言機,LayerZero 自己的 Ackee

審計

指出,對建立和執行自己的預言機和中繼器的應用來說,成功提交一個無效的交易證明和區塊頭並不困難。不過,這種模組化確實提供了好處,如果未來出現任何漏洞,都將僅作用於那些使用受影響的預言機-中繼器對的應用程式。

LayerZero 的信任假設取決於兩個實體的行為——只要預言機和中繼者彼此獨立執行,就不可能成功傳送無效訊息。但反過來而言,因為這一系統要求預言機和中繼者均正常執行才得以驗證資訊,兩者中任何一方都可以任意刪除資訊資料。

Multichain

Multichain 是一個跨鏈資訊傳遞協議,源自之前的 Anyswap。Multichain 使用安全多方計算(SMPC)來執行閾值簽名方案,建立公鑰並簽署鏈與鏈之間傳遞的訊息。這些節點以無需信任的方式控制使用者賬戶(EOA),錢包地址與拆分的私鑰一一對應。這些帳戶用於儲存資產並將資產轉移到目標鏈,目標鏈只需檢查發件人的地址是否可信,無需驗證訊息本身。

Multichain 網路目前由 24 個 SMPC 節點組成,由不同的機構執行,並且需要大多數節點(「大多數」的量化標準似乎並不公開)來共同驗證訊息。因此,該協議的安全性依賴於 SMPC 節點的聲譽安全,它假設所有節點中誠實的節點佔半數以上。跨鏈傳送資料需要 13 個簽名者,審查訊息需要 12 個節點。

Nomad

Nomad 是一個以 EVM 為重點的跨鏈資訊傳遞協議,採用 optimistic 機制來驗證訊息,其中訊息被新增到 Merkle 樹中,並被雜湊加密到一個新的根中,由更新者(Updater)釋出到原始鏈上。更新者必須交納保證金,從而激勵他們釋出有效的證明並儘量減少停機時間。然後,觀察者(Watcher)會有時間對新根進行爭議懷疑並提交欺詐證明。一旦超過時間範圍,這一 Merkle 根就被認為是有效的,並被轉發到目標鏈進行釋出,使得原始訊息(因為 Merkle 根只是訊息的一個「化身代表」)被髮布到目標鏈上。

這種 optimistic 模型只需要一個誠實的觀察者來驗證是否釋出了一個無效的更新。這種安全模型的代價是,觀察者有大約 30 分鐘的時間來提交欺詐證明,這就使訊息的傳輸也被延遲了 30 分鐘。因為觀察者可以透過向目標合約傳送虛假欺詐證明來阻止訊息被處理,所以 Nomad 使用一組由應用程式指定、經過許可的觀察者。協議的安全性基於至少有一個誠實觀察者存在的可能性,以及因惡意行為而削減更新者的經濟安全性。

Nomad 智慧合約可以透過

多籤治理模式

進行升級,5 個簽名者中需要有 3 個來執行治理變更和處理恢復管理。

應指出的是,最近的 Nomad 駭客事件與其共識機制的安全性無關;它是一個不幸的

合約配置錯誤

,導致智慧合約終端出現惡意行為。

Wormhole

Wormhole 利用權威證明(PoA)守護者網路作為預言機,並利用無需許可的中繼器網路來跨鏈傳輸訊息。19 個守護者中的每一個都為 Wormhole 支援的每一條鏈執行完整節點,並監聽每個鏈上 Wormhole 核心合約發出的訊息。這些守護者驗證並簽署這些訊息,然後在 P2P 網路上互相傳遞。一旦一個訊息收到 2/3 以上守護者(至少 13 個)的簽名,它就會被轉發到目標鏈上。這一設計的副產品是,它允許一個完全無需信任的中繼器網路將訊息釋出目標鏈上,因為這些資訊是由守護者簽名的,所以訊息內容既不可能被改變也不可能被審查,因為任何人都可以執行一箇中繼器來提交任何資訊。

協議的安全保障來自於守護者的聲譽權威。在 Wormhole 案例中,這是一個由

Web3 中 19 個最大的質押和基礎設施供應商

組成的團體。簽署假訊息需要 13 個守護者,審查訊息需要 7 個守護者。此外,現有的守護者有能力投票移除或替換其他守護者。

程式碼質保

程式碼質保是指在鏈上部署程式碼之前需要完成的工作。這可能涉及到以下幾個方面:

1。 審計:對已公開的核心功能和新功能進行多次、獨立的質量審計

2。 賞金:包括為漏洞披露者們提供具有吸引力的獎勵,以及能夠爽快支付大額賞金的行業口碑

3。 測試:在每一次程式碼更改上測試儘可能多的協議棧,從而在不斷增長的軟體生態中進行迴歸測試

4。 部署安全:在公開環境下進行開發、合併程式碼之前需要審查、合約位元組碼驗證、升級之前進行模擬測試

下表總結了五個跨鏈橋協議在這四個方面的表現。

聽Jump Crypto講解:LayerZero、Wormhole等跨鏈橋優劣

Axelar

Axelar 有多次公開且信譽良好的

審計

,並執行一個相當強大(儘管近幾個月活躍度下降)的測試套件:持續整合(CI)和持續交付(CD)執行、bash 構建指令碼以及校驗和(checksum)驗證。Axelar 與 Immunefi 合作設立了

漏洞賞金計劃

,對嚴重漏洞披露者給予高達 100 萬美元的賞金,但其他級別的賞金額度相對較小。Axelar repo 有貢獻者定期提交程式碼,

Pull Request

需要至少 1 個審查者批准。

LayerZero

LayerZero 在程式碼部署方面似乎有些不透明。雖然有來自頂級稽核員的幾次

公開審計

,但卻缺乏公開的持續整合(CI)和持續交付(CD)流程。程式碼似乎是一次性公開發布,不是一個敏捷的開發流程。進行的測試似乎相對過時,並僅限於 JavaScript 測試。Pull Request 看起來缺乏一個強制性的同行評審步驟。LayerZero 確實在 4 月份宣佈了一個與 Immunefi 合作的 1500 萬美元漏洞賞金計劃。然而,迄今為止還沒有公開發布相關專案,也沒有關於如何提交漏洞獲得賞金的說明。

Multichain

Multichain 進行了多次公開

審計

,並與 Immunefi 有一個高達 200 萬美元的賞金計劃。Multichain

進行的測試

看起來停滯不前,似乎僅限於一般的 ABI 和簡單的轉移測試。雖然有持續整合(CI)和持續交付(CD)執行以及有限的單元和整合測試,但部署過程看起來主要是手動的。Multichain 的

repo

有貢獻者定期提交程式碼,但看起來只需要一方合併程式碼(原始開發者能夠合併他們自己的程式碼)。

Nomad

Nomad 最近接受了 Quantstamp 的公開

審計

,並有一個 Immunefi 的漏洞賞金計劃,賞金最高達 100 萬美元。Nomad 的

測試套件

包括一些圍繞利用 Foundry 進行路由和訊息傳遞的測試,也和 Axelar 一樣有 bash 構建指令碼來構建和驗證位元組碼。Nomad 的 Repo 有貢獻者定期提交程式碼,它的 Pull Request 需要至少兩方合併程式碼(原始開發者加 1 個獨立審查者)。

Wormhole

Wormhole 的

安全頁面

突顯了他們已完成和正在進行的來自業界領先的審計公司的審計。Wormhole 在 Immunefi 上有一個

1000 萬美元的賞金計劃

。自 2 月份遭受駭客攻擊以來,Wormhole 已支付了 1100 多萬美元以上的漏洞賞金,包括 5 月份支付給一個白帽駭客的

1000 萬美元

。Wormhole 的 repo 使用混合單元和整合測試,有一個可擴充套件的持續整合(CI)和持續交付(CD)套件,並運行了一系列模擬測試,以驗證升級的向後相容性和

未來的升級能力

。此外,Wormhole 透過積極的提交和貢獻者提交公開建設,讓透明的程式碼審查和負責任的披露可以實現。Wormhole 的 Pull Request 需要至少三方合併程式碼(原始開發者加 2 個獨立審查者)。

注意,協議的程式碼質保方式在經歷了嚴重的安全事件後會有很大的改善。例如,在遭受駭客攻擊後,Wormhole 的程式碼質保方式迅速得到改善。同樣,在本週的攻擊事件之後,Nomad 協議很可能會在不久的將來採用更多的程式碼質保方式。顯然最好在事件發生之前就採用這些做法,可惜它們並不總在優先列表上。

安全功能

如上所述,跨鏈橋一旦發生安全問題,代價極其高昂。上面的程式碼質保措施對跨鏈橋供應商的安全計劃至關重要。本節我們將仔細研究每個跨鏈橋正在開發或部署的協議內安全功能,以瞭解在核心信任假設和程式碼質保根本不足的情況下,這些跨鏈橋是如何實現多層防禦的。

Axelar

在白皮書中,Axelar 描述了一個由網路分配的資金池,作為治理控制的保障和備用機制,以便在 Axelar 中斷的情況下為使用者提供恢復治理的指導。在這樣的危機中,由閾值合約(Axelar 驗證者管理)存放的「緊急解鎖鑰匙」將與輔助恢復使用者集共享。如果需要,這個佇列可能擴充套件到成千上萬的個人和機構,他們可以集體控制網路以:

1。 為可以轉入/轉出某一特定鏈的資金量設定速率限制

2。 決定鏈上原生資產的包裝形式的情況

這些功能看起來是專有的,目前還沒開源。此外,這些提議的功能不提供被動安全性來限制風險,而是在生死存亡關頭被啟用。

LayerZero

LayerZero 的橋接模型包括交易應用程式選擇目標鏈上的中繼器的要求。因此,在這個模型中,協議內安全功能的關鍵之處在中繼器。

4 月份,LayerZero 團隊介紹了他們的協議內安全功能的方法,稱為「穹頂(the dome)」和「預犯罪(pre-crime)」。關於穹頂功能的公開資訊很少,但

部落格文章

中提供了關於預犯罪是如何運作的線索。預犯罪模型基本上允許使用者應用程式(UA)定義一組特定的狀態,中繼器必須根據這些狀態進行驗證。如果這些狀態沒有得到驗證,中繼器就不會中繼交易。

注意,這些功能看起來是專有的,目前還沒開源。雖然概念上很強大,但很難獨立評估其有效性。

Multichain

Multichain 在最近的一篇文章中,

披露

了他們的一些安全措施,包括提及他們的橋接配置的一些安全功能:

1。 交易量限制和總交易額限制:這一功能允許交易量較大的區塊鏈被限制在一個特定的上限。另外,對於交易量較低的區塊鏈,則採用總交易額限制的方式。

2。 鏈上監控:這種模式涉及監控軟體和鏈上看門狗,以檢測異常行為並觸發突發事件響應行為。

3。 產品暫停:這一功能允許暫停所有產品,並在實施突發事件響應行為時有效將所有產品暫停。

4。 安全基金:這實際上是一個保障基金,拿出所有跨鏈費用的 10% 補償使用者在特殊情況下的財產損失。

Nomad

Nomad 利用

optimistic verification model

,即訊息在原始鏈上簽名,並有一個內建的時間視窗會在目標鏈上強制執行。在某種程度上,我們可以觀察到這類似於「不早於這個時間開啟這封信」。這段時間對於實施「自動斷路器」和在 Merkle 根被認為有效之前停止轉移資產是有用的。這在

Nomad 文件

中已作為一個概念出現,開發似乎正在進行中。

Wormhole

Wormhole 的訊息傳遞模型是群播(multi-cast)的,即訊息由守護者/預言機網路從原始鏈進行公證,並且不信任將該訊息帶到目標鏈的中繼器。這種模式基本上需要一個非常強大的預言機網路,協議內安全功能有賴於此。

Wormhole 專案有三個主要的協議內安全功能正在開發中:監管、會計和緊急關閉。這些功能是在公開可見的情況下開發的,這讓我們能夠深入瞭解它們最終會如何運作。這些功能正在等待開發完成並被守護者採用。

1。 監管:這一功能在守護者/預言機中實現,允許守護者在一個時間視窗內監控來自任何受監管鏈的價值流動的名義金額。守護者可以為每條鏈設定一個可接受的上限,一旦達到這個上限,就會阻止這條鏈超出的資產流動。

2。 會計:這一功能在守護者/預言機中實現,允許守護者維護他們自己的區塊鏈(又稱「wormchain」),它們可以作為不同鏈之間的跨鏈賬本。這個賬本不僅可以讓守護者擔任鏈上的驗證者,還充當了一個會計外掛。守護者可以拒絕原始鏈沒有足夠的資金(驗證獨立於智慧合約邏輯之外)的跨鏈交易。

3。 關閉:這一功能在鏈上實施,允許守護者在意識到跨鏈橋存在的威脅後,達成共識暫時停止跨鏈橋上的資產流動。目前的實施方案允許透過擬議的實施方案中的鏈上函式呼叫來實現。

結語

在未來幾個月或幾年裡,我們相信安全將成為跨鏈橋之間拉大差距的地方。那些優先考慮安全問題的跨鏈橋更可能度過危機,不這麼做的跨鏈橋則很可能挺不過去。安全性可能曾經只是競爭優勢的一個來源,然而,現在它必須成為每條跨鏈橋都應優先考慮的首要功能。我們希望所有跨鏈橋團結起來,共同提升跨鏈橋安全技術水平。

在加密行業你想抓住下一波牛市機會你得有一個優質圈子,大家就能抱團取暖,保持洞察力。如果只是你一個人,四顧茫然,發現一個人都沒有,想在這個行業裡面堅持下來其實是很難的。

想抱團取暖,或者有疑惑的,歡迎加入我們。

感謝閱讀,我們下期再見!