合約審核解讀| 區塊鏈,鏈條


2022 年6 月24 日,由Layer1 公鏈Harmony 開發的以太坊和Harmony 之間的資產跨鏈橋Horizo​​n 遭到攻擊,損失約1 億美元。

到底發生了什麼?

雖然黑客攻擊發生當天,但可以斷定屬於“公證人私鑰被盜”。既然尊貴的客人點擊了它,你不妨開始聊天。別著急,有一些硬核的源碼,但整篇文章都是白話易懂的

智能合約審計服務 分類和技術原理

Horizo​​n合約審計報告解讀

盜竊原因分析總結

一、跨鏈橋技術原理

跨鏈,顧名思義,就是如何在不同區塊鏈之間傳遞資產信息的問題,也稱為互操作性。目前有超過50 種跨鏈解決方案,其定義多種多樣。

1.1。有哪些跨鏈解決方案?

簡而言之,要在另一條鏈上實現資產價值不變,主要有兩條路徑,以“價格”為錨點,以“實物”為錨點

乍一看很複雜,但其實價格錨定的就是各個公鏈上的穩定幣USDT。它與美元1:1錨定,因此也是一種跨鏈資產。

除了各種穩定幣,更直觀的跨鏈解決方案是物理錨定,即總流動性是恆定的,解決方案有很多(公證人、側鏈、中繼鏈、哈希鎖等),我們專注於公證人模型。

公證人模式以“誰是公證人”為基礎,分為三個區別:

交易所作為擔保類型:比如幣安幣,各種交易都在中心化交易所進行,幣兌現

流動資金礦池過橋類型:如過橋。接下來,o3swap

合約鎖鑄:各種官方橋樑通用解決方案polygon/arbitrum/avax/celer,今日主角和諧

由於鎖定鑄件類型生成打包代幣,因此經常被各公鏈具有一定公信力的官方網橋使用。

以上各有優劣,還是怕交易所跑路, 智能合約審計 要么流動性耗盡,要么公證人的私鑰被盜。目前還沒有完美實現不可能三角的跨鏈解決方案。

下圖顯示了o3swap的總流動性和交易量的趨勢,在過去的六個月裡下跌了90%,可能是因為去年8月質押資產被盜案件的持續下跌。

1.2. 地平線橋的跨鏈原理

Harmony 開發的Horizo​​n 橋是一種非常標準的公證鎖鑄造類型。

為什麼可以信任鎖定鑄造?

這是因為區塊鏈上的合約是不可變的。如果沒有後門,一旦部署就無法影響其運行。就像官方無聊把所有權限都轉移到0地址一樣,放棄所有權之後,就沒有辦法影響了。任何進一步鑄造新猴子的方式,流動性總量都將被鎖定。

同理,雖然不同公鏈之間的合約不同,但是如果你在以太坊上用一個合約鎖定10 個ETH,你可以在另一個公鏈上用一個相同可信度的合約釋放10 個wETH。事實上,整體流動性是固定的。只要wETH 可以隨時轉回以太坊並兌換成ETH,那麼wETH 就可以認為具有與ETH 等值的價值。

所以它的核心操作是

Lock-and-Mint:A鏈鎖定代幣流動性+B鏈發行等量的可交易打包代幣

Burn-and-Release:B鏈銷毀打包代幣+A鏈解鎖等量基礎代幣的流動性

公證人:發現A鏈的Lock鎖事件後,去B鏈Mint鑄造錨通證,並轉移到目標地址。

自然衡量每個跨鏈橋的規模的最好方法是TVL(total value lock)。可以看到,6.24之後,Horizo​​n的TVL瞬間跌至谷底。當安全事件來臨時,無論有多少TVL來,它都會像流水一樣。蜂擁而散。

2、天橋合約審計報告解讀

對於很多Web3項目來說,如果一個事故不能100% 安全,基本上就等於0 值。因此,為了檢查合約的安全性,一般會測試和模擬各種攻擊場景,並通過檢查表進行安全審查,以確保合約的安全性。

開發可能只需要幾天,但如果足夠可靠,過程多且昂貴(一般以時間10W刀開始報價)

審計報告的核心信息是:風險名稱、漏洞描述、風險等級、安全建議、修復狀態和審計結果等。

Horizo​​n Bridge的合約審計報告由資深審計公司PeckShield進行,發現5個漏洞風險。

2.1. 中低風險點1——兼容性不足

是不是很難想像,連3 行代碼也會有bug?

其實鎖定token的邏輯很簡單,就是用戶指定數量和目標地址,授權代扣權限後,合約將USDT轉給該合約進行鎖定,並發送鎖定事件,這樣鏈下的公證人可以知道該資產已被鎖定。鎖定。

但是,PeckShield 審計發現LockToken 鎖定功能與通貨緊縮令牌不兼容。如果用戶傳入的金額為100,則發出自然Locked事件,成功鎖定100個代幣。

但如果它是一個“通縮”代幣呢?如果在safeTransferFrom 期間金額減少,我該怎麼辦?存在鎖倉量低於B鏈釋放量的風險

參見上一篇文章: [Source code interpretation] 你買的NFT 是什麼? bsc 智能合約審計

在標準協議中,使用虛函數作為鉤子,在傳輸前後添加邏輯。一些代幣可能會增加這裡的交易損失_beforeTokenTransfer,從而控制流通達到通貨緊縮。

當然,和諧最終還是要修改優化的,實際鎖倉量是通過轉賬前後兩次讀取餘額來計算的。

聲明:以上內容採集自VOCAL,作品版權歸原創作者所有內容均以傳遞信息為目的,不代表本站同意其觀點,不作為任何投資指導。幣圈有風險,投資需謹慎

Total
0
Shares
Related Posts