Multichain 倒下了 拿什么拯救跨鏈橋?

2023-09-03 20:22 MiddleX


Multichain 出事了,現在事件的進展還撲朔迷離,真相還未完全浮出水面。可以確定的是,爲 Multichain 提供流動性的 LP 們、以及持有 Multichain 發行的映射資產 anyToken 的用戶,恐怕是要遭殃了。這回受影響的資產數額太大,不知道會不會有人出來兜底。

7月6日,超過 1.26 億美元的資產從 MPC 托管地址中被人爲轉出,根據合約審計團隊 Beosin 的分析,資金的轉出完全是人爲操作,與合約漏洞無關,證明 Multichain 的MPC 托管地址私鑰已經被外力掌控。

在 7月 14日 Multichain 發布的官方聲明中,明確宣布了 Multichain 創始人 zhaojun 已經在 5 月 21 日被警方帶走的消息。然而令人大跌眼鏡的是,聲明中提到,Multichain 的 24 個 MPC 節點私鑰全部由 Zhaojun 掌握,且所有節點服務完全在其個人服務器中運行!

WTF!!!!!!!!!!!!!!!

現在事件的進展還撲朔迷離,真相還未完全浮出水面。可以確定的是,爲 Multichain 提供流動性的 LP 們、以及持有 Multichain 發行的映射資產 anyToken 的用戶,恐怕是要遭殃了。多籤橋的中心化風險,就像一只肥碩的灰犀牛,它就在那裏,大家都能看到,但又選擇性的忽略。關鍵這頭犀牛還馱着數百億美金的巨額資產!

目前,市面上 TVL 靠前的跨鏈橋幾乎全部都是多籤橋。在 Multichain 之前,已經發生過 Axie Infinity 官方橋 Ronin Bridge、Harmony Chain 官方橋 Horizen bridge 因私鑰泄露而爆雷的事件,分別造成 6.2 億美金和近 1 億美元的損失。

多籤橋爲什么不值得信任?

一般而言,跨鏈橋分爲三種,分別是輕客戶端型(原生驗證)、見證人型(外部驗證)、基於哈希時間鎖的原子交易型(本地驗證)。

其中基於哈希時間鎖的原子交易,由於其用戶體驗欠佳(需要用戶進行2次以上的操作),以及無法支持任意消息傳遞,鮮有採用。輕客戶端型跨鏈橋則由於其工程實現上相對困難、兼容新鏈的成本較高,目前僅被應用在一些僅需支持少數鏈的專用橋當中。見證人型跨鏈橋則开發實現較爲簡單、可以輕易的進行多鏈適配,且性能較好(速度快,費用低),而成爲大多數項目的選擇。

見證人型橋通過一組外部的 Bridge Nodes 對跨鏈消息進行共識籤名,以此來驗證消息的真實性,因此我們也稱之爲多籤橋。跨鏈橋一般採用 lock-mint 邏輯來鏈間傳遞資產,用戶通過 lock 源鏈上原生資產(例如 USDC ),來 mint 目標鏈上的映射資產 (例如 anyUSDC),這些 lock 的資產會成爲橋的 TVL,一旦被盜,用戶或者 LP 手中的映射資產將與原生資產脫錨,無法足額贖回。但這些外部的 Bridge Nodes 如果串謀,或者他們沒有保管好自己的私鑰碎片導致其中2/3以上被黑客獲取,這樣的事情就會發生!

大多數多籤橋,少則只有個位數的 Bridge Nodes,多則也就 2 0多個。在 TVL 較低時,這些主體可能不會去串謀作惡,但當多籤橋的 TVL 達到數億美金時,沒有人保證他們不會動心。如果利益足夠大,串謀 20 個節點,並不算很困難。這還沒有考慮到,很多跨鏈橋的諸多節點往往都是利息高度相關的“友商”,甚至一些跨鏈橋存在一個主體控制多個節點的情況,例如,Ronin Bridge 的 9 個節點中有4 個控制在 Star Mavis 公司手中, Multichain 的情況則更加過分,1 人掌握所有的 24個節點 !

一個成年人的標志是,不再相信人性經得起考驗。

跨鏈橋將如何改進?

Mulitichian 的事件對於跨鏈橋領域,或許將成爲一個轉型的契機。當大家都不再愿意容忍中心化帶來的安全風險時,“多籤橋”自然就玩不下去了。 如果說“多籤橋”主導的時代是跨鏈橋的 1.0 時代,那么1.0 時代正在加速離去,跨鏈橋 2.0 時代的主角必然屬於更加安全的跨鏈橋。

