以為Uni V3 已經開啟了AMM 通用兌換的巔峰,沒想到Curve V2 是更為艱難的「岡仁波齊峰」。在為技術蝶變而驚喜的同時,我們更驚訝地發現這些頭部DEX/AMM 項目正在走向一種「大同歸一」的演變模式,就像今天要講的Curve V2 實際上正是一種直接競爭Uniswap 的通用兌換模式,而在這之前不久,UniV3 也正式攜全新的數學模型向Curve V1 長期霸佔的穩定幣交易領域干涉和蠶食。本文嘗試用逆向解構的方式呈現Curve V2 的基本數學原理。
基礎模型
簡單來講,CurveV2 採用了一種跟UniswapV3 非常類似的基本哲學——圍繞「均衡點」聚集流動性。兩者都並未依賴外部預言機來達成「均衡點」,而是依靠傳統AMM系統內的交易博弈,直至系統均衡,在Uni V3里叫「職業做市商LP緊跟市場變化調整range」,在Curve V3中其命名為「內部預言機internaloracle」。作為兩大最頂尖的AMM項目,可見其對任何外部風險都十分敬畏。雖然沒有依賴外部因子,但這兩種模型,尤其是CurveV2,在通用兌換的道路上給出了非常優越的無常損失、集中流動性、提升資本效率、低滑點、動態費用等一系列難題的解決方案。這當然得益於其「變態」的數學模型。
(圖1)
數學模型最核心的部分是其創造了一條全新形態的曲線。從上圖直觀來看,兩條虛線是恆定乘積曲線,藍色線是著名的Curve V1穩定幣兌換曲線,而Curve V2構造的黃色曲線具備兩個基本特徵——
(1)介於恆定乘積曲線和Curve V1曲線之間;
(2)其曲線尾部特徵擁有明顯的恆定乘積曲線擬合。
所以它可以解決什麼問題:
(a)繼承了Curve V1在「均衡點」附近區域超低滑點和聚集流動性的優勢;
(b)通過介於恆定乘積曲線和Curve V1曲線之間,以及在曲線的中尾部區域向恆定乘積曲線擬合,獲得恆定乘積曲線快速響應流動性變化的優勢,避免池子流動性枯竭,靈活響應快速的市場變化。
直接來看錶達式:
(圖2)
乍一看十分晦澀,這裡再引用一張KurtBarry 分享在twitter上的圖:
(圖3)
稍微有點恍然大悟。沒錯,CurveV2 的「變態」曲線其實也是脫胎於Curve V1表達式。
(圖4:CurveV1 表達式)
當K0 趨近於1時,即從曲線形態上逼近「均衡點」範圍時(對照圖1 來理解),整個Curve V2表達式將退化為Curve V1表達式,使得兌換曲線擁有Curve V1的優良特性。
公式里最複雜的引入變數是gamma,它的由來要從圖1中的兩條恆定乘積曲線來講。上方恆定乘積曲線與Curve V1表達式共同成就了V2曲線的「均衡點」區域範圍,而下方恆定乘積曲線是對上方恆定乘積曲線的一個參數化縮小,即
上方恆定乘積曲線:
下方恆定乘積曲線:
gamma是一個很小的正小數,在曲線形態上會比上方曲線更縮進原點。如前所述,CurveV2 需要引入這麼一條gamma曲線,使得V2 曲線擺脫V1曲線在中、尾段的劣勢(流動性枯竭和快速響應匯率變化),也就是讓曲線擁有更大的後半段曲率。在這個基本原理的指引下,我們需要逆向來理解表達式的構成——
當坐標變化不斷向橫縱坐標軸的遠方移動時,越趨近無窮大,V2曲線形態越向下方恆定乘積曲線擬合。即K0 趨近gamma,CurveV2 表達式reduction:
移項:
很明顯,這將是一條偏向下方恆定乘積曲線的新曲線。
在這裡,我們暫時只能從混合曲線的基本構造原理出發,逆向來解釋Curve V2表達式的構成緣由,即以極限的思想分別向「均衡點」範圍逼近以及向橫縱遠端逼近,表達式會分別reduction為Curve V1和恆定乘積曲線,以此來實現Curve V2將Uniswap 和Curve V1融合的目的,使得這種複雜混合曲線可以支撐通用兌換,並且具備更好的集中流動性和滑點優勢,同時保留Uniswap對流動性的保護以及對市場匯率突發變化的響應優勢。
內部預言機
其實Curve V2還有一項非常重要的創新——內部預言機repegging機制。這項機制對實施更好的集中流動性以及減緩無常損失是十分有利的。
Curve V2 引入了一種price_scale的價格度量,比如池子中有USDT 和B_token兩種資產,balance為b=[1000,500],匯率上1 B = 2USDT,則price 為p=[1,2],最後相乘獲得一種scaledbalance 為x=[1000,1000]。
結合圖1,在均衡點處,scaledbalance 序列內元素相等(恆定乘積特性)——
隨著市場匯率的變化、兌換的發生、LP做市行為的影響,系統坐標點會逐漸偏離原始「均衡點」,如果不加以糾正曲線形態,不僅會造成流動性的聚集性減弱,還會帶來無常損失。CurveV2 為此提出了MarketPrice Update 機制【1】——
i)exponentially moving average (EMA) price oracle
ii)profit measurement
iii)repricing algorithm (depends on i and ii)
概括來講,系統會通過經典的內部預言機機制EMA不斷捕獲系統內匯率的移動序列,然後不斷在每一次交易和做市行為後根據priceoracle 來更新一種名為收益度量(profit)的變數Xcp。
這種變數可以理解為每一次價格偏移距離原始均衡點的幅度,可以直觀理解為,如果匯率變化幅度不大,系統公式將依舊以原始均衡點為根基,如果匯率變化非常大,坐標點在曲線上偏移很大,則系統應該重建公式,更換新的「均衡點」根基,以此來縮小無常損失和重新聚集流動性。Xcp這個變數便是用來量化合適可以更換公式和均衡點的手段。
如上所述,當Xcp突破閾值後,系統會根據此時更新的oracleprice 來更新price_scale,以此來為新公式定位新的均衡點位置,隨後更新新的D值,獲取新的表達式。
這樣,原本固定的Curve V1曲線便會隨著場內匯率的大偏移不斷變換均衡點,使得永遠在當前匯率附近具備最大的流動性,及時對抗套利者,減緩無常損失。論文中有關於此項機制非常詳細的參數化定義,也是實現的複雜之處。
總結
Michael Egorov一如既往地不願意多說,所以我們看Curve V2非常晦澀。本文介紹了V2引領性的兩大創新機制:新曲線和repegging。這條新曲線不僅靜態複雜,還擁有了動態屬性,可以根據EMA 和Xcp智能響應系統偏移,讓池子流動性最大化地聚集在當前匯率範圍內,極大地提高了動態資本效率,這是可以超越Uni V3的地方。我們最終會發現,CurveV2 可以與Uni V3再組合。
冷萃財經原創,作者:awing,轉載請註明出處:https://www.lccjd.top/2021/06/16/%e9%80%86%e5%90%91%e8%a7%a3%e6%9e%84curve-v2/?variant=zh-tw
文章評論