比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 波場 > Info

跨鏈橋為什么會有這么多低級事故?_KEN

Author:

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

原文標題:《跨鏈橋為什么這么多事故?》

原文作者:0xScope團隊

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

文章的撰寫邏輯是:先講清楚通用的跨鏈橋都是怎么設計的,加深讀者對跨鏈橋的理解,再總結這些跨鏈橋可能會遇到的安全問題。

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

這三種方案中側鏈方案的安全性最高,比如各種不同的 rollup 和 polkadot 的平行鏈。主鏈和側鏈之間共享安全性。

但是側鏈方案一般要求原鏈和目標鏈同構,這樣一來可適用的場景就要少得多。這也是為什么 V 神認為贊同多鏈,但不認可跨鏈的原因所在,因為無法共享安全性的跨鏈方案實在是問題太多了。

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

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

ZenGo:從Polygon官方跨鏈橋轉至以太坊的ERC-20代幣中有價值超2700萬美元的資產并未被申領:11月29日消息,加密貨幣錢包ZenGo發布文章稱,在研究對Polygon的支持時,發現Polygon官方跨鏈橋合約在以太坊端相較Polygon端多出了價值約2700萬美元的資產。

ZenGo稱,此舉或由于從Polygon上通過官方跨鏈橋跨鏈至以太坊后需要手動申領跨鏈的代幣,但很多用戶并未執行申領操作。其中,0x0076開頭的地址從Polygon上向以太坊跨鏈轉賬超812枚WETH和超54枚WBTC(總價值超200萬美元)但均未在以太坊端進行申領。[2022/11/29 21:08:25]

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

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

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

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

IPFS創始人發布Filecoin整體規劃:擬打造跨鏈橋、構建和以太坊虛擬機的兼容性等:9月21日消息,在由萬向區塊鏈實驗室主辦的第八屆區塊鏈全球峰會上,IPFS創始人Juan Benet發布題為《Filecoin整體規劃》的主旨演講,Filecoin整體規劃分為3個階段:1.搭建世界上最大的去中心化存儲網絡;2.上傳人類各種數據,并且開發大規模的數據的載入管道;3.將數據和計算相結合。

Filecoin已實現第一階段并正在關注第二階段,Filecoin正通過幾個大的項目,來實現這個階段的目標。今年年初全網大概有20pb的數據使用,而現在已升至185pb。此外,在第三階段,Filecoin計劃將在明年第一季度為Filecoin虛擬機引入可編程性從現在到明年的第一季度,Filecoin將會推出一系列的測試網,讓很多團隊可以基于測試網進行構建。Filecoin也在構建和以太坊虛擬機的兼容性,也就是說開發者可以直接調用以太坊FVM的合約,不需要做任何的變更,最多是改變一下部署路徑,就可以去部署。Filecoin還有一個非常重要的維度,就是打造與其他區塊鏈連接的跨鏈橋。[2022/9/21 7:11:14]

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

1:誰來管錢?

2:誰來發起?

3:誰來監聽交易?

4:怎么確認確實有用戶轉錢進來了?

5:怎么確認用戶的錢確實是用戶本人想提出去?

6:怎么防止重放攻擊?

7:發起失敗的交易怎么再次提交?

8:多簽管理者作惡怎么辦?

9:宕機怎么辦?

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

BHEX Chain正式推出跨鏈橋BBS解決方案:據官方消息,去中心化跨鏈DeFi基礎設施的BHEX Chain,面向各公鏈、項目正式推出了BBS(BHEX Bridge Solution)跨鏈橋解決方案。

BHEX Chain目前已支持并平穩運行包括DOGE、BTC、ETH等6條主流公鏈,并即將支持Polygon、NEAR、Solana等公鏈。BHEX Chain可實現幫助多公鏈及其生態資產以去中心化方式快速安全的無障礙流通;為DeFi項目解決多鏈快速啟動及資產流通問題;幫助用戶完成多公鏈間資產兌換等跨鏈操作。

