硬核丨數字資產恆定函式做市商(CFMM)從 0 到 1 的突破

買賣虛擬貨幣

作者|DmitriyBerenzon

在許多市場上可能沒有足夠的有機流動性來支援活躍的交易活動。做市商就是促進市場流動性的代理人。而"自動做市商"(Automated market makers,AMMs)就是透過各種函式在數字貨幣市場上提供流動性的演算法代理人(algorithmicagents)。雖然自動做市商在理論和實踐中都有研究,但"恆定函式做市商"(Constant Function Market Makers,CFMMs)是學術文獻和金融市場上從來沒有過的概念。CFMMs在數字資產交易所背景下應用了確定性定價規則,重新定義了做市商提供流動性的過程,並將進入全球資金池的途徑進行了大眾化。在本篇文章中,我將:

解釋AMMs和CFMMs的區別。

研究CFMMs的利弊並探討CFMM設計與用途的未來發展方向

相關術語介紹雖然加密社羣圍繞著AMMs的討論很激烈,但應用相關術語方面卻比較混亂。雖然大多數人一想到AMMs就會想到Uniswap,但實際上這個概念在學術文獻中已經有十多年的研究,大部分的AMM主要是為資訊聚合(information aggregation)而設計的,其收益率取決於未來市場(比如預測市場)的某種狀態。最流行的AMM是2002年開發的對數市場評分法則(Logarithmic Market Scoring Rule),且被應用於大多數預測市場(如AugurV1和Gnosis)都採用了這種方法。資訊聚合方面還有很多種AMM實現方式,如貝葉斯做市商(Bayesian market makers)(通常用於二元市場)和動態同注分彩做市商(dynamic pari-mutuel market markers)(通常用於賽馬)。雖然Uniswap確實是一種AMM,但我們可以一種更具體的方式看待它。Uniswap實際上是一種CFMM(下面我們將具體介紹該概念)。與Uniswap相似的AMMs也都可以歸類為CFMMs在談論CFMM時,我們經常聽到"繫結曲線(bonding curve)"這個詞,但這樣說是不正確的。繫結曲線定義的是某種數字貨幣價格和其供應量之間的關係,但CFMMs定義的是兩個或多個數字貨幣之間的關係。事實上該術語的創造者表示,"繫結曲線"實際上通常被用於"繫結管理社羣(bondedtogether curation community)"的語境中最後,經常聽到有人說像Compound這樣的演算法借貸協議可被看作是AMM。筆者同樣認為他們是某類AMM,但並不是CFMM,因為這些協議的利率函式是動態的(基於利用率(utilization ratio)),其目的也並不是為了保持利率不變。

恆定函式做市商(CFMM)介紹CFMMs是第一類專門應用於現實世界金融市場的AMMs。它們是由加密社羣設計的,其目的在於構建數字資產的去中心化交易所。他們建立在一個根據兩個或多個資產的可獲得數量建立一套預先定義的價格。與傳統基於訂單簿的交易所不同,交易者的對手方是資產池而並不是某一特定的對手。術語 "恆定函式(constant function)"指任何交易都必須改變資產儲備以使這些儲備量的乘積保持不變(即等於一個常數)。CFMMs通常有三個參與方:

交易員(Traders):以一種資產換取另一種資產。

流動性提供者(Liquidity Providers):願意接受市場每筆交易以他們的投資組合為對手方從而獲得交易費用的群體。

套利者(Arbitrageurs):維持該投資組合內的資產價格與市場價格一致以換取利潤的群體。CFMM經常被用於二級市場交易,由於套利的存在,CFMM往往能準確反映參考市場上某種資產的價格。例如,如果CFMM的價格低於參考市場價格,套利者就會在CFMM上買入該資產,然後在基於訂單簿的交易所賣出該資產以獲得利潤。恆定乘積做市商(Constant Product Market Makers)一個恆定乘積市場做市商(最先由Uniswap應用)滿足以下等式:

其中R(α)和R(β)是每種資產的儲備量,γ指交易費用。交易任何數量的α或β都能夠保證在交易費用為零的情況下交易發生後R(α) * R(β) = k。它也經常被簡化為x * y = k,其中x和y為兩種資產的儲備量。但實際上由於Uniswap收取0.3%交易費用然後加入到儲備池中的,所以每筆交易實際上都會使k增加。

由此以來這兩類資產的關係就可用恆定乘積函式——雙曲線表示,它有一個理想的特性,即就算某類資產的價格趨近於無窮,該函式仍能使市場一直保持著良好的流動性。恆定總量做市商(Constant Sum Market Makers)恆定總量市場做市商是CFMMs的一個比較直接的實現方式,它滿足以下方程:

其中R(i)是每種資產的儲備量,k在此仍是一個常數。雖然這個不會產生滑點,但它並不能為資產提供無限的流動性,因此很可能不適合作為去中心化交易所的獨立實現方式。實際上可能會發生這樣一種情況:如果儲備資產的相對參考價格(即在其他市場上的價格)不只一個,那麼套利者將總會選擇該類資產進行套利,直到儲備池中該資產的數量枯竭。

我們可用直線來表示此類關係,即x+y=k。恆定均值做市商(Constant Mean Market Makers)恆定均值做市商是恆定乘積做市商更加一般的形式,它可以將兩種以上資產納入儲備池中且每個資產的權重也並不一定是相同的。恆定均值做市商最早由Balancer提出,在沒有費用的情況下,恆定均值做市商滿足以下等式:

其中,R為每項資產的儲備量,W為每項資產的權重,k為常數。換句話說,在沒有手續費的情況下,恆定均值做市商保證儲備金的幾何加權平均數保持不變。

例如,對於三種等權投資組合來說其函式為(x * y * z)^(1/3)= k混合CFMMs其實還有幾個專案根據交易資產的特性使用混合函式來實現理想的關係特點。Curve(又名Stableswap)設計的函式基於這樣一種想法:如果標的資產的價格相對穩定(例如兩個美元計價的穩定幣),那麼可以減少函式中的滑點。它使用了恆定常數和恆定乘積的混合函式,並得出了一個相當複雜的函式。

其中,x是每項資產的儲備量,n是資產的數量,D是代表儲備量中價值的不變數。A是"放大係數"(這是一個可調控的常數),它提供了一個類似於槓桿的效應並影響資產價格變化的範圍。對流動性提供者來說,資產價格變化範圍的大小會給他們帶來一定的收益(即資產波動率越高,A應該越高)。當投資組合處於平衡狀態時,該函式可發揮恆定總量的功能;當投資組合變得非平衡時,該函式向恆定乘積轉變。實際上,該函式看起來像一個"放大的雙曲線"。

Shell Protocol其實也有同Curve類似的目標,但它採取了不同的方法。它和Curve一樣對穩定幣的滑點進行了最佳化,並像Balancer一樣Shell Protocol池子裡的數字貨幣也是一個加權的資產籃子,但它和這兩者的不同之處在於它使用了各種可調整的引數。它使用以下函式:

其中U(x)可解釋為由收益函式G(x)和損失函式F(x)組成的效用函式;x是每項資產的儲備量。實際上當資產池處於平衡狀態時,它發揮恆定總量的作用,但當資產池每項資產的權重的背離程度超過一定的閾值時,該函式會逐漸引入更多的滑點。這種設計確保了資產池根據每項資產的預設權重是保持平衡的。

CFMM的優勢更快的交易所在傳統的交易所工作流程中,做市商需要建立訂單,然後訂單在交易所釋出,接著做市商需要再瀏覽訂單,並且做市商需要等待訂單被成交。由於這樣的匹配過程比較繁瑣,有的訂單可能需要等待一段時間才能得到成交。透過克服一個被稱為"需求的巧合(coincidence of wants)"的經濟學問題,CFMMs可使得交易可以立即發生,這對於某些用途(例如,由於流動性低而難以做市的遊戲內物品)可能很重要。

引導流動性(bootstrapping liquidity)在以訂單簿為基礎的交易所中引導流動性是一個極其繁瑣和昂貴的過程。通常情況下,交易所必須先找到做市商,讓他們編寫自定義程式碼來定價和釋出訂單,並經常直接提供交易賬戶和資金。交易所往往不得不自己做一些預備工作,透過執行一個內部交易平臺,以確保他們不會做市商先看到資訊(front-running)。或者,創始人往往會執行一個python指令碼,用自己的資產提供流動性,同時對沖其他交易所的風險。" Delta Neutral "的做市商如果要想辦法將對沖掉賬面上的資產也是比較難的,因為市場不存在自然的買方或賣方,這往往是不可能的。因為CFMM鼓勵被動市場參與者將資產出借給資產池,這使得流動性準備金的計提變得更加容易。例如,Synthetix能夠使用Uniswap去引導其sETH的流動性從而讓使用者更容易在交易所交易。鏈上預言機(oracles)CFMMs提供了在不使用中心化第三方的情況下衡量資產價格的能力,它解決了“預言機問題”。與CFMMs互動的代理人通常受到正確報告資產價格的激勵,因此去中心化的交易所可以作為一個良好的,為其它智慧合約提供真實資料來源的鏈上價格預言機。Uniswap v2透過在每個區塊的第一次交易前就計算和記錄價格(因此更難操縱價格),從而強化了這種原生性。

