截斷式價格預言機可以降低大額交易對價格產生的影響,更具預言機抗操縱能力,從而更安全地用於 DeFi 場景。本文源自 Uniswap Labs 所著文章 《Uniswap v4 Truncated Oracle Hook》,由 Foresight News 編譯、整理。
(前情提要:DeFi國柱!解讀Uniswap v4有哪些堅持與變革? )
(背景補充:Uniswap V4 重點性能「Hooks」是如何實現限價單交易的? )
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 仍在開發中,最終規格可能會有所變化。