以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 聚幣 > Info

ING:從產品角度深層解析:跨鏈賽道設計邏輯

Author:

Time:1900/1/1 0:00:00

作者:0xOar

出品:SeerLabs

前言:

近期頻發的跨鏈安全問題吸引市場的廣泛關注,本文希望從產品設計的角度入手,給讀者講述為什么這個賽道的產品安全問題這么多。需要聲明的是,文章中所指出的問題并不是每個項目都會存在的,大部分問題在設計時都已經有了相關的應對策略,目的主要還是希望更多人可以理解這個賽道的復雜程度。

讓我們帶你先了解通用的跨鏈橋都是怎么設計的,再告知這些跨鏈橋可能會遇到的安全問題。

01

萬變不離其宗的跨鏈方案

之前的研報實際上已經向大家闡述過幾種不同類型的信息跨鏈方案,不論最終的呈現是什么樣的,從產品設計的角度來說,只有側鏈,哈希時間鎖定,公證人這三種機制。

側鏈

這三種方案中側鏈方案的安全性最高,比如各種不同的rollup和polkadot的平行鏈。主鏈和側鏈之間共享安全性。但是側鏈方案一般要求原鏈和目標鏈同構,這樣一來可適用的場景就要少得多。這也是為什么V神認為贊同多鏈,但不認可跨鏈的原因所在,因為無法共享安全性的跨鏈方案實在是問題太多了。

哈希時間鎖定

這種方案號稱是點對點的最去中心化的異構跨鏈方案,但是成本較高,用戶等待時間過長,導致當前的采用率并不高。且當我們依然需要一個第三方充當換幣中間節點時,也需要一個所謂的中間共識層去滿足安全性和去中心化的要求。

某用戶意外從Crypto.com收到巨額資金后用于消費被訴,法院批準其獲保釋:3月21日消息,一名為Jatinder Singh的客戶于2021年意外從加密交易所Crypto.com收到1040萬美元,隨后用于瘋狂消費,盡管310萬美元的資金仍下落不明,但他已獲準保釋。

3月20日,檢察官試圖說服法官,監禁是確保Singh不會逃離該國的唯一方法。但法官認為這不足以讓Singh入獄。相反,他解釋說沒收Singh的印度護照并阻止他在印度大使館申請新護照就足夠了。Singh與他的搭檔Thevamanogari Manivel一起面臨一系列盜竊指控,Thevamanogari Manivel是資金轉入銀行賬戶的所有者。兩人均對指控表示不認罪。他們繼續聲稱他們通過Crypto.com比賽理所當然地贏得了1040萬美元。提起訴訟后,維多利亞州最高法院裁定二人必須將資金退還給Crypto.com。(Cointelegraph)[2023/3/21 13:16:45]

公證人機制

這是當前最常用的異構跨鏈橋方案,市場上的大多數產品基本都同根同源,從產品設計的角度來說幾乎沒有區別。主要的區別可能集中在信息校驗的方式步驟,公證人的共識算法,托管錢包的簽名算法等。從使用體驗和安全性上的差別也都不太大。因此,從安全的角度來說,所面臨的安全風險也是有很多共性的。

本文將著重總結和分析公證人機制的跨鏈橋所面臨的一些具有共性的安全風險。

昨日Avalanche上新鑄造約2011枚BTC.b,近一半流入BenQi:金色財經報道,據 Dune 數據顯示,3 月 2 日,Avalanche 上新鑄造約 2011 枚 BTC.b,創單日最大 BTC.b 鑄造量,當日 BTC.b 總供給量增加至大約 8572 枚。其中,大約有 1000 枚 BTC.b 流入生態上的借貸市場 BenQi。[2023/3/3 12:41:07]

02

公證人機制的產品邏輯流程

在了解公證人機制所面臨的各類風險之前,我們需要先了解這種類型的方案從產品的角度來看,主要是什么樣的設計邏輯。

簡述

這種方案從設計哲學的角度來說其實非常簡單。當我們面向異構資產跨鏈的需求,最直觀的方案其實是“映射”。映射的意思是當用戶A將ETH從以太坊跨到Fantom上時。我們并不需要將資產實際轉移,或者在Fantom上重新發行。而是先將用戶A的ETH存到一個不能移動的地址,然后根據存在這個地址中用戶A的ETH數量,再在Fantom上發行對應的1:1的映射資產。映射資產代表了以太坊原鏈上那些ETH的使用權。因為有1:1的錨定,Fantom上的用戶也認可這個資產的價值。