路徑無關(Path independence)簡單來說路徑依賴(path dependence)就是指 "歷史上的事(history matters)"。基於訂單簿的交易所有一個路徑依賴的價格發現過程,在這個過程中,資產的價格取決於參與者的行為反應。這在傳統市場和中心化的數字貨幣交易所中都很明顯,資產價格受訂單簿深度、買入方或賣出方流動性、交易歷史和私人資訊等因素的影響。CFMM在很大程度上是路徑無關的(pathindependence)(假設費用最小),這意味著兩種任何數量資產的價格只取決於這兩種資產的數量,而不取決於它們之間的路徑。這也就給我們帶來了兩個重要的好處。

因為交易者從一次參與的所有交易中獲得的價格與在一組小量交易中獲得的價格相同,交易者不需要對他們如何進行交易進行策略化。

它最低限度上給出(代表)了一項資產的狀態:我們只需要知道數量就可以對資產進行定價。

CFMM的缺點滑點滑點指的是當交易者吸收流動性時,價格與交易者的行動背道而馳的趨勢。交易規模越大,滑點越大。CFMM會產生較大的滑點,因此更適合於規模較小的訂單量。異常金融風險(Exotic financial risk)在CFMM中加入流動性雖然簡單,但也伴隨著一些複雜的財務風險(虧損不定、短期不穩定、長期波動性/長期交易量相關性等風險)。例如,Uniswap的報酬率曲線是凹形的,這意味著流動性提供者在一定的價格邊界內是有利潤,而在較大的價格波動中則會虧損。

理想的情況下,我們在承擔風險時要有要保證收益與風險是"凸性"關係的,也就是在風險影象的兩邊都是向上的。但上圖所表示的回報結構表明,流動性提供者應該積極監測流動性池的變化並迅速採取行動,防止出現重大損失。

CFMM的未來發展特定資產函式(Asset-specific functions)CFMM在Curve和Shell的應用表明了為某些特定數字資產涉及常函式(即類似上文各類恆定函式的形式)是具有可能性的。因此,我相信除了穩定幣之外,我們將有各種針對其他資產型別設計的CFMMs,如衍生品(如抵押期權)和證券代幣(如房地產)。而這些CFMM的價格函式將反映出各自資產的顯著特點,從而達到減少滑點,提高交換效率的目的。

流動敏感性(Liquidity sensitivity)這一特性意味著做市商應根據市場活躍交易量調整其定價反應的靈活性。流動敏感性直觀上符合人們希望市場的運作方式:固定規模的投資在流動性市場上的價格變動比在非流動性市場上的價格變動要小。今天的CFMMs的流動敏感性僅限於價格(即流動性池越大,價格滑點越低),但其他一些維度可以是動態的。例如,固定的流動性提供者的收費是不具有流動敏感性的,因為不同數量的流動性提供者的收費比例是相同的(即無論流動性池的大小,都是0.3%)。一個辦法是在流動性較低的時候提高流動池交易費用比例,以激勵流動性提供者存入資產(例如,低於一定的流動性閾值時收取0.5%的費用,之後收取0.3%)。另一個辦法是在市場啟動時降低流動性提供者收費比例以鼓勵活躍交易量的發生,並在市場成熟後增加收費比例。雖然較低的收費比例可以增加交易量,但也可能會抑制資金池的流動性。一個有趣的研究是分析在交易激勵和流動性激勵之間能夠取得平衡的利潤最大化收費是多少。此外,流動性提供者的收費可以除了流動性之外據其他因素來調整收費比例。例如,它可以根據跟蹤波動率調整收費比例從而形成隨機定價機制,併為CFMs帶來 "波動敏感性"的等其他好處。一級市場雖然迄今為止,大多數CFMM都被用於二級市場交易,但它也可用於引導資產一級市場的發行。CFMMs使發行人能夠有效地發行實體資產和數字資產,並在提高流動性和消費者的價格發現能力的同時,捕捉二級市場的動向。這種用途最先是由Unisocks開創的,該公司建立了使持有人有權獲得一雙限量的實物襪子的代幣。由此500個$SOCKS代幣被創造出來,並以35個ETH的價格存入Uniswap的流動性池中,如果ETH以200美元的價格交易,那麼第一雙襪子的底價為14美元,第499對襪子的底價約為350萬美元。Saint Fame透過銷售襯衫進一步將這個概念合理化,Zora透過建立一個限量版商品市場將這個概念普適化,我預計會看到更多的專案使用CFMMs來實現這個用途。有趣的是,這又讓我們回到了AMMs最初的用途,即資訊誘導(information elicitation),只是這次是關於資產的價格而非事件發生的概率。

總結CFMM是金融市場的一項基礎性創新,它為學術界圍繞自動做市商引入了一個令人興奮的新領域。我們還處於CFMM的發展過程中較為早期的階段,我很期待在未來幾年內看到新設計和應用的出現。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;