BHEX Chain基于已獲美國和歐洲專利的Bluehelix私鑰分片技術,完全去中心化實現跨鏈服務,節點由派盾、慢霧、TokenInsight等三方機構運行,私鑰由節點分布式托管和簽名,多層節點體系保障跨鏈資產安全。BHEX Chain已上線HDEX去中心化交易所及BHEX Wallet錢包應用。[2021/8/3 1:31:00]

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

1:充幣

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

如圖所示:一筆從原鏈到目標鏈的充幣交易原則上會包含這些步驟:

(1)用戶充值到托管地址

(2)監聽器監聽到這筆交易后由 BP(共識節點也是多簽管理員)發起交易

YouSwap于4月10日上線ETH/HECO跨鏈橋:據YouSwap最新消息,平臺將于4月10日12:00上線ETH/HECO跨鏈橋兌換功能,并將在下午18:00開啟HECO頭礦,具體時間以官網為準。

去中心化交易所YouSwap于3月26日,正式上線并開啟流動性挖礦,第一條公鏈搭建在以太坊網絡上,第二條公鏈HECO將于4月10日上線。并同時開啟“From ETH to HECO”的跨鏈橋兌換功能,用戶可以通過跨鏈橋功能實現資產從ETH主網到火幣主鏈HECO的跨鏈轉換。目前YouSwap支持YOU/USDT、BTC/USDT、ETH/USDT、YOU/UNI、YOU/LINK、YOU/ETH6個交易對的流動性挖礦及YOU的單幣挖礦。截至4月6日15時,平臺挖礦產出市值總計275758.24(USDT),累積交易總額達1481810.11(USDT),YOU 價格報$0.56,漲幅達1120%。[2021/4/6 19:50:16]

(3)合約驗證 BP 簽名的正確性

(4)是否有通過節點容錯機制

(5)如果沒有打回去,如果有的話根據映射地址的關系為目標鏈地址充值

(6)BP 確認這筆充值交易

(7)通過拜占庭后將映射代幣轉給用戶在目標鏈上的地址

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

如果處理的都是 EVM 鏈的交易則不需要這步,直接在發起交易時附帶目標鏈地址即可。

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

以太坊跨鏈橋Secret Ethereum Bridge為ERC-20代幣提供隱私性:隱私公鏈Secret Network現在為以太坊區塊鏈和14個ERC-20代幣提供隱私功能。根據官方博客文章,Secret Network已在主網上啟動了其Secret Ethereum Bridge,旨在允許以太坊(ETH)和所有ERC-20代幣持有者創建具有隱私功能的可編程版本的資產。Secret Network還表示計劃從一月份開始推出Bridge挖礦獎勵。加密用戶可以通過將資產鎖定在Secret Ethereum Bridge上而獲得SCRT代幣。(Cointelegraph)[2020/12/16 15:20:14]

主要的驗證邏輯包括:

(1)監聽到交易后對發起資產映射和轉出到用戶 A 的目標鏈交易的驗證

(2)目標鏈交易的發起以及交易結果的驗證

當然除了我流程中所畫的驗證邏輯之外,還應該包括對假幣充值問題的校驗,以及調用不同 token 時所需做的特殊處理問題。為了在后續更好的總結可能會出現的安全隱患,我們先繼續來理解提幣的流程。

2:提幣

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

如圖所示:一筆從目標鏈提幣到原鏈的交易流程如下:

(1)用戶發起交易(轉等量的映射資產到目標鏈上的托管錢包)

(2)驗證 BP 身份,由某個 BP 發起提幣請求

(3)確認提幣權限和簽名

(4)通過拜占庭后完成請求在原鏈提幣,把錢從原鏈的托管錢包里轉出來到用戶 A

(5)如果這中間因為節點驗證出錯或者宕機等問題還要回滾重新發起

從上述流程可以看出,這里面涉及的主要驗證邏輯有:

(1)發起和簽名權限的驗證

(2)問題出現后的容錯機制

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

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

(1)?充幣

