KeyFrame內部研究專用

Towards Verifiably Secure Governance, Nicolás Venturo - DeFi Security Summit 2022

DeFi Security Summit - DSS·10月19日週三·17 min英文

三句話摘要

去中心化金融協議的安全治理系統設計:從權限管理到延遲執行的完整框架。 安全的鏈上治理不只需要技術架構(權限系統、時間延遲),更需要一個綜合工具來可視化整個系統設計邏輯,讓簽署者真正理解他們在簽署什麼以及為什麼。 權限系統比地址所有制更優越:基於地址的簡單所有者模式(如OpenSeppelin的Ownable)無法提供細粒度控制,導致權力過度集中;基於權限的系統允許根據具體行為授予不同權限,代價是需要定義清楚每個操作ID,但一旦建立就能以一致方式擴展,無須為每個新功能修改核心合約。

重點整理

重點
  • 1

    權限系統比地址所有制更優越:基於地址的簡單所有者模式(如OpenSeppelin的Ownable)無法提供細粒度控制,導致權力過度集中;基於權限的系統允許根據具體行為授予不同權限,代價是需要定義清楚每個操作ID,但一旦建立就能以一致方式擴展,無須為每個新功能修改核心合約。

  • 2

    社會工程和DNS攻擊是實際威脅:簽署者可能被欺騙簽署錯誤權限(通過虛假Telegram消息、釣魚網站或DNS緩存投毒),與其防禦這些人類層面的攻擊,不如設計系統自身來應對這些現實。

  • 3

    時間延遲是關鍵防禦機制:重要操作不應立即執行,而應在最短延遲後執行,這段時間內允許審計和取消,大幅降低簽署者負擔且保護系統免受即時攻擊。

  • 4

    延遲時間應基於風險和反應能力:緊急操作需短延遲,高影響力操作需長延遲;必須考慮實際上能多快召集多簽人員進行應急響應,延遲設置應反映這個現實。

實用技巧與重點

乾貨
  • Balancer的Authorizer合約:單一函數 `canSomeAccountPerformSomeActionInThisContract`,基於Solidity函數選擇器(selector)加合約地址哈希生成權限ID
  • 權限映射方式:權限ID = hash(function_selector, contract_address),應附加chainID防止跨鏈碰撞
  • 治理工具參考:Uniswap Governance Seatbelt(現被Aave採用)執行基本檢查如驗證合約代碼、生成人類可讀報告
  • 基本檢查示例:驗證所有涉及合約已驗證;示例:liquidation threshold 從 1800 改為 8500
  • 簽署流程中的風險點
  • 信任欺騙(Telegram假冒)
  • 網站釣魚(錯誤域名訪問)
  • DNS緩存投毒
  • 複製粘貼錯誤(即使很謹慎的簽署者)

結論

結論

安全的鏈上治理不只需要技術架構(權限系統、時間延遲),更需要一個綜合工具來可視化整個系統設計邏輯,讓簽署者真正理解他們在簽署什麼以及為什麼。

完整解析

詳細

Nico在演講中開門見山地回答了一個基本問題:為什麼DeFi協議需要治理和特權訪問?雖然無須許可的完全去中心化系統是理想目標,但當前行業的不成熟度(特別是借貸協議中的參數調整和應急應對機制)使得這仍不可行。因此,特權訪問將在可預見的未來存在,關鍵是如何安全地設計和管理它。

在權限系統的架構設計上,Nico對比了兩種主流方法。基於地址的系統(如Ownable模式)極其簡潔——所有者可以執行任何操作——但當系統複雜度增長時,這導致權力過度集中和粗粒度控制。引入多個角色(owner、operator)雖然增加了細粒度,但每次添加新角色都要修改所有合約,造成代碼重複和維護地獄。更複雜的解決方案是讓owner本身是一個智能合約,但這導致合約調用鏈極其複雜。相比之下,基於權限的系統(permission-based)——簡言之就是檢查「該調用者是否有權執行此操作」——需要前期定義清楚每個操作(通過函數選擇器),但一旦建立,系統對所有操作都保持一致。Balancer的實現正是這種方式:一個Authorizer合約,所有權限檢查都通過它執行,權限由函數選擇器和合約地址的哈希唯一標識。

然而,這種哈希化帶來了新問題:權限ID本身對人類不可讀。Nico詳細講述了他們的解決方案——維護一份包含所有合約函數和對應權限ID的映射列表,並通過CI檢查確保其與鏈上合約同步。這使得在治理提案中引用權限變得可能。

