Uni V3的數學原理

2021-03-31 18:03:38

前言——Uniswap V3(如下簡稱 Uni V3)放出了很多 feature,然而其最為本質的迭代依然是對 AMM 數學曲线的再思考。在過去的兩年中,我們也躬身入局 AMM 領域,認為 AMM 最基本的曲线形態已經定型,後續的創新應該會在 AMM 基本曲线形態的基礎上實現“策略化”,於是我們創造了 MOV 超導 V2。而如今我們看到了 V3,突然有一種“久別重逢”的感覺,在尋找這種感覺之余,我們也希望為大家呈現 AMM 最為深刻的思考路程。因為 AMM 的時代將會比想象得更為恢弘壯闊。

讓我們直切正題,Uniswap V3 最耀眼的創新——在 AMM 上實現集中流動性。

V3 給出了一個虛擬儲備金(virtual reserves)的概念,舉例講解:

在傳統 V2 中,Alice 一次性將 500,000 DAI 和 333.33 ETH 注入儲備池,總價值 $1m,提供全區間(0,\infty)的流動性,但實際上 ETH 的價格波動範圍在很長一段時間內是有局部範圍的,這種為全區間無私提供流動性的行為大大浪費了資本利用效率。

(注:在一個逐步走向成熟化的金融市場中,無套利原理和提升資本利用效率永遠是兩大核心訴求,也是後續 DeFi 產品向先驅 DeFi 發起挑战的出發點。)

所謂的集中流動性便是讓 LP 自主選擇波動範圍,只為該範圍提供局部流動性,例如 Bob 認為未來一段時間內 ETH 的價格區間在(1000,2250),並且如果未來真的是在這個區間波動,Bob 希望自己獲得的收益能夠跟百萬富豪 Alice 一樣多,於是 Bob 一开始只需要投入 91,751 DAI 和 61.17 ETH,總價值 $183,500,遠遠小於 Alice 實際投入的資金。我們對照下圖來解釋其中的道理。

Uni V3的數學原理

Uni V3的數學原理


即 Bob 所獲得的虛擬曲线(D 值)幾乎跟 Alice 一樣。

上述計算過程是一種反證法,實際上用戶 Bob 會向系統算法提出自己的需求輸入,包括預測價格區間範圍、當前價格點、最終想要獲得的一個 virtual reserves 規模(即虛擬曲线 D 值)。有了虛擬曲线表達式的確定,可以輕松算出 a、b、c 三個確定的點坐標,進而便算出  x_{real}=61.17以及y_{real}=91751

同時,也可以看到,一旦未來價格越出了區間,Bob 其中一種資產將徹底消失。

Uni V3的數學原理

全局狀態中有feeGrowthGlobal0(f_{g},0) 和 feeGrowthGlobal1 (f_{g},1)f_{g},用來從全局角度統計總的手續費收益。例如,當在一個 tick 內發生了一筆交易,系統會計算出該筆交易產生的手續費:

Uni V3的數學原理


f_{a}變量是對所有高於 i tick 的區間的 fee 統計,f_{b}是對所有低於 i tick 的區間的 fee 統計,因此在上述總公式中,我們從全局總累計手續費f_{g}中減去所有低於下界i_{l}的累計手續費,再減去所有高於上界i_{u}的累計手續費,便是(i_{l},i_{u}) 之間的累計手續費。

f_{o}可以理解為一個計算單元,用於累積截止到i tick 的手續費,在它的初始化過程中,我們約定如下:

<img  src="https://img.jinse.com/4923026_image3.png"   auto";'>

再來看f_{a}的計算,分成了兩段,可以理解為——

  • 如果當前 tick 等於 i 或者高於 i,此時從全局總手續費f_{g}中減去“累積到 i tick”的手續費f_{o}(i),剩下的便是對所有高於 i tick 的區間的 fee 統計;

  • 但如果當前 tick 還未抵達 i,此時根據對f_{o}的初始化定義為 0,則所有高於 i tick 的區間的 fee 統計尚未產生,為 0。

同樣對於f_{b}——

  • 如果當前 tick 抵達或者超過了 i,f_{o}(i)表示累計到 i 的手續費,也即對所有低於 i tick 的區間的 fee 統計;

  • 如果當前 tick 還未抵達 i,對所有低於 i tick 的區間的 fee 統計值即為當前的全局變量f_{g}(當前總手續費)。

通俗來概括,系統算法要統計某一個 range 內累計的手續費,

  • 如果當前 tick 已經處於 range 內部,即i_{l}\leq i_{c} < i_{u},只需要從全局手續費f_{g}減去所有低於i_{l}組成的 range 累計的手續費;

  • 如果當前 tick 不處於 range 內部,且低於下界i_{l},說明尚未在(i_{l},i_{u})區間內產生交易,也就未產生手續費,因此該 range 內累計量為 0;

  • 如果當前 tick 不處於 range 內部,且高於上界i_{u},需要從全局總量中分別去除“兩頭”各自的累計量,即從全局f_{g}中減去所有低於i_{l}區間累計量,再減去“從i_{u}到當前 tick 區間累計量”。

