Do not go gentle into that good night

Defi 不僅是加密世界的重要嘗試,更是可能引導當前世界的變革。經過 2019 年的蓄力,2020 年初步打開了局面,不管是借貸,還是 DEX 或衍生品領域,在鎖定資產量、借貸量、交易量、用戶量等方面都有了很大的提升。而在 Defi 領域,和中心化交易做市商機制不同,CFMM 模式大行其道。本文來探究對比 CFMM 的各類產品。

傳統做市商的在 Defi 的痛點

在傳統交易所的工作流中,做市商需要根據當前市場的情況下創建訂單,訂單要在鏈上掛出。受制於在當前公鏈(比如以太坊)的打包效率上,某些訂單可能得等上好一段時間纔會被打包,或者一直等待,這樣大大制約了做市商的資金使用效率。同時市場瞬息萬變,可能剛纔的價格還未能打包,就需要撤單重新掛單。所以像 0x 這樣的協議就採用鏈下撮合的方式來解決這個問題。

第二個就是交易手續費,傳統做市商對手續費非常敏感,高昂的手續費不僅影響策略的選擇,還影響套利空間,從而可能因爲無法賺錢而直接放棄。

當然,這裏也不意味着傳統做市商在 Defi 上就完全不行,而是受制於這些因素,導致其賺錢效應不如中心化的市場。

什麼是 CFMM?

**
**

首先,自動化做市商(Automated Market Maker) 並不是在區塊鏈上首創,AMM 這個概念在學術界已有 10 年的深入研究,研究主要集中在信息彙總的設計,以及如何應用於某些市場,在這些市場,回報依賴於世界的某些未來狀況,例如預測市場。

人氣最高的 AMM 是「對數市場評價法則」( Logarithmic Market Scoring Rule,LMSR),該法則於 2002 年提出,被用於大多數預測市場(例如 Augur V1 和 Gnosis)。AMM 的信息彙總還有其他策略,例如貝葉斯做市商(在二元市場表現不俗)和動態同注分彩做市商( dynamic pari-mutuel market makers)(常用於賽馬)。

但在區塊鏈領域,賦予 AMM 新的應用場景,可以把這一類 AMM 稱爲「常數函數做市商」,即 CFMM。

CFMM 是專門用於真實金融市場的第一批 AMM。加密社區設計出 CFMM,使用 CFMM 來讓用戶可以自動的交換數字資產,來構建去中心化的數字資產交易所,它建立在一種函數之上,即依據兩個或多個資產的可用數量來建立一種預先定義的價格組合。與基於訂單簿的傳統交易所不同,交易者是與一個資產池、而不是與某個特定的對手方交易。CFMM 不需要中心化的機構介入,將用戶的資產彙集成資金池,根據資金池的資產配置,通過智能合約一定的算法來自動報價,成交用戶的買賣單,從而達到了資產交換的目的。

值得注意的是,和傳統做市商不同,CFMM 需要一定的用戶資金來提供流動性,資金越多,流動性越好,當然 CFMM 也會將所有的交易手續費回饋給提供流動性的用戶,從而鼓勵更多的用戶加入。從提供流動性的用戶來看,這類似於一個理財產品。但是 CFMM 並不能保證用戶一定有正收益,在幣價大幅波動時,可能會引起損失。

CFMM 的優勢

**
**

體驗好

上面說過傳統的做市商痛點。而採用 CFMM 的模式,只要流動池彙集足夠多的資產,合約自動根據當前資金池的資產配備給出當前的報價,用戶能立即成交(當然滑點問題後面會講),其速度和體驗都相當好。

更易獲取流動性

在基於訂單簿的交易所,引導流動性是一個特別費力、成本極高的過程。通常情況下,交易所需要找到做市商,讓他們編寫用於定價和發佈訂單的客制代碼,並經常直接提供帳戶和資金,以便於交易。由於 CFMM 鼓勵被動的市場參與者將其資產借給資金池,因此它們使流動性的提供的便利度有數量級的提升。

用戶參與

傳統交易所對做市商有較高的資金要求,或者給予高額的配資,否則面臨大額喫單容易資金短缺,造成流動性枯竭,從而造成大的價格波動。

而 AMM 需要聚集用戶的資金來提供流動性,雖然單個用戶的資金可能不多,但在於數量多,可以聚集起更多的資金,讓小資金也有機會提供流動性,從而提升用戶的參與感。

