不再安全的TWAP預言機?VesperFi Fianance被黑事件分析
前⾔
11月3日,知道創宇區塊鏈安全實驗室 監測到 以太坊上的 DeFi 協議 VesperFi Fianance 遭遇預言機操控攻擊,損失超 300 萬美元。知道創宇區塊鏈安全實驗室 第一時間對本次事件深入跟蹤並進行分析。
攻擊流程簡析
攻擊分為兩部分:
第一部分:攻擊階段
交易哈希:
0x89d0ae4dc1743598a540c4e33917efdce24338723b0fabf34813b79cb0ecf4c5
1.攻擊者向 pool 添加(VUSD 對 USDC 為無窮大)的 0.1USDC 流動性
2.攻擊者通過 Swap 用 232k USDC 兌換走 pool 內正常的 222k VUSD 流動性
第二部分:套利階段
交易哈希:
0x8527fea51233974a431c92c4d3c58dee118b05a3140a04e0f95147df9faf8092
1.通過 Swap 將 222k VUSD 兌換為 2205MM fVUSD
2.將 2205MM 抵押置換成其他 pool 基礎代幣
攻擊原理分析
1.首要分析為什么黑客要進行兩次操作,而不通過同一攻擊合約完成操作?
解決這個問題首先我們要知道 Uniswap V3 使用的預言機為 TWAP 類型,該預言機功能為獲取一個時間周期上的交易平均價格,也就是說當價格已經發生改變時,該交易可能還並沒有處在 TWAP 獲取價格的時間周期中。
所以在黑客已經完成攻擊後,他並沒有急於兌換手中的 VUSD,而是等到價格發生變化時再入手。我們也確實可以看到套利階段發生在攻擊階段 10 塊高後。
攻擊交易哈希:
套利交易哈希:
2.至於添加流動性和兌換流動性得到解釋
在 Uniswap V3 中,只有一個區塊內對價格有影響的第一筆交易會被寫入預言機。因此添加過高的流動性可以讓 TWAP 發現並獲取到攻擊者指定的價格。而兌換走流動性則是讓 TWAP 發現前一步驟以及套利。
總結
本次安全事件的主角雖然是 VesperFi Fianance,但是更讓人關心的是 Uniswap V3 的 TWAP 預言機是否依然安全,可以觀察到並非 TWAP 預言機本身錯誤地獲取了價格,而是一個嚴重超高的價格被設置出來讓它獲取的,不可否認其存在局限性,但是本次事件最主要的問題還是流動性過於集中在預期價格附近很容易被操縱以及允許 pool 內單個代幣不合理的流動性被設置。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
Arthur Hayes 新文聚焦 | 全球貨幣政策的真相,比特幣接下來何去何從?
作為一名宏觀經濟預測者,我試圖基於公开數據和當前事件,作出能夠指導投資組合資產配置的預測。我喜歡“...
Ouroboros DeFi:為什么 Usual Money 被低估了?
前言:Ouroboros DeFi 方法論在Ouroboros DeFi收益基金,我們的投資策略始...
WEEX 唯客交易所贊助臺北區塊鏈周 支持更多全球用戶Onboard Web3
第三屆臺北區塊鏈周(Taipei Blockchain Week, TBW)於 12 月 12-1...