那我們應該用什么樣的跨鏈橋呢,跨鏈橋如何改進,才能在保證性能可接受的情況下,消除中心化風險呢?我們觀察到,業內主要有三個方向,分別是 ZKbridge、Optimistic Brige 和 TEE Bridge。

ZK Bridge

由於 ZK 敘事的升溫,近期將 ZK 技術用於跨鏈的探索也倍受關注,已經有不少該方向的項目獲得融資。

ZKBridge 是一種將 ZK 技術用於輕客戶端擴容的跨鏈橋方案。我們知道,輕客戶端跨鏈橋有着極高的安全性,其本質是由目標鏈的共識層直接驗證來自源鏈的消息,不引入任何第三方的信任假設,但輕客戶端需要不斷維護源鏈的區塊頭序列,此間需要對每個新區塊頭執行驗證,這帶來兩大難點:

  • 巨大的鏈上开銷,可能會使得橋不具備經濟可行性

  • 如果要做一個通用橋,每新增支持一條鏈,都需要至少开發兩個新的輕客戶端,兼容新鏈的成本較高,很難做成真正的通用橋。

引入 ZK 技術之後:

  • 可以在鏈下驗證新區塊頭,並將新區塊頭及其有效性證明(Zk Proof)一並提交到鏈上,鏈上可以直接驗證 ZK Proof,即可等效於驗證新區塊頭,但开銷可以大幅縮減。更進一步,還可以把用區塊頭對交易執行 SPV 驗證的過程也放到鏈上;

  • ZK技術簡化了輕客戶端的开發,鏈上輕客戶端僅需驗證 ZK proof,比驗證新區塊頭的合約邏輯要簡單許多。

但 ZKbridge 的性能極限依舊弱於多籤橋,以 EVM 爲例,驗證一個 ZK proof 的成本最低也在 500k gas,和多籤橋只需驗證一個籤名的 21k Gas 相比,高了了將近25倍,這最終還是會轉化爲前端用戶高昂的跨鏈費用。盡管通過批處理,可以讓多筆交易分攤一次處理的成本,但這又會帶給用戶較長的等待時間。

此外,Zkbridge 作爲輕客戶端橋,需要接入鏈支持智能合約,BTC 類的非智能合約鏈是無法接入的。

Optimistic Bridge

Optimistic 橋是對多籤橋信任根的改良。Optimistic 橋在多籤橋的基礎上,引入了挑战窗口期的概念和一個名爲“挑战者”的角色。

我們知道,一個消息在多籤橋中的傳遞過程是這樣的

① 發起:用戶在源鏈通過與 Source dApp 交互,發起跨鏈消息傳遞

② 鏈下籤名:消息被傳遞給 Bridge Nodes,完成共識籤名之後傳遞到目標鏈

③ 鏈上驗證籤名:目標鏈驗證該消息是否由正確的 Bridge Nodes 的籤名

④ 執行:驗證後的消息被提交給 Taregt dApp 進行執行

在Optimistic Bridge 中,消息在完成第 ③ 步之後,不會立刻進入第 ④ 步,而是會進入一個計時環節,計時結束後,如果沒有挑战者對該消息提出質疑,該消息才會進入執行環節,被 Taregt dApp 執行。

如果挑战者對消息進行質疑,那么該消息將被標記爲“不可信”,“不可信”消息將不會進入執行環節,挑战者將會把它提交會源鏈,由源鏈的仲裁合約進行仲裁,如果消息在源鏈真實存在則證明挑战者誤報,如果消息在源鏈並不存在則證明 Bridge Nodes 欺詐,籤名了虛假的消息。仲裁結束後,會給誠實的一方獎勵,而懲罰不誠實的一方。

通過該機制,Optimistic bridge 將多籤橋的信任根從 m-of-n,提升到了 1-of-n,只需要有一個誠實的挑战者,橋就是可靠的。

Optimistic Bridge 的缺點在於增加了用戶的等待時間,該時間一般會在 30min 左右,用戶必須等待挑战窗口期的結束,才能完成完成跨鏈操作,這在很多場景下都是行不通的,用戶並沒有這個耐心。實踐中, Optimistic Bridge 往往採用雙模型機制,小額轉账或是非敏感操作會直接跳過挑战窗口期,只有大額轉账或者敏感操作,才會有挑战窗口期,具體閾值可以由應用程序自定義,或是由用戶在前端自己選擇。

Optmistic Bridge 的機制無疑是對多籤橋的巨大改良,既保障了安全,也兼顧了性能。但可惜的是安全和性能並沒有真正意義上兼得,只是把安全優先還是性能優先的選擇權交給用戶,不能算是完美的解決方案。

