超導體,指可以在特定溫度以下,呈現電阻為零的導體。超導體電阻轉變為零的溫度,稱為超導臨界溫度。——前言
有別于之前推出的MOV磁力交易和閃兌交易,屬于一種新型的自動化交易市場,有著非常強大的做市機制和流動性,可以針對不同門類的交易對進行函數定制化做市,如穩定幣間、主流幣間、小幣種間以及合成資產間等。MOV超導核心技術可以歸類于CFMM(ConstantFunctionMarketMaker)做市機制,即恒定函數做市商,最著名的代表項目有Uniswap和Balancer,一個是恒定乘積做市函數,一個是恒定加權幾何平均做市函數。在描述CFMM之前,我們有必要介紹一下LMSR,一個“古老”的自動化做市機制,可以稱之為CFMM鼻祖,體會金融中的數學之美。
LMSR
在現代金融市場和理論中,市場評分規則常用于計算交易者與做市商之間達成交易的成本。其中最常用的是對數市場評分規則LMSR(LogarithmMarketScoringRule)。根據LMSR,在一個做市交易的市場中,做市商定價公式為:
常量參數b與做市商可提供流動性大小有關,可以為任意常量:b過小則價格變化敏感,即很小的交易量就可以造成價格變化明顯;b過大則價格發現遲鈍,即很大的交易量才可以使價格發生明顯改變。因此對于一個小型不頻繁的交易市場,b一般取小值,對于大型交易市場,b取大值。q1和q2分別表示交易市場中兩個幣種流通數量,如果有多個幣種,可以繼續增加q3,q4...。舉個例子,在一個市場中有10個Atoken、20個Btoken以及23個Ctoken,假定b=10,則此時A的定價為:
做市商可以根據公式設置初始數量,給每個幣種設定價格和匯率比。之后的定價將完全交由每一筆交易行為按照公式對狀態的更改,所以我們還需要一個成本函數。對于函數做市機制,有兩個重要函數,一個是上面的價格函數,另外一個是對應的成本函數:
成本函數用于計算交易者跟做市商間進行一筆交易所付出的成本,即交易買賣是有摩擦的,最直觀的直覺是,購買某種幣越多,付出的成本越大,即需求越多,價格越高。例如在一個三幣種的交易市場里,當前有10個Atoken,20個Btoken和23個Ctoken,我要購買7個Atoken,需要付出多少成本?根據成本公式計算交易變更前后的狀態,變更前:
交易后更改狀態有:
我付出的成本即為二者之差31.284-29.998=1.286。同理來看賣出的場景,假定此時D的數量為50,E的數量為10,定義b=100,我向做市商賣出之前買入的10個Dtoken,則做市商應給我:
我在系統初始時向做市商以低成本買入10個Dtoken:
一來一去,我凈賺5.87-5.12=0.75美元。
基于此,我們進一步拓展到數字貨幣交易對場景中。假定做市商提供兩種幣間的兌換服務,比如BTM和ETH,用戶要購買BTM,需要向系統投入ETH,即用戶售賣ETH,系統返還BTM,這可以拆成兩步操作,先向做市商售賣ETH拿到錢,再用這些錢向做市商購買BTM,最終獲得的BTM數量即反映了匯率比或者成本,所以我們有:
可以得到公式:
其中只有q1*和q2*是未知量,可以用x和y來代替,作圖直觀表示出ETH和BTM的兌換曲線:
這就跟我們常見的恒定乘積做市商很貼近了。進一步我們拓展到三維甚至多維空間,如圖呈現其三維曲面形態:
現場 | 比原鏈CEO朗豫:最終聯盟鏈和公有鏈可能會有一定的融合:金色財經現場報道,在“2019 CAN 萬物互鏈·區塊鏈與全球經濟新格局”大會上,比原鏈CEO朗豫表示:在我看來,聯盟鏈更追求效率,技術上聯盟鏈存在并行環境,參與聯盟鏈的各方存在一定的信用層。公有鏈是一個無門檻的基礎設施,相比聯盟鏈,無法確定節點是否有惡意,公有鏈可能遇到軟分叉、硬分叉的情況。我認為,最終聯盟鏈和公有鏈可能會有一定的融合,比如通過公鏈的狀態通道和閃電網絡的技術,將公鏈的技術與聯盟鏈進行結合。[2019/12/3]
LMSR為自動化做市引入了非常優美的函數變化曲線,完美解決了供需與價格難題,最終慢慢演變成CFMM,被加密貨幣行業廣泛采用。從某種意義上講,曲線之美締造了強大的金融自動化做市機制。MOV超導也是根據LMSR基本原理和目前常見的CFMM項目進行了進一步的創新和實現。概括起來有如下幾點創新:
構建更為靈活的適用于穩定幣間兌換市場的CFMM函數以及關鍵參數;
不局限于二維函數模型,可靈活調整到多維幾何空間,即支持一個儲備池中存在多個幣種間互相兌換,并解決存入單一資產問題;
通過引入計息規則,完善當前CFMM手續費和收益計算模型的不健全,并基于凸優化為套利者提供高效的套利策略模型;
全面風控指導,尤其是外部市場波動風險,包括LP的無常損失、滑點保護機制、被套利問題等。
MOV超導基本架構
超導基本角色
MOV超導基于儲備池提供流動性,所以也可以稱之為儲備池做市商,由這一角色向儲備池按照當前幣種間正常市場匯率比例投入各資產進行做市,LP會因此獲得系統收益,收益來源便是在此市場交易產生的交易手續費。這個市場的定價或者維持匯率錨定并不是通過傳統的中心化預言機機制,而是完全依賴于一種角色,一旦因為交易或者外部匯率變化導致場內匯率跟正常值出現明顯偏差,套利者便會迅速進行套利操作,在場內以低成本換取偏差代幣,然后去場外匯率正常的市場高價賣出,賺取額外收益的同時將場內匯率“搬”到跟場外一樣,這種通過不斷的高頻套利維持場內價格與正常市場匯率錨定的機制,我們也稱之為鏈上預言機,這也是CFMM最為重要的意義之一。
在這樣看似簡單的過程中其實蘊藏著復雜的套利與損失問題:有些LP可能并沒有嚴格按照理性比例存入各資產;場內價格嚴重偏離外部正常市場匯率;迅速波動的外部市場環境對LP存入策略的影響;超級攻擊,例如閃電貸攻擊。簡單來概括這些問題的本質——被套利者利用,加大LP的損失,不利于系統健康運轉。但如果我們的系統和機制設計可以很好地解決這些問題,讓套利者成為一個“白帽子”套利者,而不是像黑客一樣利用系統金融漏洞進行惡意套利,不僅有助于維持場內匯率跟外部正常市場匯率間的無縫錨定,創建一種完備的鏈上預言機和去中心化交易市場,更有利于系統中所有關鍵角色達到一個共贏的平衡,讓系統正向壯大。
除了這些關鍵角色外,還有一些輔助設施,比如單一資產代理轉換,即幫助存入單一資產的LP轉換成按理性比例存入各資產的機制;滑點保護機制,幫助正常交易者和LP規避損失;黑天鵝熔斷機制,以防某種穩定幣出現黑天鵝信用危機造成的系統風險;外部市場波動監控,通過靈活調整系統關鍵參數應對極端的市場行情波動。
MOV超導角色圖
核心函數公式
隨著DeFi的崛起和壯大,越來越多的穩定幣交易需求從CeFi交易平臺轉向更為簡便、安全、透明的DeFi交易平臺和錢包,很多穩定幣還涉及到平臺間的競爭以及合規問題,因此并不適合單一的中心化交易所,這也是DeFi交易平臺能夠有機會跟中心化交易所競爭一席之地的機遇,而CFMM機制天然適合穩定幣兌換生態。因此MOV超導首發的是穩定幣間的交易兌換市場,這里我們將還原如何構建出適合穩定幣兌換場景的CFMM,也是超導最為核心的技術。
我們先來看最簡單的做市函數——恒定之和:
上圖示意我們初始時有5個USDC和5個USDT。在這條斜率絕對值恒為1的直線函數做市下,USDC和USDT間的兌換匯率始終保持為1:1,即1USDC=1USDT。看似很完美,但是有兩個致命問題:
流動性枯竭。在沒有強制干預的前提下,很容易出現一方數量歸零,將無法再次提供流動性;
無法適應變化的匯率。在外部市場中,穩定幣間并不會完全1:1錨定,每種都有可能出現各自的波動行情,場內需要能夠實時錨定,否則會帶來套利危機。
為了彌補缺陷,我們很自然的想到了著名的雙曲線函數——恒定乘積:
聲音 | 段新星:比原鏈停止對第三方平臺ERC20代幣兌換的技術支持:段新星發微博稱,截至2018年9月30日24:00,比原鏈團隊將停止對各第三方平臺的比原鏈ERC20代幣兌換的技術支持,感謝廣大用戶及合作方的支持。[2018/10/1]
雙曲線最為直觀得反應了供求與價格的關系。其函數曲線無限接近與x和y軸,但永不相交,即當一方代幣因為極度需求導致池中數量越來越少,則其價格接近無窮大,兩幣數量比即為匯率,也即雙曲線對應點斜率。這條曲線完美解決了上述兩個難題,但同時又引入了一個新的致命問題:無法適應穩定幣兌換場景。穩定幣大多數情況下匯率是穩定的,而且接近1:1,雙曲線函數會引入很大的滑點,即便在很少的交易量下,因此不利于滿足大額穩定幣兌換的需求。
能否將兩個函數各自的優勢結合到一種新函數中——穩定的匯率輸出、極低的交易滑點、可自動調節的場內匯率以及無盡的流動性保護。從圖像直覺上,我們其實在尋找一條在兩條曲線之間的一種曲線,既能夠在中間位置貼近直線,又能夠在尾端向雙曲線一樣無限貼近坐標軸。在幾何數學上,要獲得兩曲線之間的線只需要將二者的表達式相加:
還不夠貼近直線表達式。可以賦予權重常量:
賦予(x+y=D)以權重A,A越大表示合成曲線比例越以直線為主,即偏向直線形態,但同時我們發現合成線的尾部并沒有延續雙曲線的優勢,也就無法提供無盡的流動性。這里我們需要用極限思維和逆向思維來推導合成公式可能的組合形態——我們以初始化點為中心,在中間范圍極度貼近直線,坐標的乘積雖然不再等于雙曲線恒定乘積值(D/2)^2——比之小,但越往中心越接近(D/2)^2,越遠離中心越小于(D/2)^2。直到極限位置,x*y將遠遠小于(D/2)^2,逼近于0。
所以我們的表達式應該滿足上述特征。在上面權重表達式的基礎上,我們讓A“動起來”,成為變量X——當線上的點越貼近中心位置,X越趨于A,使得合成表達式權重偏向直線;當線上的點越遠離中心位置,X越趨于0,使得合成表達式權重偏向雙曲線。因此得X:
至此便可以構建出完整的合成函數公式:
化簡得:
以及函數曲線為:
如果繼續追求完美,我們受到了Curve.fi的啟發,權重變量X乘上一個可以表示直線和雙曲線在坐標軸上位置的常量值D——如果流動性越大,則對應的直線和雙曲線的D值越大,兩條曲線越“膨脹”,相應的權重常量也應該跟D的膨脹保持同步,才能“咬住”貼近直線,因此確切的應該是——當線上的點越貼近中心位置,X越趨于A*D,只有這樣才能隨著流動性增大自動放大權重,否則一直維持A的上限,將會隨著流動性越來越大而不再“貼近”直線,失去恒定。最終我們得到完美的核心公式如下:
以及函數曲線為:
比原鏈主網上線:比原鏈主網上線公告比原鏈公告宣布“”經過10個月的開發與測試,比原鏈主網1.0.0版 “智” 于北京時間4月24日14:00正式上線。[2018/4/24]
借助兩幣種示例,我們找到了構建核心公式的基本原理,同時兼得了中心范圍超低滑點以及尾端無盡的流動性兩大優勢。下面我們給出多維標準核心公式,本質是一種隱函數:
常用的二元形態為:
其中,
為了方面直觀感受,下圖給出一種三維形態示例圖:
這里要特別指明所謂的多維僅僅是核心表達式可以兼容多種變量,即多個幣種,但在同一時空下存在的僅僅是兩兩間互兌,不存在三者及以上兌換,否則將會升維到真正的多維空間,即便在三維空間幾何中我們也無法規劃出曲面上最優的點移動軌跡,而到了四維及以上空間更無法按照常規手段完成多幣種間輪兌。實際交易場景中也是兩兩兌換居多,因此本質上我們是對多維核心公式進行了降維求解——即只將在兌換的兩種幣數量視為變量,其他幣種數量視作已知常量帶入核心公式,將多維公式降維到二元分式方程,通過牛頓迭代法,根據輸入的幣種數量求得要換的幣種數量,完成交易成本計算。同理跟LMSR一樣,成本函數也對應著匯率公式。
對于二元核心公式,求曲線上點的切線的斜率,即代表此時場內對應的匯率,問題簡化為對隱函數求導。
注:對于隱函數的導數,采用隱函數求導法來求函數的導數——將方程兩邊對?x?求導,在求導過程中,將?y看成?x的函數,運用復合函數求導法,從而求得函數的導數。二元相對簡單,多元的需要求偏導數。
對于多維核心公式,依然采用降維分析,例如對于上面的三維曲面,求此時點所在的切平面分別相對于三個坐標平面的相交線的斜率,即代表兩兩間的匯率,同樣把計算問題簡化為對多元隱函數求偏導數,即對多維核心函數進行隱微分得如下一元方程:
我們所求的匯率即為:
進一步,我們定義j幣和l幣是在兌換的兩種資產名,j幣的數量為y,l幣數量為x,定義兩者的匯率表示為SP,對上面原始公式移位化簡,得匯率SP的標準公式:
此公式適用于資產池中資產種類在三種及三種以上的情況,也是最普適的匯率計算公式,公式右邊所有變量都可知,即根據此時資產池中各資產現存的數量進行匯率的求解,x和y是兌換兩資產各自在池中現存的數量,括號中的累乘積表示的是除了j和l這兩種資產外其他池中所有種類的資產的數量的乘積,都是已知變量。n代表資產種類有多少,A和D是核心公式常數。對于只有兩種資產的池子,可以對上式進行進一步化簡,去掉括號累乘積項,然后令n=2,得如下兩資產池匯率計算公式:
至此我們完成了所有核心公式的構建!
LP的損益模型
我們認為對于一個CFMM市場,除了核心公式,最為重要的就是流動性提供者的損失和收益問題,而判斷一個CFMM市場是否具有吸引力和抗風險,也正是看其是否全面刻畫了LP的損失和收益模型,總結下來模型應該包含如下幾點:
無常損失模型;
不按理性比例同時存入各資產,包括單一存、場內匯率與外部市場脫錨時存、存入過程由于干擾、搶先交易和時間等因素導致的比例出現偏差;
穩定幣CFMM獨特的被大量套利問題以及極端套利保護機制;
針對LP的滑點保護機制;
手續費收益重新注入流動池及手續費模型;
LP的年化計息模型以及提取操作。
我們依次來講解。
無常損失。這是大多數的翻譯,其實本質上應該叫做臨時損失,或者叫虛損失。這是由于LP在投入資產后,在沒有手續費收入時,面對市場波動和匯率變化,會被套利者不斷套取資產,導致自己所占有的池中資產總價值比剛投入時變少了,但是等匯率又回到投入時的匯率時,這部分損失又消失了。對于簡單的恒定乘積做市函數,我們可以很容易刻畫出無常損失曲線。
蜘蛛礦池發布即將支持比原鏈挖礦的公告:蜘蛛礦池發布公告稱即將支持比原鏈挖礦,比原鏈主網將于北京時間4月24日14:00正式上線,蜘蛛礦池致力于保障數字資產網絡安全的同時,也大力支持人工智能芯片的發展和積極促進區塊鏈和人工智能的結合,比原鏈其核心協議及網絡的安全穩定運行將影響兩者后續的進一步發展。蜘蛛礦池宣布將同步比原鏈主網上線比原鏈挖礦。[2018/4/23]
假定LP剛投入時有xy=D,當匯率發生變化,套利者進行套利后數量變為:
定義無常損失表達式:
其中有,
根據r表達式,代入p0和p1,化簡得:
另外有:
最終都代入獲得無常損失關于匯率變化幅度r的函數表達式:
對應函數圖像:
從圖像上可以直觀看到,不論之后匯率是漲還是跌,都會給LP帶來無常損失,跌帶來的損失更為顯著和迅速,當匯率漲到4倍時,大約會帶來20%的損失。
再回到我們的超導核心公式,由于隱函數過于復雜,很遺憾我們沒法像上面化簡過程一樣進行無常損失表達式的構建,雖然無法用公式量化無常損失,但機制跟恒定乘積函數是一樣的,不論匯率漲還是跌,都會帶來無常損失,所損失的即為套利者所套利的,因此可以從套利者獲益的角度反向推算LP所經受的無常損失范圍。一般情況下的無常損失有助于激勵套利者搬平場內匯率,但我們需要幫助LP盡量規避過度的無常損失,通過官方主動快速套利的機制,將所套利重新回饋給LP。
按比例同存同取。前面我們提到過,LP不按照理性比例存入資產會給自己帶來被套利損失。在理解了無常損失問題后,我們可以發現所謂損失的本質就是被套利,而被套利來自于LP存入時的比例與當下理性的市場匯率不一致。可以用函數圖像來直觀感受:
上圖示意:最下面曲線代表最初的狀態,粉紅色點也代表當時池中的一個理性資產比例,即USDT:USDC=5:5,如果一個用戶有10美元,他應該將10美元變成5USDT和5USDC,同時存入池中,最上面的曲線即為變更后的公式,而此時曲線上的點位于藍色位置,即池中USDT:USDC=10:10,維持了匯率恒定,所以不存在被套利空間,也就不會有損失;但是如果該用戶的10美元全是10USDT,并一次性投入池中,我們將得到中間的曲線公式,而且此時曲線上的點位于紫色位置,即池中USDT:USDC=15:5,明顯偏離正常市場匯率,會被套利者瞬間利用進行套利,將點搬移到圖中綠色位置,即池中USDT:USDC=9.5:9.5,該LP為套利者進行了無償奉獻。
這里要注意的是,此損失僅僅來自該LP的資金,并不會影響之前其他LP的可提取資產值,如圖所示,當套利者搬到綠色位置后,該用戶如果全部提取自己的資產,將只能提取到9美元,而非存入時的10美元,套利者拿走1美元,之前的LP不賺也不虧。如果紫色點還沒來得及被搬移到綠色點,在該LP之前的LPA要提取自己的資產,則LPA也會攫取部分套利。在后面的計息模型中我們會詳細講解其中的計算法則。
這里我們只是舉例了一種簡單的模型,即整個過程中匯率維持恒定,不存在外部市場波動,而在實際生產環境中,外部市場匯率高頻波動、存入過程擾動誤差、LP不按理性比例存、套利者攫取、之前LP提取流動性等這五要素會復雜交融影響,很難憑直覺判斷LP資產存入策略是否規避了損失。但我們對于LP最直接的忠告是,實時關注場內匯率與理性市場匯率,只有在二者極度接近以及恒定錨定時,再嚴格按照比例投入自己的資產,才能將損失降到最低;避免在某種穩定幣資產遭遇頻繁外部市場波動時存入。
這也讓我想起了分布式一致性系統的設計和開發過程,原理或者核心公式其實非常簡單,但正是這些復雜的不可預測的外部因素以及路徑,導致了系統的復雜度和風險度無處捕捉,因此人們開始用CAP和FLP指導自己的系統設計,同樣在我們的CFMM市場中,一切也才剛剛開始。
被大量套利問題以及極端套利保護機制。接著第二個問題的解釋,我們列出幾點會對系統帶來過度損失的模型:
a.在初始化時,創始LP以1:1投入穩定幣資產,隨后在市場和套利行為下,不斷讓場內匯率更新,直到實時錨定到市場匯率,如果外部市場匯率因為極端行情等因素明顯偏離1:1,由于超導曲線前半段優越的抗滑點特性,在滑動到市場匯率的過程中,可能會存在路途過長,導致套利者攫取大量套利利潤,嚴重損害創始LP的利益。因此對于一個成熟的穩定幣CFMM來說,必要的極端套利保護機制是需要時刻準備的,由官方套利者及時接手過度套利空間,之后將利潤返還給LP。
比原鏈與比特大陸合作礦機疑似曝光:剛剛,比原鏈創始人長鋏發布配圖微博“猜猜這是什么”,圖片中顯示為一臺礦機,網友在評論區回復稱“比特大陸產的比原礦機”。此條微博似乎驗證了早前“比原鏈與比特大陸合作礦機”一事。[2018/4/17]
b.市場匯率在波動的同時,流動性池大小也在不斷的增加或者減少,套利者如果故意不及時套利錨定外部市場匯率,讓場內匯率一直存在偏差,會造成LP持續按照偏差比例存入資產,最后套利者在積聚到一定量后開始一次性套利,給這些LP造成大量的套利損失。
除了官方提供的極端保護機制外,我們也鼓勵LP擔當套利者,他們能夠清醒地判斷場內匯率是否出現偏差,搶在惡意套利者之前搬平場內匯率,不僅給自己存入資產規避損失,也帶來額外的套利收益。
所謂的理性比例是指跟市場匯率錨定,而不是任意時刻流動池中的資產比例。假設市場匯率是1:100,場內此時出現脫錨1:105,則LP需要先搶在套利者之前完成套利和市場平衡,再按照1:100投入資產,如果不先完成套利,不論是以1:105還是1:100存,都會被套利產生損失。我們更傾向于LP也能充當市場預言機和套利者,在承擔場內外匯率平衡的責任的同時,也可以獲得套利收益,也是為了自身損益的考慮,避免無謂的損失。
LP的滑點保護機制。滑點保護是對正常交易者和LP的保護。在LP情境中,即便LP再理性和認知及時,也可能無法規避不按比例存的風險,比如在提交上鏈的過程中,出現了搶先交易、操作失誤或者極端的市場波動,因此無法保障時序原子性,而我們的滑點保護機制會檢測LP的范圍超出,在微小范圍內允許LP繼續存,否則回退操作。
手續費模型。LP的收益來源便是手續費,在超導中手續費模型十分簡單,交易額的萬五。用戶用x幣換y幣,我們的交易費扣除是在y端,并且手續費重新注入流動池,繼續提供流動性。LP可隨時提取本金和手續費收益。
直接將y投入流動池:如果考慮兩步操作的原子性,即在用戶兌換交易后,超導立即將k*M數量的y幣再投入到流動池中——僅在這種情況下可以由超導單方向存入。在假定用戶兌換時是處于正常市場匯率情況下,超導直接投入y幣有助于幫助場內匯率向正常市場匯率滑移。這個問題的本質是手續費收益不會被套利者搬走,我們知道兌換后出現了場內滑點,而滑點偏差正是套利者的套利空間,如果我們在兌換后直接將所有的y端手續費重新投入流動池,會更改D值,即曲線發生變更,變更后的點所在切線斜率會更偏近正常匯率點切線斜率,即這種手續費直接回填的操作像套利者一樣在搬平場內已經出現的斜率偏差,使得套利者基于中間曲線進行套利的空間變小。從下圖中很明顯直觀看到套利者不再享受之前匯率明顯偏差的紅利,即對于最下面曲線用較少的y換得更多的x幣,雖然依然可以套利,但成本要高于最初曲線的套利。所以這種手續費回填的做法,進一步壓縮了套利者的套利空間,被壓縮的部分利益轉給了LP們,使得套利者和LP們共享之前那筆兌換中交易者多付出的滑點損失成本,而回填的手續費也依然全部歸LP提取,套利者并不會分得。
假設我們開放了后續的單資產存操作,初始時LPA在提供流動性,投入了5個x幣和5個y幣,最下面曲線和粉紅色點,隨后交易者X發起一筆交易將場內點滑移到了紅色空心圓位置,回填手續費后曲線變更為中間曲線,點位置為紫色點,如果此時LPA全部提取資產,可以提15個x幣和5個y幣,比投入時要多出一部分利益,這部分利益空間就來自于該交易者X多付出的交易成本,但如果此時存在套利者從紫色位置搬移到綠色點,LPA全部提取資產,可以提9.5個x幣和9.5個y幣,比紫色點可提取的15個x幣和5個y幣的總價值要少,原因是將交易者滑點損失成本的一部分分給了套利者,即便如此,LPA依舊拿到了比自己原始本金加上手續費更多的收益,原因就是手續費回填流動池壓縮了套利者的套利空間,將交易者X的交易滑點成本一部分也分給了LPA。
如果在滑移到紫色點時沒有套利者出現,直接出現另一個LPB直接投入了0.75個y幣,而不存入x幣,則此時曲線直接變更為最外面那條曲線,此時場內點為灰色空心圓位置。根據下面的計息模型,LPB和LPA分別占有的份額為:1/20,19/20。如果沒有套利者在搬移,則LPA此時全部提取可以提15*(19/20)=14.25個x幣和5.75*(19/20)=5.4625個y幣,比紫色點時可提取要少一點,因為LPB分得了一部分來自交易者X滑點損失的利益空間,即LPB此時全部提取可以提15*(1/20)=0.75個x幣和5.75*(1/20)=0.2875個y幣,此時對于LPB來說可以提取到比存入資產更多的資產,而利益空間就來自于之前交易者X多付出的交易成本,與手續費回填是一個邏輯。如果此時出現套利者進行套利,其可套得利益比之前從紫色點套到綠色點過程所攫取的利益更少了,原因是LPB也參與了交易者X交易成本的瓜分。但前提是LPB單資產存后不要反向超過平衡點,否則自己便又新造成了場內匯率偏差,需要承受被套利的空間。
年化計息模型以及提取。MOV超導記賬規則:
如果沒有流動性大小的任何變化,不論流動池中兩種幣的比例如何變化,甲的百分比不變,依然是自己持有的計息憑證數量除以當前總發行的計息憑證數量;
當流動性大小改變后,計算出新的D值D1,然后此時總發行的計息憑證數量是之前的D1/D0倍,如果此時甲提取自己的資產,百分比為甲持有的計息憑證除以此時總發行的計息憑證的數量。
舉例:
T1:小明按理性比例存入1ETH、100DAI,獲得系統分發的1計息憑證,此時總計息憑證數量也為1;
T2:在接下來一個月里,發生了許許多多交易,但并沒有新LP加入,手續費讓池子規模變為2ETH、200DAI,注意此時雖然手續費改變了池子流動性大小,但并不需要在每一筆交易后去計算新的D值,也不需要根據新的D值倍數去增發計息憑證——這一個月期間總計息憑證數量并未發生改變,而小明的份額也未發生改變,他依然擁有池子百分百的流動性提取份額
T3:小剛按理性比例存入1ETH、100DAI,此時根據兩種資產的數量計算新D值D1,得D1=(3/2)D0,因此得到新總計息憑證數量應該是之前的倍,即此時系統總共有1.5個計息憑證,其中1個計息憑證是之前小明的,剩下的0.5個計息憑證是分發給新LP小剛的——此時小明的份額將變成,可提取2ETH和200DAI,而小剛的份額將變成,可提取1ETH和100DAI。
注意:上面例子中小剛加入時的理性比例跟T1和T2時刻一樣,實際上在T2期間,ETH可能會漲漲跌跌,導致T3時刻場內資產數量比例發生變化,但并不影響我們的計算邏輯,小剛依然按照此時場內的數量比例投入資產,繼續按照T3的計算過程完成計算即可。
這也是MOV超導給予CFMM完善發展貢獻的一份力量。
滑點數據與保護
我們直接給出MOV超導滑點數值實驗:
在50萬量級流動性下,一次性大額交易20萬美元的滑點為0.29%,相比于幾大中心化交易所也具備充分的競爭力。我們會在0.5%~10%范圍內設置滑點保護檔位,給予一次性大額交易充分的滑點保護,避免給交易者帶來過大損失,但這里要注意的是,滑點保護機制需要能夠獲取一種客觀的市場匯率作為參照才能夠發揮保護機制,而同時不妨礙套利者維持場內匯率恒定和反方向正常交易者正常交易秩序,我們稱這種手段為,也是MOV超導在不斷完善CFMM的地方。另外一檔保護為,如果上鏈時發現與用戶提交時匯率不同,可以允許有0.05%的偏差,超過則回退資產。
這里我們重點講一下表格實驗的由來,方便后來人借鑒參考。在我們的核心公式中,D決定池子流動性規模,A表示向直線偏移權重,A的選擇至關重要。D隨著流動性更迭在不斷變化,而A一經選定,可穩定被采用。A不可以太小,比如1~50,否則在曲線中心范圍內會存在明顯的滑點,過早喪失交易吸引力;A不可以過大,比如>200,否則會使得曲線價格發現失去根據市場匯率變動而調整的空間,同時給予極端套利者瞬間清空池中單方流動性的可能性,因為成本很低。如上圖是流動性規模為50萬量級,大概是在其三分之一處存在千三的滑點,當A保持不變時,不論流動性規模變更為多少量級,比如30萬,也是在其三分之一處存在千三的滑點,即10萬交易量。
深奧的數學問題
到此MOV超導實用性的篇章已經講完。下面是一些非常有意思的CFMM數學問題,相信會隨著CFMM的壯大,不斷走向專業性,也會吸引更多學術界人士,開展更為先進的CFMM機制。
牛頓迭代法。
深入到工程細節,隱函數方程是很難直接根據x求出y。因此我們借助著名的牛頓迭代法來實現兌換公式。
迭代法是利用逐次逼近過程求解非線性方程,同樣的計算過程往往要多次進行,而每次都要以前一次計算結果帶入計算。?一般100次運算完全能得出相當精度的結果。迭代法求解方程的過程是多樣化的,比如二分逼近法求解,牛頓迭代法等,這里采用牛頓法。牛頓-拉弗森方法提出來的思路就是利用切線是曲線的線性逼近這個思想。
牛頓迭代法是一種很棒的迭代法。因為在它在大部分情況下都收斂,而且收斂速度很快,有效數字位數以指數級增長。
收斂的充分條件:若f二階可導,那么在待求的零點x周圍存在一個區域,只要起始點x0位于這個鄰近區域內,那么牛頓-拉弗森方法必定收斂。也就是說,在這個區域內,用切線代替曲線這個直覺是合理的。但是,因為我們不知道根點到底在哪里,所以起始點x0選擇就不一定在這個區域內,那么這個直覺就不可靠了。
我們將超導原始核心公式進行變形得如下形式:
PlainTexty^2+y*(sum'-(A*n^n-1)*D/(A*n^n))=D^(n+1)/(n^(2*n)*prod'*A)
其中y就是我們現在正在求的j幣的總數量,sum‘是將j幣排除在外其他所有幣種的總數量之和,prod’是將j幣排除在外其他所有幣種數量的乘積,n^n表示n的n次方。
上面公式可以抽象為一元二次方程:
PlainTexty^2+B*y=c
在代碼實現中構建B和c的表達式,令b=B+D。進一步按照牛頓迭代法,有
PlainTexty'=y-f(y)/f'(y)
其中
PlainTextf(y)=y^2+B*y-c
化簡即得代迭代公式:
PlainTexty'=(y*y+c)/(2*y+b-D)
對該式進行循環迭代,直到最終精度縮小到某一范圍內,即得到精確的y值。經過測試,收斂速度十分迅速。
同樣除了兌換函數,每次流動性變化后核心公式中的D也要跟著池中的數量變化而變化,依然采用牛頓迭代法進行D的求解。構建出D的迭代公式如下:
GoD=(Ann*S+DP*xpLength)*D/((Ann-1)*D+(xpLength+1)*DP)
交易路徑獨立。
這個問題可以簡化為,交易者將一筆大交易拆分成多個小交易依次進行交易和一次性完成大交易,哪一個更減少摩擦損失。
路徑獨立假說:
交易一為(?,Λ),交易二為(?′,Λ′),將二者合并為一個交易(?+?′,Λ+Λ′),下面公式表示的意思是,我可以用?數量的i幣換取Λ數量的j幣的前提下,當且僅當我輸入?+?′數量的i幣能夠換取Λ+Λ′數量的j幣時,那我就可以在用?數量的i幣換取Λ數量的j幣后,再用?′數量的i幣換取Λ′數量的j幣。反過來也是如此。
與此相對的是pathdeficiency假說:
當我輸入?+?′數量的i幣能夠換取Λ+Λ′數量的j幣時,如果我更換策略,先執行用?數量的i幣換取Λ數量的j幣的交易,然后再去換取Λ′數量的j幣時,會發現?′數量已經不夠用了,需要大于?′數量,損失由此產生。
pathdeficiency假說的意義是,對于交易者來說,將多筆交易聚合成一筆交易,比分開來交易,更劃算。
本來CFMM屬于路徑獨立型,但是,在引入手續費計算時,交易將從pathindependent變為pathdeficiency,證明過程我們借用論文:
簡單來講,我們分別表示出合并成一筆交易可以換得的數量和拆分成兩筆交易獲得的數量之和,對二者進行比較。最主要的過程就是移項化簡得到第三個式子,證得其恒為正。
凸優化與套利策略。
這是最后一部分內容,與套利者套利策略和路徑規劃有關。首先來看一下高深的凸分析或者凸優化:
凸優化就是:1、在最小化的要求下,2、目標函數是一個凸函數,3、同時約束條件所形成的可行域集合是一個凸集。
依然費解。來看一個例子:
很簡單的一個套利過程其實可以用凸分析來量化策略。我們有:
構建凸優化:
但這不夠具有明顯的凸性,進一步變換:
因此得到標準的凸分析形式:
便可以借助專業的數學凸分析工具,自動完成計算。
上面展示的是一維的凸分析,優勢不夠明顯,似乎直覺更有效,但在多維場景下,比如多種幣的交易市場,對于套利者來說,就必須要清晰自己最優的套利策略,有點類似動態規劃問題,十分困難,但這里便可以借助凸優化:
最后,超導不止于穩定幣CFMM!
引用文獻
GuillermoAngeris,ImprovedPriceOracles:ConstantFunctionMarketMakers,2020,?https://arxiv.org/pdf/2003.10001.pdf
Uniswap,AnanalysisofUniswapmarkets,2019,?https://arxiv.org/pdf/1911.03380.pdf
Balancer,Anon-custodialportfoliomanager,liquidityprovider,andpricesensor,2019,?https://balancer.finance/whitepaper/
RobinHanson,LogarithmicMarketScoringRulesforModularCombinatorialInformationAggregation,2002,?http://mason.gmu.edu/~rhanson/mktscore.pdf
無論是兩國交戰還是高手過招,攻,要適時而動,看準時機果斷出手;守,要游刃有余,隨時為自己留有退路。善用攻守之道,才能立于不敗之地.
1900/1/1 0:00:00瑞士聯邦委員會表示,瑞士現行稅法適用于區塊鏈行業的發展。根據瑞士聯邦委員會的說法,瑞士無需修訂有關區塊鏈和分布式賬本技術的現有稅收法規.
1900/1/1 0:00:00作者:嚴強 來源:微眾銀行區塊鏈 可信硬件何以可信?相比純軟件隱私保護解決方案,結合可信硬件的解決方案有何優勢?可信硬件是否真的堅不可摧?可信硬件的使用又會引入哪些技術風險和商業顧慮?可信硬件執.
1900/1/1 0:00:00Curve,這家領先的穩定幣AMM兌換商,剛剛發布了其治理代幣CRV及治理社區CurveDAO的第一版計劃.
1900/1/1 0:00:00研究平臺ERIC創始人RussellNapier警告稱,明年發達國家的通貨膨脹率可能會超過4%。這可能會推動比特幣的價格上漲.
1900/1/1 0:00:00本文為知名投資機構PanteraCapital寫給投資者的信:“有時,幾十年過去,世界波瀾不驚;有時,短短幾周時間,一個新的時代已經開啟。”——列寧.
1900/1/1 0:00:00