最簡化的跨鏈流程

設計的難點

這里面會存在很多問題,其中最大的問題是多簽錢包的管理問題,因為ETH從以太坊跨到Fantom上是充幣,而如果用戶A還想跨回來那就會涉及到提幣的問題。

Lido V2引入Staking Router模塊化架構,允許任何人創建Lido staking模塊:金色財經報道,Lido發布推文稱,作為Lido V2的一部分,引入了Staking Router模塊化架構。Staking Router是一種升級,它將Lido staking operator registry轉變為模塊化 + 可組合的即插即用架構,允許Lido以更自下而上的理念轉向更模塊化的架構。任何人都可以提出一個模塊,每個驗證者池都被視為自己獨立的模塊。雖然Staking Router負責在所有模塊之間分配資源,但每個模塊都管理自己的內部運營商注冊表、存儲密鑰以及參與者之間的權益 + 獎勵分配。[2023/2/11 11:59:54]

充幣和提幣的去中心化和安全性就成為了最大的難點。

1.誰來管錢?2.誰來發起?3.誰來監聽交易?4.怎么確認確實有用戶轉錢進來了?5.怎么確認用戶的錢確實是用戶本人想提出去?6.怎么防止重放攻擊?7.發起失敗的交易怎么再次提交?8.多簽管理者作惡怎么辦?9.宕機怎么辦?

不敢想,越想感覺越復雜。跨鏈橋的技術不僅僅涉及到多簽,還涉及到資產發行,跨鏈監聽,異步驗證,甚至需要發行一個獨立的中間共識層。

因此為了進一步簡化用戶的理解難度,我將整個跨鏈的流程分為充幣和提幣兩個部分進行講解。以幫助大家更進一步了解。

流程的進一步細化

1.充幣

灰度比特幣信托(GBTC)負溢價首次超過50%:金色財經報道,TradeBlock數據顯示,灰度比特幣信托(GBTC)負溢價首次超過50%,一度達到50.06%。截至發稿時,負溢價小幅回落至48.66%左右。

此前消息,美國證券交易委員會(SEC)重申其拒絕GBTC轉換為現貨比特幣交易所交易基金(ETF)的申請是一致且公正的。

此外,灰度目前正被對沖基金Fir Tree起訴,Fir Tree尋求獲取有關GBTC的詳細信息,以調查灰度潛在的管理不善和利益沖突,希望灰度恢復贖回并削減其2%的信托費用。[2022/12/14 21:42:56]

先聲明一下,下圖所畫的流程只是我自己經過推演后的設計方案,沒有經過仔細的論證,目的是為了探究設計邏輯中所可能出現的安全問題,并不可以作為成型的方案去采用,全是瞎扯。

如圖所示:一筆從原鏈到目標鏈的充幣交易原則上會包含這些步驟。用戶充值到托管地址監聽器監聽到這筆交易后由BP發起交易合約驗證BP簽名的正確性是否有通過節點容錯機制如果沒有打回去,如果有的話根據映射地址的關系為目標鏈地址充值BP確認這筆充值交易通過拜占庭后將映射代幣轉給用戶在目標鏈上的地址

需要特別注意的是,這個流程旨在討論通用的異構跨鏈,所以相比于anyswap等方案增加了一步在中間共識層上讓用戶綁定地址關系的步驟。這主要是不同異構鏈交易附帶信息的方式不一樣,為了統一處理,干脆先讓用戶綁定好映射關系。如果處理的都是EVM鏈的交易則不需要這步,直接在發起交易時附帶目標鏈地址即可。

數據:兩億枚XRP從未知錢包轉移到未知錢包:金色財經報道,Whale Alert數據顯示,兩億枚XRP(價值約67,405,553美元)從未知錢包轉移到未知錢包。[2022/9/14 13:29:54]

回到正題,從上述的流程中可以看出,從第二步開始,就會遇到各類的邏輯驗證問題,和不同情況下的處理問題。

主要的驗證邏輯包括:監聽到交易后對發起資產映射和轉出到用戶A的目標鏈交易的驗證目標鏈交易的發起以及交易結果的驗證當然除了我流程中所畫的驗證邏輯之外,還應該包括對假幣充值問題的校驗,以及調用不同token時所需做的特殊處理問題。為了在后續更好的總結可能會出現的安全隱患,我們先繼續來理解提幣的流程。

2.提幣

