Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin CryptoTax DeFAI Chain SAFU AGI Claude Me Claude Skill Claude Cowork
獨立知識媒體
與任何項目無關聯
DeFi 協議底層運作全解析:AMM、借貸、收益與風險
defi-bible.com
最新
介面顯示的價格是一回事,你實際拿到的又是另一回事:新手第一次碰到滑點該怎麼想  ·  為什麼你存進借貸協議的錢,利率每分鐘都在變?  ·  選擇權金庫不是萬能收益工具:什麼市場環境該用、什麼時候該避開  ·  「賄選」聽起來像犯罪,在 DeFi 治理裡卻是公開透明的商業機制:veToken 生態怎麼運作  ·  為什麼「等一下再看價格」反而更安全?TWAP 如何讓閃電貸攻擊失去意義  ·  三角套利:不用跨交易所、不用等提領,一筆交易裡繞一圈就能賺價差
名詞解析 · security-risk

Oracle Manipulation Attack

預言機操縱攻擊
security-risk intermediate

30 秒版 · 給沒耐心的人
攻擊者透過人為手段(通常是巨額交易)瞬間扭曲協議依賴的價格資料來源,讓智能合約基於錯誤價格執行清算、借貸或兌換等操作,藉此牟取不當利益的攻擊手法。
完整解說 +
01 · 這是什麼?

預言機操縱攻擊是什麼,跟一般認知的價格波動有什麼不同?

預言機操縱攻擊指的是攻擊者透過人為手段,在極短時間內刻意扭曲某個協議依賴的價格資料,讓這個協議依照這個被扭曲的錯誤價格,執行對攻擊者有利的操作。最典型的手法是:攻擊者在某個流動性較淺的資金池裡進行一筆巨額交易,瞬間把某個代幣的兌換價格拉高或壓低,如果剛好有另一個協議直接讀取這個資金池的即時價格作為預言機資料來源,這個協議就會誤以為市場價格真的發生了這麼大的變化,執行清算、超額借款或不對等兌換等操作。

跟一般認知的市場價格波動最根本的不同在於「人為刻意」與「瞬間性」:正常的市場價格波動反映的是真實的供需變化,即使波動劇烈,也是市場多方參與者共同作用的結果;預言機操縱攻擊則是單一攻擊者刻意製造出一個「暫時性、不反映真實市場共識」的錯誤價格,攻擊完成後(歸還借來的資金、平倉套利部位)這個扭曲的價格往往迅速消失,回到接近原本的水準,整個過程通常在一筆交易或極短時間內就結束。

02 · 為什麼存在?

預言機操縱攻擊為什麼會出現,為什麼這麼多協議會受害?

這類攻擊之所以能持續發生,根源在於部分協議在設計初期,為了追求即時性與簡單性,選擇直接讀取單一資金池的即時價格作為預言機資料來源,而不是採用更複雜但更抗操縱的設計(例如時間加權平均價格、多來源交叉驗證)。這個設計選擇在正常市況下運作良好,因為多數時候不會有人願意花費巨額資金去扭曲一個流動性充足的資金池價格;但如果這個資金池本身流動性不夠深,攻擊者只需要相對較少的資金,就能造成巨大的價格偏移,加上多數這類攻擊會搭配閃電貸使用,攻擊者甚至不需要準備任何自有本金,就能調動足以扭曲價格的巨額資金。

這個攻擊模式之所以歷史上反覆發生,也反映了 DeFi 生態系高度可組合的特性——越來越多協議直接依賴其他協議提供的價格資訊,這種依賴關係在正常時期能提升整體效率,但也讓單一環節(某個流動性較淺的資金池)的價格失真,有機會透過連鎖依賴關係波及到原本無關的其他協議。

03 · 如何影響你的決策?

預言機操縱攻擊具體怎麼執行,典型的攻擊步驟是什麼?

