金色財經
來源:Uniswap;編譯:金色財經Claw
Uniswap DualPool現已上線 —— 這是一個開源的 Uniswap v4 Hook,由 Spark 合作設計、Uniswap Labs 開發。它允許做市商在資產閒置期間賺取借貸收益,直到交易發生時才將資金投入使用。從外部看,DualPool 就是一個普通的 v4 池:交易者、聚合器和求解器通過 PoolManager 執行交易。而在內部,池中的資金存放在 ERC-4626 收益金庫中,當需要執行交易時,資金會被拉入集中流動性部位。
鏈上流動性是全天候待命的。提交到 AMM 池中的資產隨時可以被交易,但在交易之間的空窗期,這些資產不會產生任何收益。對於專業做市商來說,這就迫使他們必須在資金的存放位置之間做出取捨:
將資金放入池中,可以賺取交易手續費,但放棄借貸收益;
將資金放入借貸市場,可以賺取收益,但無法參與交易流量。
對於穩定幣對等交易對,手續費很薄,競爭激烈,借貸收益可能持平甚至超過手續費。因此,做市商有時會選擇收益,而該流動性也就不會出現在 AMM 上。
DualPool 通過即時提供流動性消除了這種取捨:在交易間隙,資金存放在收益金庫中;當交易到達時,池子在交易本身內部按需調用所需資金。
在兩次交易之間,DualPool 在 PoolManager 中實際持有的流動性幾乎為零。其資金存放在池子營運方選擇的 ERC-4626 金庫中,持續賺取借貸收益。當一筆交易到達時,Hook 在交易事務內原子性地執行一個四步循環:
只取出剛好夠用的資金:Hook 根據當前價格計算其配置區間所需的各種代幣數量,僅從金庫中提取差額部分。
部署集中流動性:按照營運方的分配方案,將資金作為一筆或多筆部位發布。
正常執行交易:PoolManager 針對這些部位運行標準的交換計算,並收取池子的固定費用,與其他池子無異。
將剩餘資金重新存入金庫:Hook 移除其添加的所有部位,與 PoolManager 結算,並將剩餘資金重新存入金庫。
對交易者而言,這就是一次普通的 Uniswap 交易。營運方的資金僅在交易持續期間離開金庫,交易完成後立即重新存入。由於交易本身就處理了流動性的取出和重新存入,系統可以自主運行,無需任何 Keeper 基礎設施。
營運方(Operators) 是專業做市商。營運方部署池子、設定費用、選擇收益金庫、設計流動性分布,並注入初始資金。作為回報,他們同時獲得交易手續費和閒置資金產生的收益。
流動性提供者(LPs) 可以在營運方允許外部存入時加入池子。LP 按比例獲得池中資產的權益,同時賺取手續費和金庫收益,無需主動管理。
交易者(Swappers) 通過他們已經使用的界面、聚合器和路由器,像使用任何其他 Uniswap 池一樣與 DualPool 進行交易。整個交易過程不會暴露流動性剛剛還存放在借貸金庫中這一事實。
路由器和聚合器通過現有的 v4 執行路徑運行 DualPool 交易,無需改動。唯一(可選的)新增工作是報價(下文詳述)。
DualPool 不是將資金部署到單一價格區間。每個池子都帶有營運方配置的分布方案:一組帶權重的 tick 區間,在每次交易時一併部署。區間可以重疊、可以不對稱地分布在當前價格兩側,也可以完全偏於一側。這足以編碼一套做市策略,而不僅僅是一個波段。營運方可能運行的幾種典型分布形態包括:
穩定幣訂單簿:將大部分權重集中在錨定價附近的一個窄帶內,外圍輔以較淺的覆蓋,使得絕大多數深度集中在幾乎所有交易量發生的地方。
槓鈴型:中心保持緊密,同時在更遠的位置保留單邊深度,以便大額單邊流量有處可交易,而不會把流動性稀釋到很少被觸及的 tick 上。
錨定防禦梯:在錨定價格的脆弱側逐級堆疊越來越深的支撐,適用於有防禦義務的營運方。
營運方可以在兩次交易之間的任何時候替換分布方案,因此形態可以根據波動率環境靈活調整:市場平靜時收窄且激進,市場緊張時拓寬且防禦。資本分配算法在構造上是保守的;Hook 在計算流動性之前,會先為每個區間分配其池中餘額的確切市佔率,因此重疊區間永遠不會重複計算資本。
以下三個屬性在池子創建時即固定:
費用:每個 DualPool 帶有靜態費用;之後沒有任何代碼路徑可以更改它。如果要對同一交易對重新定價,營運方需要部署一個新池子。
金庫:池中貨幣與其收益金庫的綁定關係一次性設定。之後沒有管理員路徑可以將池資金指向不同的金庫。
交易邏輯:每筆交易都運行 PoolManager 的標準 v4 數學運算,針對 Hook 部署的任何流動性進行。
這些不變性保證了 DualPool 對於路由到它的聚合器和求解器是可預測的:營運方不能改變核心交易邏輯,也沒有管理員函數可以盜取 LP 存入的資金。營運方保留的權力(暫停和恢復池子、重新調整流動性分布、限制外部存入、以及在緊急情況下切斷金庫訪問)完全位於這三個不變性之外。
一個沒有常駐流動性的池子打破了路由器和聚合器多年來的習慣:通過讀取池狀態來估算深度。如果在兩次交易之間查看鏈上的 DualPool,你會看到一個價格,但流動性幾乎為零——即使該池子能夠成交數百萬美元。因此,DualPool 暴露了一個專用的報價接口。利用 Hook 的原生報價流程完全是可選的,但這樣做可以顯著改善路由效果:
指示性報價視圖:針對 Hook 將會部署的流動性(含費用)對一筆預期交易進行定價。零報價表示該池無法交易,應路由到別處。
儲備視圖對:區分池子的總資產和有效流動性——即金庫當前可以立即返還的金額。當金庫有上限或受到利用率限制時,有效流動性即為上限;Hook 會根據該上限來配置資金規模,路由器也應據此控制交易規模。
暫停的池子會返回一個明確的錯誤,而不是靜默地給出空填充,因此路由器可以跳過它。
執行層面沒有變化,因為 DualPool 交易就是一次標準的 v4 交易,具有與其他池子相同的執行和滑點限制。唯一的不同是成本:該循環在交易內部增加了金庫取款和存款操作,因此 Gas 開銷可能比普通 v4 交易高出數倍。按當前 Gas 價格計算,這不過多花幾美分,但這仍然會計入凈執行價格。
DualPool 的安全模型大部分由代碼強制實施,獨立於金庫選擇:
隔離性:Hook 按池子和貨幣為每個池子的資產維護分類賬。其總的代幣餘額從不作為會計輸入,且一個池子記錄的資產不能被另一個池子贖回。
市佔率安全:LP 市佔率是內部且不可轉讓的。市佔率計算帶有虛擬偏移以抵禦通膨攻擊,始終以有利於現有 LP 的方向取整,並強制要求可配置的最短持有期,以防止同一區塊內存款和取款進行費用狙擊。
重入防護:面向用戶的入口點帶有標準防護,交易循環由瞬態鎖保護,該鎖會拒絕同一池子的重入交易,並在任何循環進行期間凍結 Hook 上任何位置的存款和取款。
核心信任假設是底層收益金庫。池子的金庫持有其閒置資金,且 Hook 對其有常備授權,因此營運方必須選擇其治理和升級風險可接受的金庫。金庫選擇是營運方風險管理的核心。如果某個金庫的風險變得不可接受,後備方案是一個單一的緊急操作:暫停池子、關閉存款、撤銷金庫授權,並嘗試將池子資產全部取回。如果金庫有上限或流動性不足,系統會優雅退化;報價和部署規模會縮減至有效流動性,LP 對總資產的權益不受影響;無法接受存款的金庫也永遠不會阻塞交易。
OpenZeppelin 對 DualPool 進行了審計,未發現嚴重或高危漏洞,所有報告的問題均已解決。審計報告與 DualPool Hook 代碼一同提供。
如果你希望你的資金在兩次成交之間持續賺取收益,DualPool 現已上線。要部署你自己的 DualPool,請使用此部署指南:它指導你從官方工廠部署經過審計的 Hook。部署指南涵蓋了完整流程,包括配置和驗證。
如需深入了解 DualPool 的工作原理,請查看 GitHub 倉庫和開發者文檔,其中包括面向路由器和聚合器的集成指南。
來源:金色財經
發佈者對本文章的內容承擔全部責任
在投資加密貨幣前,請務必深入研究,理解相關風險,並謹慎評估自己的風險承受能力。不要因為短期高回報的誘惑而忽視潛在的重大損失。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與加密貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
上一篇
下一篇