價格發現

CFMM 提供了一種能力,即無需使用中心化的第三方即可衡量某個資產的價格,從而解決了所謂的「預言機問題」。因此,採用 AMM 機制的去中心化交易所一個良好的價格發現能力,其他智能合約可以將之作爲一個真實信息的來源。

當然當前採用 CFMM 機制的去中心化交易所的價格跟去中心的有偏差,但隨着資產和用戶增長,其和真實價格會越來越接近。

現行的 CFMM 的項目

現行的依託於 CFMM 來進行的 Defi 項目主要在以太坊上,當然觀察到其他的一些公鏈也在逐步根據自身的特色來完善相應的 CFMM 機制。從最初的 Bancor,算是一個開拓者,然後是 Uniswap,當前已經成長爲最大的使用 CFMM 來進行做市的項目,以及穩定幣版本 Curve,主打低滑點,和支持多資產儲備池的項目 Balancer,以及最新的的 Shell Protocol。尚未能看到 BTC 上(包括 BCH 也沒有)相應的嘗試,主要受制於智能合約的缺陷,在 UTXO 的生態上,看到有比原鏈的 MOV 在進行嘗試,其最新推出的超導兌換,也是一種穩定幣兌換的方案。

CFMM 項目對比的維度

在項目對比之前,需要談論,針對不同的 CFMM 其到底需要關心什麼,以及新的 CFMM 項目出現,到底有哪些創新點

  1. 核心公式

  2. 抵禦外部價格波動性與抗損失

  3. 流動性提供者(LP)收益

  4. 兌換資產類型

  5. 滑點保護機制

  6. 產品體驗

Uniswap

Uniswap 可謂是炙手可熱,當初也只是一個實驗性的產品,卻一躍成爲了明星級別的項目。Uniswap 實施的恆定乘積做市商策略,滿足如下等式:

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

R(α) 和 R(β) 分別是某種資產的儲備量,γ 是交易費。交易任何數量的某種資產,當改變其儲備量時,必須保證:當交易費爲 0,乘積 R(α)R(β) 一直要等於常數 k。這常被簡化爲 xy=k, x 和 y 分別是兩種資產的儲備量。在實踐中,由於 Uniswap 收取 0.3% 的交易費,並將其投入儲備,所以每筆交易 k 會增大。

轉換爲圖形,即爲一條曲線:

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

Uniswap 的優勢是非常的簡單,但缺點顯而易見,就是滑點較大

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

當在 Uniswap 中購買的數量大於流動池的 2% 時,購買該資產就會特別昂貴。

Uniswap 爲此設置了 0.5% 的滑點保護,當你一次購買數量超過流動池的 0.5% 就會被觸發,從而無法成功交易。滑點保護除了保護交易者也保護了流動性提供者,防止過大的無常損失

無常損失:這是由於 LP 在投入資產後,在沒有手續費收入時,面對市場波動和匯率變化,會被套利者不斷套取資產,導致自己所佔有的池中資產總價值比剛投入時變少了,但是等匯率又回到投入時的匯率時,這部分損失又消失了。

Uniswap 當前僅支持兩種資產之間的兌換,但可以開通任意 ERC20 交易對之間的儲備池,從而形成一定的長尾效應。這是一個非常酷的功能。

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

Uniswap 整體風格非常暖色和簡約風,功能上也非常簡潔。鏈接到 Metamask 即可使用,對於以太坊的老用戶來說體驗非常不錯。除了加入一個流動性池,也可以自己創建,這對於小的項目方來說提供了一個新的流動性場所,也衍生出 IUO 的模式。

Curve.fi

Curve.fi 更專注於穩定幣之間的互換。所以其更像一個專爲穩定幣交易而定製的 Uniswap。但是近期會發現 Curve 上架了 renBTC 和 wBTC,看起來當前它也不滿足於穩定幣的交易市場了。但兩個資產價值是 1:1 錨定,以後是要拓展穩定匯率資產交換了。

Curve.fi 的創新主要在低滑點,優化了大額交易造成大的滑點損失問題

Curve 使用的匯率公式如下:

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

和 Uniswap 相比,其更能咬合貼近直線,從而在較大的區間範圍內能夠保證更低的滑點,同時在兩端也能同時保持無限流動性。