但核心安全問題在於:建立了權限系統後,系統真的變安全了嗎?Nico指出,密鑰仍然可能被盜,但更重要的是他重新定義了威脅模型。他逐一列舉了現實攻擊場景:攻擊者可能通過Telegram冒充他本人,要求多簽者簽署某個權限授予交易,利用權限ID的不可讀性。即使簽署者試圖驗證,也可能被引導到釣魚網站、遭遇DNS攻擊或快取投毒。更現實的是,簽署者可能就是會犯錯誤,比如複製粘貼了錯誤的permission。所有這些場景的共同點是:它們在短時間內難以被發現,但給足時間(小時級別),異常就會露出馬腳。

基於這個洞察,Nico引出了時間延遲(time locks)的概念。任何關鍵操作都不應立即執行,而應在提交後、經過最短等待期後執行,且期間任何時刻都可取消。這給了簽署者和系統一個審計窗口:即使他們被騙簽署了錯誤的交易,在延遲期內也能發現並取消。這大幅降低了簽署者的負擔,因為他們不再是最終決策者,而是作為一個保障層。時間延遲的長短應該根據三個因素而定:操作的緊急性(暫停系統可能不需要延遲,但升級需要較長延遲)、操作的影響度(影響越大延遲應越長)、實際能多快召集決策者進行應急響應(如果是10人多簽,48小時內很難聚集,不現實設置太短延遲)。有趣的是,這些考量往往會反過來推動系統設計的改進:如果某個操作既緊急又高影響,可能說明需要拆分這個操作。

演講的最後,Nico指出了行業最大的缺陷:完全缺少一個綜合工具來理解整個治理系統。Uniswap的Governance Seatbelt做了第一步工作——驗證合約代碼、生成人類可讀報告(如「liquidation threshold從1800改為8500」)——但遠遠不夠。報告沒有告訴簽署者為什麼要改、何時改是對的、這個新值是否合理。所有這些答案其實設計者都有,但這些信息散落在代碼註釋、設計文檔、過往討論中,無法統一訪問。他的願景是一個能夠融合威脅模型、操作設計、延遲邏輯等所有信息的工具,能夠回答「當前有哪些操作待審計」「這個操作的風險是什麼」「為什麼要設這個延遲」「這個參數改動是否合理」等問題。這樣的工具應該是跨協議的中間層,適配不同協議的特殊性,為整個DeFi生態服務。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web3 安全」的內容

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️
8 min
Web3 安全英文8月14日

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️

Zach Humphries

  • 機構支撐的積極意義:價格操縱常被視為負面,但Ripple掌握大量XRP供應與escrow,在熊市期間提高價格下限,實際上替零售投資者鎖定了低風險的積累區間,這不是剝削而是市場穩定機制。
  • 歷史模式驗證:2024年7月至11月XRP在50美分附近橫盤整理,低點觸及42美分(wick),高點65美分;隨後11月5日至12月5日單月上漲456%,年底到2025年初累計漲幅534%,這個歷史周期正在1美元價位重演。
  • 比特幣聯動邏輯:講者在4-5月就預測「如果比特幣跌至60k以下,XRP會跌至1美元或更低」,此預測精準應驗,反映出熊市中兩者的明確連動關係。
Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady
72 min
Web3 安全英文PODCAST8月5日

Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady

Zero Knowledge

  • 反向 Linux 架構:Commonware 刻意暴露棧各層級控制,讓開發者自訂執行環境、共識機制、密碼學實現,而非像 Cosmos SDK 只允許應用層以上定制。2-3 個月能組裝一條定製鏈,代價是額外深度但回報是長期維護成本降低及效能優化彈性。
  • 容錯假設的典範轉移:Alpine Glow(Solana 2025)實現單輪投票定終的關鍵是將容錯預算分離為獨立的 Byzantine 和 Crash 容限。傳統系統把 33% 當一個整體預算;新模型允許 20% 惡意加 20% 崩潰,打破了 PBFT 理論界線,釋放單輪設計空間。
  • Minimet 與 Multimet 的遞進:Minimet 是 5F+1 設定下的乾淨構造,實現更短視圖延遲;Multimet(剛發布)進一步允許並行 mini-commits 且驗證者可推翻領導者審查,使用者交易在全球分布式網路達到 200-300 毫秒端到端定終。
Private Information Retrieval (PIR) with Alex Hoover
64 min
Web3 安全英文PODCAST7月29日

Private Information Retrieval (PIR) with Alex Hoover

Zero Knowledge

  • PIR 保護的是訪問模式,不是資料本身
  • PIR 與加密不同,它關注的是隱藏「客戶端查詢了什麼」,而非「資料是否加密」。在公開資料庫(如區塊鏈)上,客戶端可以在不洩露查詢對象給伺服器的情況下檢索特定條目,解決了輕量級客戶端的隱私和防審查問題。
  • 客戶端預處理方案是突破瓶頸的關鍵