Mango Market駭客事件與預言機的局限性

126次閱讀

來源:Medium

編譯:比推 BitpushNews Derrick Chen

預言機是將有關某些鏈上或鏈下事件的資訊傳輸到 區塊鏈 上的工具。這可以是任何東西,從價格到數量再到天氣,盡管在本文中我們將討論價格的預言。DeFi 中,價格預言機用於在鏈上發布 加密貨幣 價格數據,這是 智能合約 的關鍵數據輸入。通過價格預言獲取的最粗略的數據將包括一個沒有異常值管理的單一交易工具。在最強大的情況下,各種數據提供者(Kaiko 就是其中之一)從各種 交易所 獲取輸入的值,應用異常值檢測,並將聚合提供給像 Chainlink 或 Pyth 這樣的預言機,然後根據他們從許多數據提供者那裡收到的值廣播一個總價值。

價格和預言機操縱

價格操縱漏洞是 DeFi 中最早和最常見的漏洞。在 2020 年夏天,隨著 DeFi 的騰飛,在預言機被廣泛使用之前,由於攻擊者會抬高流動性不足的代幣(通常是協議的原生代幣或 治理 代幣)的價格,導致大量協議的資金流失,從而導致膨脹他們自己頭寸的價值,並使用這個膨脹的價值來提取更多「有價值」的代幣,比如 ETHUSDC。在早期,協議通常會使用來自單個 DEX 的直接價格饋送,使得價格操縱相對容易。當協議會在推特上發布對漏洞利用的事後分析時,他們的回覆中會充滿「Chainlink 得修複此問題」,而且通常情況下,他們是對的。

預言機為應對此類攻擊提供了一層保護,盡管並沒有使攻擊成為不可能。例如,看看 借貸 協議 Inverse Finance 發生了甚麼,該協議今年受到了兩次打擊,首先是在 Sushiswap 上對 INV-ETH 進行了相對簡單的操作。

所需要的只是以很大的 ETH 交換 INV 來操縱價格,Inverse Finance 的預言機發現了這一點,從而使攻擊者可以耗盡資金。在 Sushiswap 上,價格達到了近 4,000 美元的高位;在 Uniswap V2 上,超過 15,000 美元;在 Coinbase 上,它達到了 490 美元的高位。不幸的是,Inverse 使用的 Keep3r 預言機完全依賴於 DEX 價格數據(在他宣布創建這些預言機的部落格文章中,創建者 Andre Cronje 承認它們沒有提供最佳 安全 性)。更強大的預言機可能會限制來自 DEX 的明顯錯誤值的影嚮,並在價格變動期間更多地依賴 Coinbase 和其他 CEX。

但是,這裡的預言機並沒有任何責任。預言機只是為協議提供數據的工具。在這種情況下,預言機完全按照設計執行:它使用較短的 TWAP(由協議設定)跟蹤 DEX 上的 INV 價格,並且沒有異常值檢測。只要預言機提供者有足夠的透明度,DeFi 協議就有責任了解他們使用的預言機是如何運作的,以及如何操縱用作輸入的價格饋送。對於在少數或沒有中心化交易所提供的非流動性和 / 或小市值代幣,價格操縱和預言機操縱相對容易;協議應認識到這一點並採取措施減輕其影嚮。

預言機的局限性

預言機不是靈丹妙藥,它有兩個主要限制:

1. 他們無法實施風險管理來限制協議市場操縱措施的影嚮

2. 輸出只能與輸入一樣好(或者一樣差)。

第一點是詼諧的,但比以往任何時候都更相關;去中心化永續期貨交易所的爆炸式增長——由 Avalanche 和 Solana 等 L1 和 Arbitrum 等以太坊 Layer 2 上更便宜的交易帶來——使反市場濫用措施(如頭寸限制)的重要性成為人們關註的焦點。例如,大約一個月前,一位交易員利用了 GMX 的預言機定價——它允許用戶以預言機價格開大頭寸而沒有滑點——以及精簡 AVAX 訂單簿以從不自然的價格變動中獲利。

Mango Markets 最近的漏洞利用(或者,根據您的意見,「高利潤的交易策略」)證明了第二點。簡而言之,攻擊者(或交易者)開立了 MNGO 永續期貨多頭頭寸,推高了 MNGO-PERP 所基於的預言機價格,並使用了未實現且短暫的「利潤」從 Mango 借款超過 4 億美元,耗盡了所有資金——價值超過 1 億美元。

這個時間線有甚麼啓示?對我來說,整個過程相對容易。無論出於何種原因,很少有 CEX 提供 MGNO(甚至 Binance 或 Kucoin!),只有 FTX、AscendEX 和 BingX 是具有任何有意義交易量的唯一交易所。在漏洞被利用之前,FTX 訂單薄得令人難以置信。

在價格變動前的幾個小時內,每個方向距離中點 1% 的總市場深度剛剛超過 2 萬美元。在 UTC 晚上 10:45,賣出深度(紅色)為 957 美元,買入深度(綠色)僅為 743 美元。

Mango 使用的 Pyth MNGO-USD 預言機反映了 0.155 美元的高價。在檢查每個發布者(即為預言機提供價格的數據提供者)時,有趣的是他們的收集和異常值檢測方法有何不同:一個發布者達到了 0.829 美元的高位,而另一個達到了 0.07 美元的高位。

預言機按設計執行,Mango 團隊承認這一點,並表示預言機提供者沒有過錯。代幣的流動性太差了,預言機的輸出只和它的輸入一樣好。

接下來是甚麼?

希望 DeFi 協議已經意識到,僅僅使用 Chainlink 或 Pyth 價格預言機並不能免除他們的風險管理。如前所述,去中心化期貨交易所是此類攻擊的主要目標,因為它們本質上是借貸協議的槓桿版本,通常是這些攻擊的標志。

正如 FTX 首席執行官 Sam Bankman-Fried 所詳述的那樣,FTX 的風險引擎使用自己的異常值檢測形式,並對較大的頭寸收取更高百分比的保證金(在 Mango Markets 上的 MNGO 頭寸必須在 FTX 上完全抵押),等等檢查。其他人則建議,可以根據預言機提供的流動性衡量標準(如買賣差價)來建立頭寸限制。這可能會給攻擊增加一定程度的難度,但我的直覺是,一個老練且資本充足的攻擊者將能夠欺騙流動性,尤其是在僅在少數交易所提供代幣的情況下。

值得一提的是,參與 Mango 漏洞利用的一名攻擊者在推特上表示,借貸協議應存儲 24 小時滾動預言機價格,並要求新頭寸在當前預言機價格和滾動價格下均有效。這實際上似乎是一個很好的解決方案

隨著 熊市 的拖延,我預計會看到更多、資本化程度更高的利用這種方式的嘗試。上面提到的同一位攻擊者詳細介紹了 Aave V2 的理論利用,使用 1 億美元的啓動資金來抽取 REN,並可能從協議中消耗 5 億美元。

解決方案的組合——使用預言機、限制(或不提供)對非流動性代幣的槓桿作用、使用更長的滾動價格來開設新頭寸等等——對於防止未來此類攻擊至關重要。

以太全書
版權聲明:本站原創文章,由 以太全書 2022-10-24發表,共計2539字。
轉載說明:除特殊說明外,本站文章如需轉載請註明出處。