在測試中,Curve 的滑點不輸中心化交易所。以 Coinbase 中穩定幣之間的交易對 DAI/USDC 爲例,將 10 萬美元級別的訂單推入交易系統,Curve 略優於 Coinbase,而且 Coinbase 的手續費要比 Curve 多 460 美元。

和 Uniswap 相比,Curve 收取更低的手續費 0.04%,這意味着對交易用戶的吸引力更大,雖然會對流動性提供者單次收益造成下降,但如果交易用戶越多,那麼其實收益也會更高的。

除了 Curve 本身的交易手續費,還聯合其他的 Defi 產品推出更多的組合收益,Curve 結合了另一個新的 DeFi 協議 iearn 之後,收益最高曾達到年化 30%。其核心就是尋找其他的借貸平臺獲取穩定幣來獲取該借貸平臺的額外收益。

在產品上,Curve 採用了更復古的極客風格,類似於早期的 Dos 系統界面,當然這可能受技術極客的歡迎,但可能造成大衆審美分歧。

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

在兌換資產類別上,Curve 專注於穩定幣的兌換,不要小看這個市場,現行中心化或者去中心化的穩定幣不少,需求也是巨大的。

MOV

近期由比原鏈團隊打造的超導協議,也算是第一個非以太坊鏈上的 CFMM 的項目了,也是一個穩定幣兌換的項目,開始探究一下其優勢。

MOV 意圖構建更爲靈活的適用於穩定幣間兌換市場的 CFMM 函數以及關鍵參數,MOV 將二維函數模型拓展到可靈活調整到多維幾何空間,即支持一個儲備池中存在多個幣種間互相兌換,並解決存入單一資產問題。MOV 依然以低滑點作爲其優勢,同時進行全面風控指導,尤其是外部市場波動風險,包括 LP 的無常損失(Impermanent Loss)、滑點保護機制、被套利問題等。

MOV 的核心公式:

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

在圖形顯示如下所示(藍色表示恆定乘積曲面,綠色表示恆定之和曲面,中間是核心公式在三維空間下的形態)

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

這裏要特別指明所謂的多維僅僅是核心表達式可以兼容多種變量,即多個幣種,但在同一時空下存在的僅僅是兩兩間互兌,不存在三者及以上兌換,否則將會升維到真正的多維空間。實際交易場景中也是兩兩兌換居多。

在滑點上,根據研發團隊的實驗數據,在 50 萬量級流動性下,一次性大額交易 20 萬美元的滑點爲 0.29%(千三),相比於幾大中心化交易所也具備充分的競爭力。

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

另外 MOV 也在 5%~10% 範圍內設置滑點保護檔位,給予一次性大額交易充分的滑點保護,避免給交易者帶來過大損失。另外一檔保護爲,如果上鍊時發現與用戶提交時匯率不同,可以允許有 0.01% 的偏差,超過則回退資產。

MOV 同時針對 LP (流動性提供者)進行滑點保護,滑點保護機制會檢測 LP 的範圍超出,在微小範圍內允許 LP 繼續存,否則回退操作。在極端被大量套利的情況下,官方套利者及時接受過度套利空間,之後將利潤返還給 LP。

除此之外,MOV 公佈了年化計息模型,這是 Curve 所沒有的:

(1)如果沒有流動性大小的任何變化,不論流動池中兩種幣的比例如何變化,甲的百分比不變,依然是自己持有的 ctoken 數量除以當前總髮行的 ctoken 數量;

(2)當流動性大小改變後(add liquidity/withdraw liquidity/fee from swap),計算出新的 D 值 D1,然後此時總髮行的 ctoken 數量是之前的 D1/D0 倍,如果此時甲提取自己的資產,百分比爲甲持有的 ctoken 除以此時總髮行的 ctoken 的數量(重要注意:不論是新 LP 投入資產還是交易手續費回填流動性池,我們統一抽象爲流動性大小改變,這是唯一影響份額計算的因素,但只有在新 LP 加入資產時才全局計算一次總的 ctoken 發行量,包括給予該 LP 的新增發的 ctoken 數量,上一個 LP 加入時刻到此時刻,這期間所有的手續費回填也都包含在了新總 ctoken 數量計算過程中)。