典型的攻擊流程通常包含以下步驟:

  1. 尋找目標:攻擊者尋找一個依賴單一、流動性較淺資金池即時價格作為預言機的協議,同時這個資金池對應的代幣,同時被另一個協議用作抵押品或計價基礎
  2. 借入資金:透過閃電貸借入大量資金(通常是資金池裡的其中一種代幣),這一步不需要攻擊者準備任何自有本金
  3. 扭曲價格:用借來的資金在目標資金池裡執行一筆巨額交易,因為資金池流動性不足以吸收這麼大的交易量,代幣的兌換價格會被瞬間大幅拉高或壓低
  4. 利用錯誤價格:在價格被扭曲的這個時間窗口內,立刻到依賴這個預言機的另一個協議執行操作——例如用被低估的抵押品借出遠超正常額度的資產,或者觸發一筆原本不該發生的清算並從中獲利
  5. 平倉套利:完成獲利操作後,攻擊者把之前的交易反向操作,讓資金池價格回到接近原本水準
  6. 歸還閃電貸:把最初借來的資金加上手續費歸還,整筆交易結束,攻擊者留下淨利潤

這整套流程的關鍵在於,因為閃電貸要求借款必須在同一筆交易內歸還,攻擊者完全不需要承擔任何價格波動或資金鎖定的風險,一旦攻擊邏輯設計正確,幾乎是無本金、低風險的套利操作,這也是為什麼這類攻擊在技術可行的情況下極具吸引力。

04 · 你該怎麼辦?

預言機操縱攻擊對一般用戶有什麼實際影響,該怎麼判斷一個協議是否容易受害?

對一般用戶而言,如果你存款的協議遭受預言機操縱攻擊,直接後果通常是協議資金池被掏空、你的存款可能無法足額贖回,這類攻擊造成的損失往往是立即且不可逆的,因為區塊鏈交易一旦確認就無法撤銷。這也是為什麼評估一個協議是否安全時,預言機設計的抗操縱能力應該是重點查驗項目之一,重要性不亞於智能合約審計報告。

幾個具體可以查驗的指標:協議的價格資料來源是單一資金池的即時報價,還是採用時間加權平均價格(TWAP)機制——後者能有效降低單筆巨額交易瞬間扭曲價格的影響;協議是否交叉比對多個獨立來源的價格,任一來源異常時是否有熔斷機制暫停相關操作;協議依賴的資金池本身流動性深度如何,流動性越淺,扭曲價格所需的資金門檻越低,也代表理論上越容易被攻擊;以及這個協議依賴的抵押資產,是否同時被其他協議大量共用,這關係到攻擊發生時波及範圍的大小。這些查驗不需要你看懂程式碼,多數協議的官方文件或審計報告會揭露預言機設計的具體方式,值得在存入資金前花時間確認。

實際例子 +

2020 年 2 月,借貸協議 bZx 連續遭受兩次預言機操縱攻擊:攻擊者利用閃電貸借入大量以太幣,在流動性較淺的去中心化交易所執行巨額交易拉抬某代幣價格,接著利用這個被扭曲的價格從 bZx 借出遠超正常額度的資產,兩次攻擊合計獲利約 100 萬美元,這起事件是加密貨幣史上較早被廣泛討論的預言機操縱案例,也促使後續多數協議開始重視時間加權平均價格等抗操縱設計。

常見誤解 +
✕ 誤解1
× 誤解:預言機操縱攻擊只會發生在小型、不知名的協議上,實際是:歷史上不少知名、鎖倉量龐大的協議都曾因為預言機設計缺陷遭受攻擊,協議規模大小不直接等同於預言機設計是否安全
✕ 誤解2
× 誤解:只要協議通過了智能合約審計,就能排除預言機操縱攻擊的風險,實際是:預言機操縱嚴格來說不完全是程式碼漏洞,而是整體系統設計對外部價格來源的信任假設出了問題,部分審計可能沒有把這個面向納入完整評估範圍
這件事跟你有什麼關係 +
直接影響

此為安全風險詞條,無正向取捨可言——預言機操縱攻擊對受害協議與用戶純粹是損失,沒有對應利益,唯一的「取捨」在於協議選擇讀取單一即時價格作為預言機來源的設計,能換取更快的反應速度與更低的技術複雜度,但代價是抗操縱能力較弱,這是協議設計階段的技術選型取捨,不是使用者能左右的選擇。

提問
請至少輸入 10 個字
更多相關主題