此外,由於必須通過合約實現鏈上仲裁,該方案依舊不能支持BTC 類的非智能合約鏈。

TEE Bridge

TEE Bridge 是指在多籤橋的基礎上,要求所有節點必須使用 TEE 設備接入網絡。TEE 全稱爲可信執行環境 (Trusted Execute Environment),它是給定設備上運行的與主操作系統隔離的計算環境,就像一塊飛地 (Enclave),這種隔離是通過硬件強制實現的。

在 TEE Bridge 中,節點使用 TEE 設備保管私鑰碎片,籤名程序也完全在 TEE 中運行,外部黑客將很難竊取。與 ZKbridge、Optimistic Bridge 不同的是,TEE Bridge 是通過節點硬件來提升跨鏈橋的安全性,而非改變鏈上的驗證機制。

TEE Bridge 的優勢在於

  • 在提升安全性的同時,完全沒有在多籤橋的基礎上犧牲性能

  • 可以兼容 BTC 類的非智能合約鏈

但 TEE Bridge 依然存在內部串謀的風險。2/3 多數的節點如果串通,依然可以對橋發起攻擊。

BOOL :ZK-TEE Bridge

接下來,我要介紹一種更加巧妙的的跨鏈橋範式:ZK-TEE Bridge,它由跨鏈橋項目 Bool Network 首創。Bool Network 在 TEE Bridge 的基礎上,結合 ZK 技術,實現了節點的完全匿名,從而無法串謀,保障了橋的超高安全性。

Bool Network 本身是一個衆多 TEE 節點構成的非許可網絡,任何主體都可以通過 Bool Network 申請建立一個或多個 DHC(Dynamic Hidden Committee)。如果某個主體需要建立一座支持 10 條鏈的跨鏈橋,那就申請 10 個對應的 DHC 就可以了,每個 DHC 都管理着一組 MPC 私鑰分片,他們將會負責驗證和籤名跨鏈消息。

一個 DHC 一般會包含 10 到 20 個TEE 節點成員,具體由 DHC 的創建者來設置,籤名閾值一般是2/3,但 DHC 的創建者也可以設置更高的閾值。

Bool Network 會隨機的爲所有 DHC 分配成員,並且會定期洗牌,重新分配。借助 ZK 技術,Bool Network 可以實現分配成員的過程是完全隨機的,且分配完成之後,每個 TEE 節點都不知道自己被分配到了哪個 DHC,也不知道自己和哪些節點分到了一個 DHC,更不知道別的節點被分配到了哪個 DHC。這種感覺,就像參加假面舞會一樣,誰也不知道誰是誰!

這是通過 Bool Network 的 Ring VRF 算法實現的。具體來說,Ring VRF 在 DHC 分配節點成員的時候,會賦予每個 TEE 節點一個臨時身份,該臨時身份表現爲一個 ZK proof,可以證明某個節點屬於當前 DHC,但不暴露節點的具體信息。DHC 成員之間將通過臨時身份相互識別,並通過加密通訊完成 MPC 籤名的工作。在當前 Epoch 結束之後,Ring VRF 會重新洗牌所有 DHC 的成員,此時所有臨時身份都會失效,Ring VRF 將爲每個節點分配新的臨時身份。

總之,Bool Network 通過 ZK 技術與 TEE 技術的巧妙結合,實現了節點之間的完全匿名,杜絕了串謀的可能,在 TEE Bridge 的基礎上進一步提升了安全性。

小結

ZKbridge、Optimistic Bridge、TEE Bridge 都是很不錯的方案,它們都在試圖構建更加 Trustless 的跨鏈橋,消除中心化風險,提高跨鏈橋的安全性。但 ZKBridge、Optimistic 依舊存在性能上的犧牲和可擴展性上的短板,TEE-Bridge 則存在串謀攻擊的可能。

BOOL Network 提出的 ZK TEE-Bridge 則是一個從各方面都無可挑剔的方案,它的優勢包括:

  • 不犧牲的性能,跨鏈消息傳遞的速度和費用保持和“多籤橋”同一水平

  • 支持非智能合約鏈,且適配新鏈的工程量較低

  • 杜絕了 TEE 橋中可能存在的串謀風險,實現了不亞於輕客戶端橋的超高安全性

  • 本質上是一個去中心化的、Trustless 的籤名機,將不限於應用在跨鏈領域,而是可以擴展到預言機、分布式私鑰管理等領域

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

標題:Multichain 倒下了 拿什么拯救跨鏈橋?

地址:https://www.sgitmedia.com/article/9419.html

相關閱讀: