KeyFrame內部研究專用

MarkToda

DeFi Security Summit - DSS·9月7日週四·12 min英文

三句話摘要

Uniswap V4 透過 Singleton 與 Flash Accounting 模式重新架構智能合約設計,在不妥協安全性的前提下改進跨池交互效率。 Uniswap V4 通過 Singleton 與 Flash Accounting,實現了高效的多池交互與跨協議集成,依靠 Transient Storage 降低成本,同時保持了不變量驗證的完整性和安全水平。 傳統設計的瓶頸:V1、V2、V3 中每個池是獨立合約,跨池操作必須在中間完全結算。例如 WETH → USDC → DAI 的交換,USDC 必須從第一個池轉回 router,再轉入第二個池,產生不必要的轉賬和 gas 浪費。

重點整理

重點
  • 1

    傳統設計的瓶頸:V1、V2、V3 中每個池是獨立合約,跨池操作必須在中間完全結算。例如 WETH → USDC → DAI 的交換,USDC 必須從第一個池轉回 router,再轉入第二個池,產生不必要的轉賬和 gas 浪費。

  • 2

    Singleton 架構:所有池統一在一個合約中管理,共享資產餘額,但各池邏輯和狀態仍通過庫與結構體隔離。這允許同一交易內執行多個操作,同時保持每個池的不變量獨立性。

  • 3

    Flash Accounting 機制:操作不即時結算,而是將代幣進出的需求(Delta)記錄在臨時記賬中。中間步驟的代幣變化會自動相消(如 USDC 的 +1800 和 -1800 完全抵消),最終只需驗證未平衡的代幣,減少轉賬次數。

  • 4

    安全性與驗證:不變量檢查方式與 V3 相同,只是從合約層改為庫層實現,每個池構造體仍可獨立 fuzz test 與形式化驗證。重新進入攻擊風險未增加。

實用技巧與重點

乾貨
  • 協議名稱:Uniswap V4
  • 核心組件:Singleton(單一合約管理所有池)+ Pool Manager
  • 新模式:Flash Accounting(閃電記賬)
  • 依賴技術:EIP-1153(Transient Storage),預計 Cancun 硬分叉發布
  • 交易流程
  • `lock()` 初始化交易上下文和記賬映射(debits 與 credits)
  • Singleton 回調 router 執行多個操作(swap、add liquidity 等)
  • 每個操作將代幣需求添加到 Delta(「需要的代幣」與「應付給用戶的代幣」)
  • 中間步驟的 Delta 相消(中間代幣自動抵消)
  • `take()` 提取結果代幣
  • `settle()` 存入所需代幣並清除記賬
  • 檢查所有 Delta = 0(驗證所有池不變量滿足)
  • 成本優化:Transient Storage 的操作成本遠低於傳統 sstore
  • 靈活性:支持任意順序的多池操作、與外部協議集成、簡化審計

結論

結論

Uniswap V4 通過 Singleton 與 Flash Accounting,實現了高效的多池交互與跨協議集成,依靠 Transient Storage 降低成本,同時保持了不變量驗證的完整性和安全水平。

完整解析

詳細

Uniswap V4 的創新源於對傳統設計效率瓶頸的深刻理解。在 V1、V2 和 V3 中,每個流動池都是獨立的智能合約,擁有自己的資產餘額和不變量檢查。這帶來一個根本問題:當用戶需要跨多個池進行操作時,必須逐個結算每一步。以 WETH → USDC → DAI 的交換為例,router 先從 WETH-USDC 池獲取 1800 USDC,這 1800 USDC 必須完全轉回 router,再轉入 USDC-DAI 池進行第二次交換。這個中間結算步驟不僅浪費 gas,還複雜化了交互邏輯。

V4 通過 Singleton 架構徹底改變了這一模式。所有流動池現在集中在一個合約(池管理器)中,共享統一的資產餘額層,但各池的核心邏輯和不變量驗證仍然通過獨立的庫和結構體實現。這讓同一交易內可以執行多個操作,而無需在中間完全結算。

Flash Accounting 是這一架構的靈魂。核心思想是:不在每個操作後立即轉移代幣,而是先記錄每個操作產生的「變化」(Delta)。這個 Delta 記錄包括兩部分——「池需要的代幣」和「池欠給用戶的代幣」。當多個操作執行時,這些 Delta 在記賬中逐步聚合。關鍵是,中間步驟的代幣會自動相消:第一個池產生的 +1800 USDC 和第二個池消耗的 -1800 USDC 完全抵消,無需實際轉移。只有最終的代幣需求(WETH 和 DAI)需要結算。

這一機制的技術基礎是 EIP-1153 的 Transient Storage,它提供一種只在單個交易內存在的臨時狀態層。相比傳統的 sstore 操作,transient storage 的成本極低,因為數據在交易結束後就被丟棄。整個流程是:router 調用 `lock()` 開啟交易上下文,該上下文設置一個臨時記賬映射;隨後 router 可執行任意數量的池操作(swaps、add liquidity 等),每個操作的結果以 Delta 形式記錄;操作完成後,router 調用 `take()` 提取最終應得的代幣,調用 `settle()` 支付所需的代幣;最後,Singleton 驗證所有 Delta 是否為零。

安全性角度,V4 並未削弱不變量驗證的嚴格性。每個池的邏輯仍然獨立執行其不變量檢查,只是結算時機從「即時」改為「延遲」。因為每個池的狀態在交易末尾都被驗證,任何不變量違反都會導致整個交易失敗。重新進入攻擊的風險與 V3 完全相同,因為池的狀態檢查機制並未改變。此外,這種設計還帶來了審計優勢:每個池構造體可以獨立進行 fuzz testing 和形式化驗證,提高了安全性保障。

關鍵時刻

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