Discussion - Security 2, Session 9, DeFi Security Summit 2022
三句話摘要
DeFi 安全專家座談會,深入探討 TWAP Oracle 操縱防護、協議風險建模和業界常見的低效與危險做法。 DeFi 安全的核心不在於新穎技術,而在於對基礎學科(數值分析、密碼學、概率論)的嚴格遵循和細節上的一絲不苟。 TWAP Oracle 的多層防禦策略:改用中位數而非平均值可移除單點異常,添加異源價格交叉驗證確保偏離幅度有限,設定時間窗口內的波動上限,採用 95 百分位數過濾來消除被操縱的極端值。若協議自己持有部分流動性,可在偵測大交易時動態重新平衡以提高操縱成本。
重點整理
重點- 1
TWAP Oracle 的多層防禦策略:改用中位數而非平均值可移除單點異常,添加異源價格交叉驗證確保偏離幅度有限,設定時間窗口內的波動上限,採用 95 百分位數過濾來消除被操縱的極端值。若協議自己持有部分流動性,可在偵測大交易時動態重新平衡以提高操縱成本。
- 2
概率模型驗證攻擊可行性:需構建完整模擬涵蓋所有系統內借方與貸方,從鏈上歷史數據採樣,通過改變流動性集中度(假設頂級流動性提供者同時撤出)與市場波動率測試邊界條件。只有在既有協議狀態下才有強約束條件,新協議設計需特別小心 flashloan 等邊界情況。
- 3
批量測試漏洞的必要性:手工 bug injection 測試比自動化變種測試更精準,測試人員需植入真實觀察到的漏洞模式(變量混淆、位運算誤用為邏輯運算),確保測試套件不只覆蓋代碼路徑,更要捕獲這類語義缺陷。
實用技巧與重點
乾貨- TWAP Oracle 防護機制
- 計算方式:改用 median(中位數)而非 mean
- 價格驗證:與另一資料源交叉確認,確保偏幅 < X%
- 時間限制:區塊間價格變化幅度限制
- 離群值濾除:使用 95 百分位數而非全數平均
- 協議安全評估
- 資料來源:鏈上歷史數據(借方、貸方行為)+ 手調攻擊策略
- 模擬參數:不同流動性集中度、市場波動率
- 邊界掃描:現有鏈上狀態提供強上下界約束
- 常見危險做法
- Solidity 0.8+:重複使用 safe math(已內置)、safe transfer 使用不當
- AMM 開發:不懂數值分析導致舍入錯誤、Python 模型無視 EVM 舍入差異
- ZK 實現:50% 實現中 Fiat-Shamir 啟發式錯誤、照搬論文未驗證狀態機細節
- 治理設計:純治理代幣無實際功能卻被估值數十億美元、VE 模型過度複雜
結論
結論“DeFi 安全的核心不在於新穎技術,而在於對基礎學科(數值分析、密碼學、概率論)的嚴格遵循和細節上的一絲不苟。”
完整解析
詳細本次座談涵蓋了 DeFi 安全的三個核心層面。首先在風險建模上,Mudit 詳述了評估 Aave 攻擊風險的完整流程:他們構建了判斷攻擊獲利性的數學不等式,設計概率空間來量化攻擊成功率。具體方法是模擬系統內所有借方與貸方的行為,從鏈上歷史資料採樣,變動流動性集中度(假設頂級 LP 聯動撤出)和市場波動率,並掃描這些參數的上下界。他們同時採用 bug injection 法驗證測試覆蓋——由熟悉系統的工程師手工植入實觀察的漏洞類型如變量混淆、位運算誤用,確保自動化測試不只覆蓋路徑,更要捕獲語義缺陷。
其次在預言機安全上,Lee 從 Euler 角度解析了 TWAP 固有的脆弱性。TWAP 依賴歷史均價,單筆大交易或多次小額往返交易都能操縱平均值。改進方案分層次部署:用中位數抗掉單點異常、交叉驗證異源價格限制偏幅、設時間窗口波動限額、採 95 百分位數濾離群值。若協議擁有部分流動性,還能主動在偵測大交易時重新平衡以提高操縱成本。但在現有 DEX 結構上實施這些方案計算成本高昂,真正高效的解決方案需要未來的新型 AMM 或 TEX 原語支持。
最後三位講者將矛頭指向業界普遍的低效與危險做法,揭示這些才是真正風險所在。在 Solidity 層面,0.8+ 版本已內置 safe math 卻仍有人重複導入,safe transfer 也被誤用;在 AMM 開發中,許多人未受過數值分析訓練,導致舍入邏輯錯誤,卻計畫投入數十億資金;在密碼學實現上,50% 的 ZK 系統 Fiat-Shamir 啟發式有漏洞,或工程師機械地照搬論文而忽視狀態驗證細節;在經濟模型上,純治理代幣被估值數十億卻無實際職能,VE 模型等複雜設計也常被誤用。這些都反映一個共同問題:開發者急於優化性能或降低 gas,卻忽視了數學與密碼學的基礎。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

