原文:《 L2Bridge Risk Framework 》
作者:bartek.eth
我和來自Socket 的Vaibhav Chellani 想要提議一個用來評估不同橋接架構安全概況的風險架構。
與各種L2 的風險框架一樣,我們的總目標在於,能夠快速將某一解決方案“分類”到具有相似特徵的某特定解決方案類別中,同時可以足夠細緻地向用戶呈現他們使用這些橋接時需要接受的安全假設有哪些。
我們主要關注在以太坊和其他鏈之間的橋接,因為我們即將在l2beat.com 上介紹這些(譯者註:目前橋接一欄已上線),但是,關於這些解決方案安全性的基本推理也適用於任何鏈與另一條鏈的橋接。此刻,我們正在尋找更廣泛社區對這個提議框架的反饋。
橋接類型
對於終端用戶來說,資產橋接是指從來源鏈(source chain)接收某種資產的存款,並將這筆資產打給處於目標鏈(destination chain)上的用戶。
比如,典型的橋接流程就是,Alice 將資金轉至A 鏈的橋接合約,而後Alice 在B 鏈上收到來自橋接的資金。
廣泛來說,這種流程有兩種發生方式:
- 基於消息傳遞的代幣橋接—— 這些橋接能讓流動性以消息傳遞的形式跨鏈流動。一般,它們允許一筆資產在來源鏈上鎖定或銷毀後,在目標鏈上鑄造出來。例子: Rollup 橋接、Polygon 原生橋接、Anyswap(anyCall)和Axelar 網絡。
- 流動性網絡—— 也有橋接會兌換一些已鑄造出來的資產。他們允許用戶將資產轉移至另一些鏈上,並假設這些資產已通過“消息傳遞”橋接(Message Bridge)提前將資產轉移過去。例子:基於Nomad 橋接的Connecxt、基於Hop Optimistic Bridge 的Hop、一些其他HTLC(Hash Time-Lock Contract,哈希時間鎖合約)和條件式轉賬(如nova 等)。
消息傳遞型橋接的安全性
在這一部分,我們會試著闡釋這些被多個橋接協議使用的驗證跨鏈消息的不同方式。如上圖所示,代幣橋接會利用消息傳遞型橋接的安全性。
- 輕客戶端驗證狀態有效性
描述:在目標鏈上驗證來源鏈狀態轉換有效性的橋接。該驗證過程通過零知識證明實現(狀態轉換過程伴隨著一個zk 證明的生成) 或是欺詐證明系統完成(允許獨立的驗證者就新狀態根的有效性提出爭議)。
例子:所有Rollup 都算是這裡的例子,L1 會通過FraudProof(欺詐證明)或ValidityProof(有效性證明)驗證L2 的狀態轉換。
- 輕客戶端驗證共識
描述:在目標鏈上驗證來源鏈共識的橋接。這取決於來源鏈所使用的共識機制,通常包括對當前驗證者委員會的quorum 簽名的檢查,如果其來源鏈使用的是PBFT 式的提議和投票(propose-and-vote)共識協議(如Tendermint、 HotStuff、Casper FFG 協議)。或者,如果來源鏈使用PoW 協議或“最長鏈”式的PoS 協議(如Ouroboros、ETH 2.0 LMD Ghost 等),則使用相關的分叉規則檢查最長鏈。
例子: NEAR Rainbow 橋接(忽略與NEAR 簽名機制驗證過程的複雜性相關的Optimistic 構成部分),Polygon 的PoS 橋接(檢查Heimdall 鏈的共識)以及Cosmos IBC(驗證另一條Cosmos 鏈的簽名)。
- 外部驗證者集
描述:使用外部驗證者作為事實來源的橋接,即形成一個獨立委員會的驗證者們,而不是來源鍊和目標鏈上的驗證者。這取決於這些驗證者所採用的實現,他們可能會使用MultiSig (多簽)、運行共識算法(通常是來自提議和投票的一類的算法)、使用Threshold Signature 機制(TSS,門限簽名機制)或SGX 等……無論它們使用什麼技術,都屬於這種驗證方式。
例子: Wormmhole、Multichain、Axelar、DeBridge、Synapse、Stargate。
- 樂觀式驗證
描述:具有挑戰期(challenge period,譯者註:指其他驗證者發現橋接消息無效時,可以對其有效性進行挑戰的時間段)的橋接。
這類驗證方式中的誠實一方會在此期間內避免納入欺詐信息。然而,這裡有幾個關鍵參數需要考慮:
- 挑戰期時長:越長越好
- Watcher 集規模:無需許可> 需要許可
例子: Hop Protocol、Connext Amarok、Across、Nomad Token Bridge。
- 混合驗證方式
描述:有一種混合以上各種驗證方式的結構。
流動性網絡的安全性
除了真的跨鏈發送資產以外,還有另一種的方法:跨鏈兌換(swap),只通過易手而不用跨鏈移動資產,就能進行跨鏈兌換。 (譯者註:易手即一方資產成為另一方所有,即資產所有者發生更換。)
舉個簡單的例子:A 鏈上的Alice 想要將資產轉至B 鏈。 Bob(流動性提供者,LP)在B 鏈上已經有了一樣價值的資產,他用自己在B 鏈上的這筆資產為Alice 在A 鏈上的餘額提供兌換服務,並收取服務費。最終,Alice 會獲得B 鏈上的那筆資產,Bob 則能獲得A 鏈上的那筆資產+ 服務費。
這部分僅描述了“兌換”協議的安全性,即LP 在接受了你在來源鏈上的存款後,有多大可能會攜款潛逃。這些兌換資產擁有鑄造出它們的消息傳遞型橋接的安全性。
也有一些其他兌換資產的方式:
- HTLC: 又稱哈希時間鎖合約,可以用於跨鏈兩方之間進行原子兌換資產。通常只需要用戶做兩步操作,一是鎖定,二是解鎖。可能發生的失敗情況是,你的資金會在固定的“休眠”期限內被鎖定。例子: Connext NXTP、Liqualit。
- 條件式轉賬(Conditional Transfer):允許LP 通過捷徑消息橋接,以此讓LP 可以在任何橋接資金時,立即為終端用戶提供資金,並從消息傳遞橋接中接收資金。在失敗情況下,如果沒有LP 提供流動性,則會激活慢速路徑(slow path)。例子: Hop、Connext Amarok、MakerDAO Teleport。
- 外部驗證者:讓用戶可以將資金轉至受信任的橋接提供者處,提供者會承諾釋放資金至另一條鏈上。這裡可能出現的失敗情況是,你的資金會丟失。例子:幣安
抗審查性
我們將了解橋接發出的單條消息被審查可能性有關的安全假設。更實際地,我們也將探究單條消息(代幣轉賬) 是否會被橋接所審查或是忽視,如果會被審查,用戶的資金會有什麼後果(這些資金會被返還給用戶,還是卡在“轉賬中”的狀態裡)。
典型的解決方案:
- 利用基礎鏈的抗審查性(例如,一些Rollup)
- 依賴於驗證者集的誠實
總體活性故障
在總體的活性故障方面,我們將來看看“關閉”橋接的後果。例如,對於使用外部驗證者集的橋接,我們可以看看在這些驗證者長時間離線(可能是無限期離線)的事件中用戶資金的安全性。一般可能發生的情況包括:
- 激活慢速路徑:默認模式為慢速路徑,不會損失資金
- 自己進行質押:用戶可以質押參與網絡,成為驗證者並自己處理卡住的轉賬事物
- 凍結:暫停系統,直到橋接運行方上線之前無法運行
流動性
在這一部分,我們將試著分析橋接資產可用的流動性。橋接可以鑄造資產嗎,需要LP 嗎,用戶可以一直提款或轉移他們選擇的任意數量代幣嗎,或者他們依賴於外部的LP,並且橋接可能會“耗完資金”。
- 不受限制(橋接可以鑄造原生/權威代幣)
- 需許可(由橋接運營商提供流動性)
- 無需許可(任何LP 可以提供流動性)
其他思考和指標
- 可升級性
- 需許可的行動者
- 過去24 小時內轉賬量
- 過去24 小時內的unique transfer(獨立地址轉賬)
- 可用的流動性
- 支持的代幣/區塊鏈