原文標題:《Uniswap v4 Truncated Oracle Hook》
編譯:Frank,Foresight News
Uniswap 協議是數百萬交易者的重要加密基礎設施,並透過提供深度流動性來支援超過1.6 兆美元的交易量,而Uniswap v4 是該協議的最新演進版本,允許開發人員使用鉤子(Hooks)在Uniswap 之上建立自訂AMM 功能。
之前我們寫過關於時間加權平均做市商鉤子的文章,今天我們將重點放在「截斷式預言機」(truncated oracle)。
眾所周知,價格預言機(如Uniswap v3 池中的預言機)可向其他DeFi 協議傳遞有關流動性池的價格信息,而作為可選的v4 鉤子部署的截斷式價格預言機,則可以降低大額交易對價格的影響,並使其更具預言機抗操縱能力,從而更安全地用於DeFi 場景。
價格預言機的角色
價格預言機是一種用於查看特定資產價格資訊的工具。這些鏈上預言機是反映鏈上資料的去信任的價格來源。 Uniswap v3 價格預言機允許智慧合約整合和使用鏈上定價數據,以跨DeFi 創建更多可組合的應用程式。
Uniswap v3 價格預言機在建構時考慮了以太坊的工作量證明(PoW)機制,但在以太坊的共識演算法轉為權益證明(PoS)後,該預言機的一些關鍵假設發生了改變,從而使其安全性降低。
儘管在Uniswap v3 上操縱高流動性池的價格成本太高,但價格預言機的重要性,也使其成為惡意行為者的攻擊目標,攻擊者有足夠的經濟動機來操縱價格預言機。
所以我們需要修改預言機以使其更具韌性,而截斷式價格預言機使用不同的公式來計算價格,並可以提供更可靠且不易被操縱的餵價。
什麼是截斷式預言機的Hook?
截斷式預言機是一種鏈上價格預言機,它使用幾何平均公式記錄Uniswap 流動性池中資產的價格,然後對該預言機的餵價進行截斷——這意味著在單一區塊內,記錄的價格只能向上或向下移動到最大值。
這種截斷有助於消除大額交易對價格的長期影響——無論這些大額交易是合法的還是惡意的,因為如果一個惡意行為者試圖操縱價格,則必須在多個區塊上持續進行操縱,這使得截斷式預言機的操縱成本變得很高。
截斷式預言機Hook 如何運作?
此Hook 的智慧合約合約儲存了對應流動性池的價格的副本,其中在Uniswap v3 和v4 中,這些價格以一個個點位元(Tick)表示。
在進行交易或LP 調整之前,Hook 會將流動性池的當前價格變動與其合約中儲存的價格變動進行比較,如果這兩個數字之間的差異小於某個數字單位(根據我們的研究,我們使用9,116),那麼Hook 將會更新到這個新的價格點位。
但是,如果流動性池的當前價格變動超過9116 個數位單位,則預言機會將其價格上限限制為+- 9116,從而在一個區塊中限制流動性池的價格點位移動量。
Hook 更新後,交易或LP 調整才會執行,直到對應區塊結束,然後循環重複下一個觸發Hook 智能合約的區塊。
透過截斷可記錄的價格(點位)劇烈波動的程度,該預言機可以忽略異常值並消除大額交易對價格的影響。如果價格持續大幅波動,那麼預言機也會迅速適應流動性池的價格點位。
截斷預言機更加安全
讓我們以藉貸市場為例,來更能理解截斷式預言。 DeFi 借貸市場允許用戶存入資產作為抵押品,以便藉出其他資產,且最高可藉出抵押品價值的部分資產金額。
例如,如果借貸市場的抵押率為1.5,那麼Alice 需要提供至少1500 美元的抵押品才能藉出1000 USDC,也即如果ETH 為1000 美元,那麼Alice 需要存入至少1.5 枚ETH。
而在藉貸過程中,Alice 需要保持至少1.5 的比率,這意味著如果她的1.5 枚ETH 的價格下跌,那麼任何人都可以償還她的壞帳並獲得這1.5 枚ETH 的抵押品。
而藉貸市場使用價格預言機來比較ETH 和USDC 的價格。雖然目前在Uniswap v3 上操縱ETH/USDC 流動性池在經濟上是不切實際的,但惡意行為者Bob 可以透過執行大額交易並壓低ETH 的價格來影響較小規模的DEX。
這使得Bob 可以操縱借貸市場,使Alice 的頭寸需要清算,然後Bob 可以以不到1500 美元的價格還清Alice 的貸款,並拿走她的1.5 枚ETH。
這種類型的操縱是依賴價格預言機的DeFi 協議被操縱造成損失的最常見方式之一,借貸協議只是一個例子,其他DeFi 原語(例如永續合約)也依賴鏈上價格預言機。
如果Alice 所在的DeFi 借貸市場使用截斷式價格預言機,那麼Bob 將不得不持續一段時間進行市場操縱。譬如在這個例子中,Bob 必須等待15 個區塊才能讓預言機的價格實現他想要的波動,然後他才能嘗試清算Alice 的頭寸。
但在這五分鐘內,套利機器人可能會吃掉Bob 的對應交易,讓他一無所獲,對Bob 來說,這個成本太高了。
目前Uniswap v4 和截斷式預言機Hook 仍在開發中,最終規格可能會有所變更。