提幣所演示的流程是目標鏈映射資產換回原鏈資產的邏輯,需要特別注意的是,當前很多代幣都發現了多個鏈的版本,也就是說很多代幣都在多個鏈上擁有原生代幣。因此,一些橋的項目往往會設立資產池。在資金池充足的情況下,讓用戶感受不到anyDAI這樣的映射資產的存在,而是直接換成目標鏈版本的token,但這并不影響整體的邏輯。所以,分析繼續.

如圖所示,一筆從目標鏈提幣到原鏈的交易流程如下:用戶發起交易驗證BP身份,由某個BP發起提幣請求確認提幣權限和簽名通過拜占庭后完成請求在原鏈提幣,把錢從原鏈的托管錢包里轉出來到用戶A如果這中間因為節點驗證出錯或者宕機等問題還要回滾重新發起從上述流程可以看出,這里面涉及的主要驗證邏輯有:發起和簽名權限的驗證問題出現后的容錯機制

安全風險

1.設計邏輯上的安全問題

較為仔細的了解了跨鏈橋的設計后,我們可以發現在設計邏輯上跨鏈橋面臨的挑戰非常多,總結一下主要包含三個方面的問題

?充幣

a)?充幣合約權限漏洞,導致充進去的錢直接被轉走。這是一個幾乎所有合約項目都會遇到的愚蠢的問題,b)?假幣充值問題,某些項目未對跨鏈Token的真實性做驗證,導致fakeTOKEN->realTOKEN,說實話這個也有點蠢。d)?假幣充值問題,ETH等原生資產不同于ERC20合約,很多攻擊都是由于對ETH特殊處理不當,導致fakeETH->realETH,這也是為什么WETH等wrapped資產流行的原因。c)?不同的Token雖然都是ERC20標準,但具體的實現方式不一樣,或者額外有別的邏輯,開發者沒有在適配時做好調研,像

?跨鏈消息轉移

在a鏈充幣完成后,到b鏈資產到賬前,跨鏈橋的處理像是一個獨立的區塊鏈系統,即需要一個共識機制,一般用dpos,以下都是假設用dpos的情況下需要考慮的問題,但我懷疑所有的節點都是項目方的,首先就具有中心化風險。a)?充幣消息監聽,誰來第一個發起跨鏈處理提案,隨機?還是輪流?還是按照中間共識層的出塊順序?b)?多個公證人如何驗證充幣的正確性,倘若數據源都來自infura等數據提供商,則infura是一個單點風險,最穩妥的是各自維護節點,這樣成本巨大。c)?如何確認跨鏈處理完了,沒處理完有幾種情況.i.?跨鏈橋沒有發起處理ii.?跨鏈橋發起處理了,但是驗證&共識沒有通過iii.?跨鏈橋驗證通過,但沒有在b鏈上發起交易iv.?b鏈上有交易,但失敗了

多重簽名驗證問題

問題多發的重災區,大多數都是代碼邏輯問題a)3/5簽名,我隨便構造不在多簽列表里的簽名,也算+1。b)?中心化問題,名義上是多簽,其實掌握在項目方手中,巨大的中心化風險c)?簽名驗證方法,不同鏈上的開發模式不一樣,導致開發者在對接的時候難免會有遺漏,wormhole例子:solana上的驗證簽名函數是系統合約里的一個函數,?正常應該去調用系統合約,系統合約的地址應該寫死在代碼里,?他們這里把系統合約地址是當做參數傳進來的,?黑客提幣時傳了個假的系統合約地址,就繞過了驗簽,順利把幣提走。

?退款

a)?如同-c中討論的,跨鏈狀態有很多種可能,在任何情況下都需要給用戶提供一個退款的方式,比如anyswap在充幣時會先在源鏈上給用戶發anyToken,然后再在目標鏈上給用戶發anyToken,然后把源鏈的anyTokenburn掉,這樣的目的就是不管問題出在哪,用戶都可以通過持有anyToken表示自己持有的資產。這個過程中有3條鏈和4個資產,非常容易出現代碼邏輯的問題。b)Thorchain在2021.7.23爆出的漏洞,黑客利用代碼邏輯問題,構造了一筆巨額假充值,跨鏈橋無法處理,就進入了退款邏輯,導致黑客拿到巨額退款。

2.其他的安全風險

但是通過邏輯流程所能展示的問題只是業務邏輯上的問題,并不是全部。從安全的角度出發,我們還應該考慮另外三個方面的風險

系統性的風險