Uni V3 計算手續費的過程是一種從微觀走向宏觀的思想,它將空間劃分成離散的,每一個時間刻度只會在一個離散空間上產生交易,從而產生手續費,每一個微觀 tick 都在各自記錄着自己從最低 tick 到自身這段區間內的累計手續費總和,然後供上述公式不斷調用,以計算各種宏觀結果。

Uni V3 已經改變了傳統 AMM 對 LP 行為的設定,也不再基於全局流動性(Global Liquidity)和份額(Share)來為每一個 LP 計算手續費收益。對 V3 來講,它只關注在每一個 tick 裏存在多少“虛擬”流動性,以及這些虛擬流動性產生了多少手續費,算得單位虛擬流動性對應的手續費值;在這個時空之下,我們再把視角切到具體每一個 LP 上,對於任何 LP,都會存在一個“开倉”(Position)的區間設定,他在自己設定的區間提供了虛擬流動性,可能是一個 tick,也可能是連續多個 tick,從最簡單的“一個 tick”角度解釋,系統會記得同一時空下每一個 LP 在此 tick 注入的虛擬流動性值,並為他們確定出一個比例(注意這個比例只與最开始注入的虛擬流動性大小有關,並不涉及手續費轉流動性,這與 V2 是不同的),以此分得該 tick 內所有手續費累計。

<img  src="https://img.jinse.com/4923027_image3.png"   auto";'>

在實際情況中, LP 們還會存在復雜的行為,比如注入/退出的時間紛雜、選擇的 range/tick 紛雜。但 Uni V3 的大道至簡之處正是利用全局計算來屏蔽掉單個 LP 視角,只關心 ticks 視角和 Position 視角。在確定好上述所述的一系列全局狀態變量的定義後,認真記錄好每一筆 swap 交易在 ticks 中發生的情況(包括只在一個 tick 內完成該筆 swap 交易,和需要跨多個 tick 才能完成該筆 swap 交易),同時只記錄每個 tick 內虛擬流動性的大小,以此為根本去提供 swap 交易公式以及 swap 後手續費如何分配給參與該 tick 的所有 LP 們。LP 的復雜行為體現在空間的不連續性和時間的不統一性兩方面,對於時間不統一性(即會出現很多 LP 不斷加入和退出流動性),Uni V3 還會引入 Position 這一級別的全局變量為每一個身份(address)記錄下其對 range/tick 加入/退出(“setPosition”)時手續費的統計(uncollected fee/feeGrowthInside),確保後來的 LP 不會參與到前序 LP 們已經累計的收益分配。

如果總結來講 ,tick-level 是對空間上發生的統計,確保起點一致的 LP 們 fee 分配,而 Position-level 是對時間上發生的統計,確保不同起點的 LP 們 fee 累計起點不一樣。建議實現者深入 V3 代碼,才能真正獲得安全計算法。

最後,Uni V3 過於復雜,但大道至簡,即便去模仿,模仿者依然需要下功夫深刻了解其“微積分”思維。這篇文章只選擇了 fee 這一個角度呈現 Uni V3 的“數學原理”,也是其實現集中流動性的核心邏輯。而在數學之外,我們有更多驚喜的“哲學意義”發現與大家分享,例如 LP token 的進化、NFT 其實並不只屬於藝術領域(更有助於金融)、V3 會存在一個策略博弈、V3 對基金池/合成資產的啓示等等,當然也包括與 MOV 超導 V2 的“心有靈犀”——AMM 的本質是連續性的無限網格,Uni V3 是在這個無限網格基礎之上再實現了微觀無限網格,是“無數網格機器人的疊加”,MOV 超導 V2 則是在無限網格基礎之上進行了更為宏觀的無限網格,是超級網格。請期待下一篇《Uni V3 的自然哲學》。

作者:比原鏈研究院

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

突破傳統預言機:Chaos Labs 發布 Edge,如何保障超 300 億美元交易的安全?

從隱祕中嶄露頭角:Edge Oracle Network 今天,@chaos_labs 推出了 E...

coincaso
23 6天前

mETH協議將迎來爆發:參與Methamorphosis活動,解鎖$COOK空投和重質押收益

mETH協議正在“COOK-ing”。$mETH已經是第四大ETH LST,有50萬枚$ETH被質...

coincaso
26 1周前

Hypernative 榮獲1600 萬美元融資,如何打造 Web3 安全防线

隨着 DeFi 的不斷發展,安全性仍然是該生態系統面臨的重大挑战,每年因安全問題而導致的資產損失高...

coincaso
34 2周前

特朗普強勢入局加密市場!DeFi項目首度曝光,創始團隊引發軒然大波

World Liberty Financial 白皮書中列出的四名團隊成員之前曾在 Dough F...

coincaso
51 2周前

ENA代幣暴跌超80%,算法穩定幣將陷入死亡螺旋?

在加密貨幣的世界裏,算法穩定幣一直是投資者和开發者心中的白月光,它代表着一種理想狀態,即使在最不確...

coincaso
37 2周前

Polymarket獨領風騷,萬字盤點各鏈預測市場現狀

以太坊創始人Vitalik Buterin,近期對公衆對預測市場的普遍誤解進行了深刻闡釋。他堅決地...

coincaso
45 3周前