在產品上,MOV 主要以移動端爲主,其超導相關的功能分爲理財和兌換兩個板塊

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

可以將兩個幣種投入,並能夠獲取當前的利率情況,還是非常清晰的

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

兌換類似於一鍵兌換,只要流動池內數量足夠,可以很快的進行兌換。

移動端的優勢是使用非常方便,但 MOV 是直接集成在錢包內的,對於非錢包用戶可能使用不太方便,這是需要完善的地方,可以考慮作出 H5,即可以移動端訪問也可以頁面訪問更好。

Balancer

Balancer 簡單理解爲 Uniswap 的通用化版本。Balancer 將池中的代幣,從 2 個增加爲多個(目前 Balancer 最高可以設置爲 8 個),將各 50% 的比重改爲完全自定義的比例,也就是說,在 某個池中,不再限定爲必須各注入 50% 價值比例的相應代幣,而是注入用戶自定義比例價值的代幣,例如 75% 的 MKR 和 25% 的 ETH。

Balancer 採用了恆定平均值做市商,是恆定乘積做市商的一種概括,可用於超過兩種資產的情況,權重可不限於 50/50。核心公式如下:

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

圖形如下:

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

和 Uniswap 相比,Balancer 有幾個優勢:

多資產的支持:Balancer 最多支持 8 種資產

費率自定義:用戶可自定義手續費,而不是像 Uniswap 一樣是 0.3%

更具的想象力:可以構造指數基金生成器,比如:追蹤加密貨幣大盤情況,可以由比特幣(可以利用跨鏈至以太坊的 WBTC 或 HBTC 實現)、以太坊和 DAI 組成;追蹤 DeFi 生態,可以由 DeFi 協議的原生代幣組成,比如 MKR、ZRX、KNC、BNT 等;

當然 Balancer 也有缺陷,因爲多種資產的匯入,不同的比例,將會在某些臨界點,造成資產的失衡,從而導致更大的滑點。

從產品上看,Balancer 將交易和流動性池做了分離,需要從不同的入口進入。體驗上稍有差異,但因爲涉及到多種資產,並且比較複雜,所以分離也是沒有問題的。

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

多維度對比熱門常數函數做市商 CFMM:滑點、手續費與收益等

幾個項目對比

從多個維度對項目進行總結對比

|

滑點

|

交易手續費

|

Gas 消耗

|

LP 收益

|

兌換資產類型

|

產品體驗

|

交易效率

|

成熟度

—|—|—|—|—|—|—|—|—

Uniswap

|

較高

|

較高

|

|

較高

|

任何支持的 ERC20

|

|

|

較爲成熟

Curve.fi

|

|

|

|

|

穩定幣

|

UI 可能會引起分歧

|

|

一般(遇到過安全事件)

MOV

|

|

|

|

|

穩定幣

|

好,速度快

|

|

剛起步

Balancer

|

|

自定義

|

|

|

任何支持的 ERC20

|

|

|

未成熟

寫在最後

大家知道在區塊鏈行業,不論是技術,模式還是應用,更新迭代非常快,很多出生時衆星捧月的項目最後也只是曇花一現。那麼 CFMM 會不會也有這樣的情況呢?

根據 Andrew Bakst 觀點,自動化做市商使得某區塊鏈上的各資產之間能進行無摩擦交易,區塊鏈和自動化做市商的結合將使得付款方用於支付的資產不再必須是收款方願意接受的同一種資產。也就是說任何的資產都可以作爲一種交易媒介,而不再需要法幣來作爲媒介。

區塊鏈的第一步是將資產(如債券、證券、房地產、央行數字貨幣) 都放到鏈上,但資產的定價和交易仍然存在一定的問題。那麼通過自動化做市商來解決這個問題,A 可以用數字歐元、亞馬遜股票,而 B 可以收到數字美元、蘋果股票。只要有相應的自動化做市商來承擔相應的業務:任何資產都可以成爲一種交易媒介。(文章參考:https://medium.com/@apbakst/automated-market-makers-and-public-blockchains-4c0a556315dd

從這裏,可以看到 CFMM 的巨大潛力,現在以太坊上相關的生態也是蓬勃發展,鎖定了越來越多的資產,雖然遇到了一些安全事件,打擊了部分參與者的信心,但是道路曲折,相信其未來一定是光明的。