比如原鏈的充幣一開始成功,后來回滾了,這是一個巨大的問題,v神討論過,資產從Solana跨到Ethereum,跨鏈完成后solana回滾,則用戶資產翻倍,沒有任何解法。但比如rollup這種和Ethereum共享安全性的layer2,就不會有這種問題。

前端的風險

a)?偽造的網址,比如oxdao.fi0xdao.fioxdai.fi等b)?Xss攻擊,即跨站腳本攻擊,是一種代碼注入攻擊,比如www.xxxx.finance/?params=hackerscode12345,雖然網址確實是官方網址,但是網址中攜帶了黑客的代碼,如果前端開發沒有注意防止xss,則這段代碼會在頁面上執行,導致用戶對黑客的轉賬交易授權簽名,因此不要打開來歷不明的鏈接。c)?Cors跨站服務攻擊,在嚴格的同源策略中,瀏覽器只允許加載來自本站點的內容,即www.xxxx.finance站點顯示的所有內容、調用的接口,都應該來自于xxxx.finance域名下,但目前絕大多數項目,都允許跨站調用,即xxxx前端可以調用quickswap的接口,反之亦然,這給開發上帶來了便利,但也帶來了風險.假如我訪問了xxxx.finance,在瀏覽器緩存里存入了一些敏感數據,然后我訪問了一個惡意網址,如果xxxx的同源策略沒有限制,則這個惡意網址可以隨意獲取xxxx存在緩存中的數據。

額外功能的風險

有些跨鏈橋項目,不止提供資產跨鏈,還提供跨鏈合約調用,這就帶來了額外的復雜性。攻擊者在a鏈發起一筆對b鏈上x合約的調用,跨鏈橋不管x合約是啥就直接調用了,沒想到x合約是跨鏈橋在b鏈上的多簽合約,這筆調用是將多簽賬戶改為攻擊者自己的地址,執行成功后,黑客可以隨意支配跨鏈橋在b鏈上的資金了。

03

結語

1.本報告的目的在于幫助用戶較為明確的理解跨鏈橋的安全風險所在,并非惡意的渲染跨鏈橋有多容易遭受攻擊。

2.公證人機制的跨鏈橋方案至少從目前來看是體驗最好,適用范圍最廣且成本最低的方案。并且任何產品都會經歷從傷痕累累到成熟的過程,區塊鏈產品所遭受的攻擊往往都是“邏輯問題”。這些問題隨著時間的推移和經驗的增加一定會越來越好。

掃描二維碼加入社群產品問題請關注Jackson個人推特探討?@0xOar

Tags:ETHINGTOKETOKENethnographyinbusiness答案Baby Tiger KingSuper miner token DecimalsAlgodex Token

聚幣
LLE:DAO 治理的局限性:為何無法將ENS運營總監從基金會除名?

原標題:ENS和DAO治理的局限性:為何無法將BrantlyMillegan從ENS基金會除名?作者:WillGottsegenfromCoindesk編譯及整理:AmyLiu上個月.

1900/1/1 0:00:00
EFI:布道江湖第45期 | 數字經濟DeFi新趨勢

《布道江湖》是布道區塊鏈打造的一檔有深度、有高度、有溫度的線上直播欄目,一起創造、規范以及完善屬于我們的江湖.

1900/1/1 0:00:00
Gnosis:漫談Crypto項目:光有創意和錢還遠遠不夠,執行力才是關鍵

原標題:所有的異見,都是時間的函數 撰文:Matti 編譯:Kxp,律動BlockBeats幾天前聽《三五環》播客,主播與Flomo創始人少楠的聊天中,提到「新技術并不代表好產品.

1900/1/1 0:00:00
ETF:淺談 AC 離開:將一人置于神壇,那必終將失望

原文標題:《將一人置于神壇,那必終將失望》本文梳理自CinneamhainVentures合伙人AdamCochran在個人社交媒體平臺上的觀點.

1900/1/1 0:00:00
ISC:是誰偷走了 110 億美元的以太幣?

文章作者:LauraShin?文章翻譯:Blockunicorn奧地利程序員和前加密貨幣CEO可能偷走了110億美元的以太幣.

1900/1/1 0:00:00
區塊鏈:一文教你如何追蹤鏈上資金流

作者:BowTiedPickle編譯:CaptainHiro以下是來自BowTiedPickle的一篇客座文章。我讀過他寫的一篇文章,并從里面學到了很多知識,因此我決定邀請他在這里寫一篇文章.

1900/1/1 0:00:00
ads