頭部 AMM 項目似乎正在走向聚集流動性的「大同歸一」的演變模式。

原文標題:《逆向解構 Curve V2》
撰文:比原鏈研究院

本以爲 Uniswap V3 已經開啓了 AMM 通用兌換的巔峯,沒想到 Curve V2 是更爲艱難的「岡仁波齊峯」。在爲技術蝶變而驚喜的同時,我們更驚訝地發現這些頭部 DEX/AMM 項目正在走向一種「大同歸一」的演變模式,就像今天要講的 Curve V2 實際上正是一種直接競爭 Uniswap 的通用兌換模式,而在這之前不久,Uniswap V3 也正式攜全新的數學模型向 Curve V1 長期霸佔的穩定幣交易領域干涉和蠶食。本文嘗試用逆向解構的方式呈現 Curve V2 的基本數學原理。

基礎模型

簡單來講,Curve V2 採用了一種跟 Uniswap V3 非常類似的基本哲學——圍繞「均衡點」聚集流動性。兩者都並未依賴外部預言機來達成「均衡點」,而是依靠傳統 AMM 系統內的交易博弈,直至系統均衡,在 Uniswap V3 裏叫「職業做市商 LP 緊跟市場變化調整 range」,在 Curve V3 中其命名爲「內部預言機 internaloracle」。作爲兩大最頂尖的 AMM 項目,可見其對任何外部風險都十分敬畏。雖然沒有依賴外部因子,但這兩種模型,尤其是 CurveV2,在通用兌換的道路上給出了非常優越的無常損失、集中流動性、提升資本效率、低滑點、動態費用等一系列難題的解決方案。這當然得益於其「變態」的數學模型。

深度研究 | 逆向解構 Curve V2圖 1

數學模型最核心的部分是其創造了一條全新形態的曲線。從上圖直觀來看,兩條虛線是恆定乘積曲線,藍色線是著名的 Curve V1 穩定幣兌換曲線,而 Curve V2 構造的黃色曲線具備兩個基本特徵——

  • 介於恆定乘積曲線和 Curve V1 曲線之間;

  • 其曲線尾部特徵擁有明顯的恆定乘積曲線擬合。

所以它可以解決什麼問題:

  • 繼承了 Curve V1 在「均衡點」附近區域超低滑點和聚集流動性的優勢;

  • 通過介於恆定乘積曲線和 Curve V1 曲線之間,以及在曲線的中尾部區域向恆定乘積曲線擬合,獲得恆定乘積曲線快速響應流動性變化的優勢,避免池子流動性枯竭,靈活響應快速的市場變化。

直接來看錶達式:

深度研究 | 逆向解構 Curve V2圖 2

乍一看十分晦澀,這裏再引用一張 KurtBarry 分享在 twitter 上的圖:

深度研究 | 逆向解構 Curve V2圖 3

稍微有點恍然大悟。沒錯,CurveV2 的「變態」曲線其實也是脫胎於 Curve V1 表達式。

深度研究 | 逆向解構 Curve V2圖 4:CurveV1 表達式

當 K0 趨近於 1 時,即從曲線形態上逼近「均衡點」範圍時(對照圖 1 來理解),整個 Curve V2 表達式將退化爲 Curve V1 表達式,使得兌換曲線擁有 Curve V1 的優良特性。

公式裏最複雜的引入變量是 gamma,它的由來要從圖 1 中的兩條恆定乘積曲線來講。上方恆定乘積曲線與 Curve V1 表達式共同成就了 V2 曲線的「均衡點」區域範圍,而下方恆定乘積曲線是對上方恆定乘積曲線的一個參數化縮小,即

上方恆定乘積曲線:

深度研究 | 逆向解構 Curve V2

下方恆定乘積曲線:

深度研究 | 逆向解構 Curve V2

gamma 是一個很小的正小數,在曲線形態上會比上方曲線更縮進原點。如前所述,CurveV2 需要引入這麼一條 gamma 曲線,使得 V2 曲線擺脫 V1 曲線在中、尾段的劣勢(流動性枯竭和快速響應匯率變化),也就是讓曲線擁有更大的後半段曲率。在這個基本原理的指引下,我們需要逆向來理解表達式的構成——

當座標變化不斷向橫縱座標軸的遠方移動時,越趨近無窮大,V2 曲線形態越向下方恆定乘積曲線擬合。即 K0 趨近 gamma,CurveV2 表達式 reduction:

深度研究 | 逆向解構 Curve V2

移項:

深度研究 | 逆向解構 Curve V2

很明顯,這將是一條偏向下方恆定乘積曲線的新曲線。

在這裏,我們暫時只能從混合曲線的基本構造原理出發,逆向來解釋 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]。

深度研究 | 逆向解構 Curve V2

結合圖 1,在均衡點處,scaledbalance 序列內元素相等(恆定乘積特性)——

深度研究 | 逆向解構 Curve V2

隨着市場匯率的變化、兌換的發生、LP 做市行爲的影響,系統座標點會逐漸偏離原始「均衡點」,如果不加以糾正曲線形態,不僅會造成流動性的聚集性減弱,還會帶來無常損失。

CurveV2 爲此提出了 MarketPrice Update 機制:

  • exponentially moving average (EMA) price oracle

  • profit measurement

  • repricing algorithm (depends on i and ii)

概括來講,系統會通過經典的內部預言機機制 EMA 不斷捕獲系統內匯率的移動序列,然後不斷在每一次交易和做市行爲後根據 priceoracle 來更新一種名爲收益度量(profit)的變量 Xcp。

深度研究 | 逆向解構 Curve V2

這種變量可以理解爲每一次價格偏移距離原始均衡點的幅度,可以直觀理解爲,如果匯率變化幅度不大,系統公式將依舊以原始均衡點爲根基,如果匯率變化非常大,座標點在曲線上偏移很大,則系統應該重建公式,更換新的「均衡點」根基,以此來縮小無常損失和重新聚集流動性。Xcp 這個變量便是用來量化合適可以更換公式和均衡點的手段。

深度研究 | 逆向解構 Curve V2

如上所述,當 Xcp 突破閾值後,系統會根據此時更新的 oracleprice 來更新 price_scale,以此來爲新公式定位新的均衡點位置,隨後更新新的 D 值,獲取新的表達式。

這樣,原本固定的 Curve V1 曲線便會隨着場內匯率的大偏移不斷變換均衡點,使得永遠在當前匯率附近具備最大的流動性,及時對抗套利者,減緩無常損失。論文中有關於此項機制非常詳細的參數化定義,也是實現的複雜之處。

總結

Michael Egorov 一如既往地不願意多說,所以我們看 Curve V2 非常晦澀。本文介紹了 V2 引領性的兩大創新機制:新曲線和 repegging。這條新曲線不僅靜態複雜,還擁有了動態屬性,可以根據 EMA 和 Xcp 智能響應系統偏移,讓池子流動性最大化地聚集在當前匯率範圍內,極大地提高了動態資本效率,這是可以超越 Uni V3 的地方。我們最終會發現,CurveV2 可以與 Uni V3 再組合。