逆向解構 Curve V2 的數學原理

原文標題:《深度研究 | 逆向解構Curve V2》

來源:比原鏈研究院

以為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再組合。

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