a)?充幣合約權限漏洞,導致充進去的錢直接被轉走。這是一個幾乎所有合約項目都會遇到的愚蠢的問題,

b)?假幣充值問題,某些項目未對跨鏈 Token 的真實性做驗證,導致 fakeTOKEN?->?realTOKEN(anyswap),說實話這個也有點蠢。

c)?假幣充值問題,ETH 等原生資產不同于 ERC20 合約,很多攻擊都是由于對 ETH 特殊處理不當,導致 fakeETH?->?realETH,這也是為什么 WETH 等 wrapped 資產流行的原因。(thorchain)

d)?不同的 Token 雖然都是 ERC20 標準,但具體的實現方式不一樣,或者額外有別的邏輯(rebase,fallback 等),開發者沒有在適配時做好調研,像(WETH、PERI、OMT、WBNB、MATIC、AVAX) 等在轉賬完成后還會去調用 sender 自定義的 fallback 函數做額外的操作,增加了跨鏈橋判斷的復雜性?(anyswap?2022.1.18)

(2)?跨鏈消息轉移

在 a 鏈充幣完成后,到 b 鏈資產到賬前,跨鏈橋的處理像是一個獨立的區塊鏈系統,即需要一個共識機制,一般用 dpos,以下都是假設用 dpos 的情況下需要考慮的問題,但我懷疑所有的節點都是項目方的,首先就具有中心化風險。

a)?充幣消息監聽,誰來第一個發起跨鏈處理提案,隨機?還是輪流?還是按照中間共識層的出塊順序?

b)?多個公證人如何驗證充幣的正確性,倘若數據源都來自 infura 等數據提供商,則 infura 是一個單點風險,最穩妥的是各自維護節點,這樣成本巨大。

c)?如何確認跨鏈處理完了(b 上到賬了),沒處理完有幾種情況:

i.?跨鏈橋沒有發起處理

ii.?跨鏈橋發起處理了,但是驗證&共識沒有通過

iii.?跨鏈橋驗證通過,但沒有在 b 鏈上發起交易

iv.?b 鏈上有交易,但失敗了(資金不夠或者別的情況)

(3)多重簽名驗證問題

問題多發的重災區,大多數都是代碼邏輯問題

a)?3/5 簽名,我隨便構造不在多簽列表里的簽名,也算+1(chainswap)。

b)?中心化問題,名義上是多簽,其實掌握在項目方手中,巨大的中心化風險。

c)?簽名驗證方法,不同鏈上的開發模式不一樣,導致開發者在對接的時候難免會有遺漏,wormhole 例子: solana 上的驗證簽名函數是系統合約里的一個函數, 正常應該去調用系統合約,系統合約的地址應該寫死在代碼里, 他們這里把系統合約地址是當做參數傳進來的, 黑客提幣時傳了個假的系統合約地址,就繞過了驗簽,順利把幣提走。

(4)?退款

a)?如同(2)-c 中討論的,跨鏈狀態有很多種可能,在任何情況下都需要給用戶提供一個退款的方式,比如 anyswap 在充幣時會先在源鏈上給用戶發 anyToken,然后再在目標鏈上給用戶發 anyToken,然后把源鏈的 anyToken?burn 掉,這樣的目的就是不管問題出在哪,用戶都可以通過持有 anyToken 表示自己持有的資產。這個過程中有 3 條鏈(源、目標、跨鏈橋)和 4 個資產(源鏈和目標鏈上的原始 Token/anyToken),非常容易出現代碼邏輯的問題。

b)?Thorchain 在 2021.7.23 爆出的漏洞,黑客利用代碼邏輯問題,構造了一筆巨額假充值,跨鏈橋無法處理,就進入了退款邏輯,導致黑客拿到巨額退款。

2:其他的安全風險

但是通過邏輯流程所能展示的問題只是業務邏輯上的問題,并不是全部。

從安全的角度出發,我們還應該考慮另外三個方面的風險:

(1)系統性的風險

比如原鏈的充幣一開始成功,后來回滾了,這是一個巨大的問題,v 神討論過,資產從 Solana 跨到 Ethereum,跨鏈完成后 solana 回滾,則用戶資產翻倍,沒有任何解法。

