DeFi Security Summit 2023 - Session 12: Vulnerabilities & Exploits - Xin Wang
三句話摘要
設計具有操縱抵抗力的鏈上 Oracle:透過經濟學分析權衡 liveness、流動性與防護成本的最優方案。 鏈上 Oracle 的安全不是二元的有或沒有,而是一場成本-獲利的競賽,設計者必須透過多維度權衡(流動性、liveness、偏差容差)確保攻擊成本永遠大於黑客收益。 區塊控制與成本的非線性關係:若攻擊者控制 1 個區塊,需在該區塊內將價格移動約 250,000 ticks;但控制 10 個連續區塊時,只需移動約 1/10 的幅度。這說明 PoS 環境下,大型驗證者若有不當行為,攻擊成本會大幅降低。
重點整理
重點- 1
區塊控制與成本的非線性關係:若攻擊者控制 1 個區塊,需在該區塊內將價格移動約 250,000 ticks;但控制 10 個連續區塊時,只需移動約 1/10 的幅度。這說明 PoS 環境下,大型驗證者若有不當行為,攻擊成本會大幅降低。
- 2
PoS 轉換改變了 Oracle 安全前景:在 PoW 時代,攻擊者無法預知誰將驗證下一個區塊,必須透過 MEV 競價來維持操縱 3 個區塊以上;PoS 後驗證者可提前知道自己的提議機會,這使得 Euler 等協議最終決定切換至更中心化但更安全的 Chainlink。
- 3
多維度設計權衡框架:在流動性固定的前提下,協議需在三個維度間權衡:(a) Oracle liveness(反應新數據的速度)與操縱抵抗成本,(b) 協議願容忍的價格偏差幅度,(c) 為 Oracle 配置的防守流動性。提高 liveness 必然增加操縱表面;縮小偏差容差需要更多流動性防守。
- 4
V4 Hooks 擴展設計空間:新的工具包括截斷預言機(大幅波動時逐步取樣)、集中流動性防守、與穩定池配對以借用深度、以及中位數機制等。幾何均值的指數性質保證越接近邊界越昂貴,配合費用機制能有效提升操縱成本。
實用技巧與重點
乾貨- 核心數據與例子:
- 操縱 USDC 30 分鐘 TWAP 20%:數百萬美元成本(深池),但淺池或多區塊控制下可達成
- 區塊控制與成本關係:1 個區塊 vs 10 個區塊 ≈ 10 倍成本差異
- PoS 後可預知性:驗證者可提前知道後續 32 個區塊的提議順序,大型驗證池可能連續控制多個區塊
- 工具與機制:
- TWAP(時間加權平均價格):幾何均值計算,每個區塊末的 tick snapshot
- Truncated Oracle:在檢測到異常大幅波動時逐步取樣(例如 500% 變化分 5% 逐塊吸收),若數據隨即反轉則丟棄
- Median Oracle、Medium Oracle 等變種
- 防守流動性:協議自行提供流動性防守自有 Oracle
- V4 Hooks:自訂邏輯層,可實現上述各種防守策略
- 設計框架四要素:
- 目標:明確 Oracle 用途(Perpetual、Lending、NFT 等)
- 約束:容忍的最大偏差、預期流動性規模、所需 liveness
- 分析:計算特定操縱成本是否大於預期獲利(邊際安全性)
- 審計:代碼審計 + 經濟安全分析
結論
結論“鏈上 Oracle 的安全不是二元的有或沒有,而是一場成本-獲利的競賽,設計者必須透過多維度權衡(流動性、liveness、偏差容差)確保攻擊成本永遠大於黑客收益。”
完整解析
詳細Uniswap Labs 研究員 Shin 在此次演講中系統性地分析了鏈上 Oracle 的經濟安全問題。背景是許多借貸協議(如 Aave、Compound)和衍生品協議都依賴 Oracle 確定抵押品價值,涉及數千億美元,而傳統中心化 Oracle 雖安全但存在審查風險,於是許多協議轉向 Uniswap 等 AMM 的去中心化價格源。然而,Euler 在以太坊 PoS 轉換後最終放棄了 Uniswap TWAP Oracle,改用 Chainlink,這反映了權益證明機制對 Oracle 安全的實質威脅。
演講的核心洞察是:操縱 AMM Oracle 的成本不是固定的,而是攻擊者能控制多少連續區塊的函數。在 PoW 時代,由於區塊提議者無法預測,攻擊者若想維持一個操縱的價格達 3 個區塊以上,就必須透過 MEV 競價贏得未來區塊的提議權,競價成本通常等於或超過獲利,因此攻擊實際上不可行。但 PoS 後,大型驗證者可以提前知道自己在接下來 32 個區塊中的提議時刻,甚至可能連續獲得多個提議機會,這讓攻擊者只需在已知的區塊內執行操縱策略,成本大幅下降。
設計更安全的 Oracle 本質上是一個受限優化問題。給定流動性水平,協議需在三個維度間權衡。首先是 Oracle 的反應速度(liveness)與操縱抵抗力:快速反應新價格的 Oracle 必然對瞬間的大額交易更敏感,從而更易被操縱;反之,滯後的 Oracle 更難操縱但反映真實市場價格的速度更慢。其次是協議願意容忍的價格偏差幅度,偏差容差越小需要的流動性防守越多。第三是投入多少防守流動性,可以是協議自有資金在 AMM 中提供流動性,或透過激勵機制吸引社區流動性。
Uniswap V4 Hooks 機制為 Oracle 設計開闢了新空間。演講提到的具體方案包括:截斷預言機(Truncated Oracle),當檢測到異常大的價格變化時,不一次性吸收新數據,而是逐個區塊分散吸收(例如 500% 的變化分成多個 5-10% 的步驟),若價格隨即反轉則丟棄該更新,這樣犧牲少量 liveness 但大幅提升抵抗力;集中流動性設計,利用 V3/V4 的幾何均值特性,靠近當前價格的流動性極端昂貴(因為 tick space 的指數成本),使攻擊者無法廉價地推動大幅波動;跨池配對,例如選擇與 USDC 或 USDT 等超深流動池配對,借用其流動性深度而無需從零開始,降低自身流動性成本。
演講強調沒有完美的 Oracle,所有 Oracle 都可以在足夠的資金和區塊控制下被操縱,關鍵是讓操縱成本遠高於潛在獲利。這要求協議對自己的 Oracle 需求進行清晰的經濟分析,計算攻擊成本是否大於預期收益,並設計相應的防守機制。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