但比如 rollup 這種和 Ethereum 共享安全性的 layer2,就不會有這種問題。

(2)前端的風險

a)?偽造的網址,比如 oxdao.fi 0xdao.fi oxdai.fi 等。

b)?Xss 攻擊,即跨站腳本攻擊,是一種代碼注入攻擊,比如www.xxxx.finance/?params=hackerscode12345, 雖然網址確實是官方網址,但是網址中攜帶了黑客的代碼,如果前端開發沒有注意防止 xss,則這段代碼會在頁面上執行,導致用戶對黑客的轉賬交易授權簽名,因此不要打開來歷不明的鏈接。

c)?Cors 跨站服務攻擊,在嚴格的同源策略中,瀏覽器只允許加載來自本站點的內容,即www.xxxx.finance站點顯示的所有內容、調用的接口,都應該來自于 xxxx.finance 域名下,但目前絕大多數項目,都允許跨站調用,即 xxxx 前端可以調用 quickswap 的接口,反之亦然,這給開發上帶來了便利,但也帶來了風險:

假如我訪問了 xxxx.finance,在瀏覽器緩存里存入了一些敏感數據,然后我訪問了一個惡意網址,如果 xxxx 的同源策略沒有限制,則這個惡意網址可以隨意獲取 xxxx 存在緩存中的數據。

(3)額外功能的風險

有些跨鏈橋項目,不止提供資產跨鏈,還提供跨鏈合約調用,這就帶來了額外的復雜性。

攻擊者在 a 鏈發起一筆對 b 鏈上 x 合約的調用,跨鏈橋不管 x 合約是啥就直接調用了,沒想到 x 合約是跨鏈橋在 b 鏈上的多簽合約,這筆調用是將多簽賬戶改為攻擊者自己的地址,執行成功后,黑客可以隨意支配跨鏈橋在 b 鏈上的資金了(poly?network)。

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

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

Tags:ETHECO以太坊KEN手機直接玩togetherbnbfilecoin幣價格今日以太坊幣今日價格行情查詢Dapp Token

波場
ENS深度分析:龍頭地位不可撼動 但缺少代幣賦能機制_ETH

作者:W3.Hitchhiker原文標題及鏈接:《ENS 撥云見日 ——?項目與交易數據分析》編者按:此文發布的時間為7月18日,文中引用數據均為以往數據,已做說明.

1900/1/1 0:00:00
以太坊即將合并 如何從中找到超額收益機會?_Merge

以太坊合并是行業最重要的事件之一,除了持倉ETH躺平外,還存在著超額投資的機會。作者:CryPto33寫在前面的話:首先澄清,我已經有ETH相關的倉位了,所以存在屁股決定腦袋的可能:)請大家主要.

1900/1/1 0:00:00
NFT 戳中了誰的消費點?_PEN

來源:陜西日報 本報記者 柏樺攝 (責編:鄧楠、吳超) NFT是Non-Fungible Token的簡稱,指基于區塊鏈技術的非同質化代幣.

1900/1/1 0:00:00
NFTFi賽道版圖概覽_FTX

NFT市場從去年一月份開始爆發,并在去年一年成為引領市場的熱點領域。根據Dune Analytics的數據,在今年1月時,NFT市場的周交易額達到了61.5億美元.

1900/1/1 0:00:00
以太坊:即將到來的ETH2.0 對用戶會產生怎樣的影響?_POS

在拖延了很多次之后,合并的確切發布日期似乎將近。ETH從工作證明(Pow)向權益證明(PoS)的遷移,也被稱為“合并”,預計將于2022年9月19日結束.

1900/1/1 0:00:00
對話 Web3 創業者郭宇與 Sota Watanabe_WEB

作者:夏目英男 East Ventures / 李路成 Z Venture Capital本次采訪由 Astar Network 的早期投資人 East Ventures 的夏目英男負責采訪及主.

1900/1/1 0:00:00
ads