從尋找下一個幣安,到尋找下一個Uniswap
王也
2020-08-20 07:14
本文约7888字,阅读全文需要约32分钟
從前“做下一個幣安”的願景已不太可能實現,“做超越Uniswap 的DEX”則看上去更加可行。

出品| Odaily(ID:o-daily)

出品| Odaily(ID:o-daily)

出品| Odaily(ID:o-daily)

出品| Odaily(ID:o-daily)

從銷毀平台幣到跟風IEO,過去幾年,“長尾”交易所們一直在復刻頭部交易所的展業路線。

這兩個月,風向變了。 DeFi 火熱,DEX 吸金,資本熱錢紛紛押注去中心化交易所賽道,“三大”在內的CEX 也紛紛投身DeFi,成立專項基金,尋找下一個爆火良機。

從前“做下一個幣安”的願景已不太可能實現,“做超越Uniswap 的DEX”則看上去更加可行。畢竟Uniswap 自身也有許多備受詬病的問題,如果DeFi 熱潮持續,新的DEX 崛起可期。

7 月27 日,中心化衍生品交易平台FTX 宣布推出基於Solana 公鏈的DEX——Serum。

8 月4 日,Hakka Finance 發布去中心化穩定幣閃兌工具BlackHoleSwap 白皮書,BlackHoleSwap 對標目前大火的去中心化穩定幣兌換平台Curve。

8 月8 日,DeFi Labs 創始人代世超在2020 以太坊技術及應用大會上宣布去中心化交易所DODO 將上線ETH/USDC 交易對。

8 月11 日,鏈上聚合交易平台1inch 推出自動做市商(AMM)Mooniswap,支持用戶以去中心化和非託管的方式在代幣之間切換。

頭部跨鏈協議Cosmos 也入局了,8 月14 日,IRISnet 研究總監Jeffrey Hu 在推特上表示,Cosmos 即將推出類似Uniswap 的平台Coinswap。

其它在過去始終未能俘獲大眾的老牌DEX 也紛紛發力。 8 月1 日,Bancor V2 上線,新增了多項亮眼功能,其提供單個代幣流動性的做法,顯然也是在解決Uniswap 的痛點。 8 月7 日,去中心化交易所IDEX 宣布完成250 萬美元的種子輪融資,由G1 Ventures 和Borderless Capital 領投,計劃下個月發布2.0 版本。

上述例子都是積極的探索,也為幣圈從業者開闢了新的業務方向。

但DEX 仍處於混戰時期,競爭格局不確定,各具特色的新玩家層出不窮,每家都有可能突圍而出。

二級標題

二級標題

二級標題

從訂單簿到AMM的範式革命

DEX 按撮合方式可以分為訂單簿(Order Book)、自動做市商(AMM,Automated Market Maker)和聚合器(Aggregator)三種。本文我們主要介紹最常見的訂單簿和AMM。

在正式介紹之前,我們首先要了解什麼是做市商(Market Maker)。

據MakerDAO 中國區負責人潘超介紹,做市商不同於普通交易者,他們是風險中性的,一手持有股票,一手持有現金。在訂單簿模式下,會同時布上買單和賣單,中間為價差。類似的,櫃檯模式的做市商會在客戶詢價時給出有利可圖的報價。

做市商是流動性的來源,高流動性市場需要做市商,同時也吸引規模化的做市商參與。

訂單簿

訂單簿

幣安、火幣、OKEx 等中心化交易所的撮合都基於訂單薄模型。在訂單簿中包含了買單(出價)和賣單(要價)列表,並列出了在每個價格點出價或要價的數量。

  • 在訂單簿式交易所中,需要做市商通過掛單來提供流動性。如果訂單簿交易所沒有流動性,會出現想買買不到、想賣賣不出的情況,因此流動性是衡量一個交易所的重要指標,流動性越好,成交越便捷。

在DEX 中,訂單簿又可分為鏈上訂單簿和鏈下訂單簿。

鏈上訂單簿

鏈上訂單簿模式,指所有的買賣掛單都存儲在區塊鏈上,訂單簿中的訂單會根據設定的買賣盤條件進行訂單撮合和交易結算。

早期的基於以太坊的去中心化交易所EtherDelta 採用的這種模式,用戶的充值、掛單、交易結算、提現等全部由智能合約來完成。由於沒有訂單自動撮合的機制,其上的每筆交易均需要在鏈上確認。其訂單模式如下圖所示:

  • Maker 填寫訂單請求,並用私鑰簽名後提交到區塊鏈上鎖定,Taker 從鏈上訂單簿中選擇希望交易的訂單,並發起一筆交易,然後由智能合約對Maker 和Taker 的交易需求進行匹配,交易成功後在鏈上進行結算。

鏈上訂單模式的優點是直接通過錢包交易,透明度和安全性較高,但其交易流程都在鏈上,交易速度較慢,確認時間較長,影響用戶體驗。同時訂單交易深度較差,並且交易費用較高,也可能因為鏈上的一些擁堵、Gas 等原因導致交易失敗等情形的發生。

鏈下訂單簿

與鏈上訂單簿相比,鏈下訂單簿模式最大的特點是:鏈下訂單撮合+ 鏈上結算。 0x、IDEX1.0 等屬於此種模式。

0x 是一個可以在以太坊區塊鏈上進行ERC20 代幣對等交易的開放式協議。該協議在技術上引入了Relayer(訂單中繼)的概念。 Relayer 負責在鏈下收集用戶(Maker/Taker)訂單、初步撮合後提交到鏈上進行結算。 0x 的訂單流程如下圖:

由Relayer 對外提供訂單簿服務,主持和維護一個鏈下訂單。 Maker 和Relayer 以無需信任的方式談判交易費用、訂單,然後由Relayer 將訂單提交給訂單簿,Taker 對選中的訂單進行填充,並廣播至以太坊區塊鏈上,由智能合約完成最後的清算流程。

以0x 為代表的“鏈下訂單Relayer 匹配+ 鏈上結算”的混合設計模式,將狀態通道的效率與即時結算的鏈上訂單相結合,大大降低了市場交易雙方的摩擦成本,結算速度加快,消耗費用降低。

今年7 月正式上線的Augur 2.0 版本的預測市場也採用了由0x 協議支持的鏈下訂單簿,然而用戶對Augur 新版本的反響似乎並不熱烈。

基於Relayer 的訂單薄技術可以是中心化的也可以是非中心化的,在一定程度上犧牲了部分去中心化特性,但與中心化的交易所相比,用戶體驗、交易速度上仍偏弱。

總得來說,訂單簿模式下的DEX 寄生於CEX 的流動性:無法共享流動性,並且重運營,獲取流量成本較高。

AMM模式下:套利商賺差價,做市商分紅

今年6 月,去中心化借貸平台Compound 創新的流動性挖礦模式(也被稱為Yield Farming)讓AMM 得以大火,目前市面上比較火熱的DEX(Uniswap,Bancor,Kyber)幾乎都是用的AMM 。

AMM 交易所不需要提供訂單簿來展示買賣雙方想要成交的價格,而是將流動性匯集到一起,並根據某種特定數學算法實現做市。

以Uniswap 為例,其定價曲線數為經典的X*Y=K,恆定常數乘積。 X 是新幣的數量,Y 是ETH 數量,K 是常數。新幣的髮型方以一定的比例創建交易池,同時也確定了新幣的上幣價格,即X 與Y 的比例。由於X 與Y 是構成恆定乘積的關係,X 和Y 是此消彼長的關係,有人在該合約中購買新幣X,那Y 的數量就會增加。

下面我們來舉個例子讓大家理解x 和y 此消彼長的關係。

投資者小明想為Uniswap 中的ETH/DAI 交易對提供流動性,假設1ETH=400DAI,Uniswap 的公式就是1(ETH)*400(DAI)=400(固定的常數)。如果小明想要購買價值50DAI 的ETH,在ETH/DAI 池子裡面注入50DAI 的流入量,同時減少ETH,那麼為了保證乘積還是常數400,池子裡面還留下的ETH 的數量=400/(400+50 )=0.89,最後小明能拿到的ETH 數量=1-0.89=0.11。

通過小明為Uniswap 中ETH/DAI 交易對提供流動性的例子,我們可以看到為了維持X*Y 的乘積固定,隨著注入的DAI 的不斷增多,池子中剩餘的ETH 減少。

DODO CMO 代世超向Odaily表示, X*Y=K 定價機制決定了買入哪一邊的數量多,與之相應的幣種價格就會上升。所以,在這個池子中,只要有人買入新幣X,就會推動它的價格一直上漲。

如果小明想要再買50DAI 的ETH,他又需要繼續向池子中註入50DAI 的流入量。注意,此時ETH/DAI 池子裡剩下0.89ETH 和450DAI,小明再次向池子中註入50DAI 之後,為了保證K 值維持在400,這時候池子裡還留下的ETH 數量=400/(450+ 50 )=0.8,這次小明能拿到的ETH 數量=0.89-0.8=0.09。

我們可以清晰地看到,同樣是購買50DAI 的ETH,小明第二次拿到的ETH 明顯變少了,也就是說DAI 的單價變貴了,這就是用函數來定價的一個特點:X 被買走的越多,X 越貴;X 被賣的越多,X 越便宜。

在訂單簿模式下,做市商賺交易費和價格差這兩個部分的錢;在AMM 中,做市商,或者說流動性提供者只賺交易費這一個部分的錢,而套利者則賺價格差這一部分的錢,即AMM 模式下套利商賺差價,做市商分紅。

二級標題

二級標題

二級標題

  • AMM模式的缺陷在哪裡?

相較於傳統訂單簿模式,AMM 具有自動化、低成本和高效的優勢,但在定價權、無常損失、滑點等方面存在一定的問題。

無法獨立定價

根據歐科雲鏈研究院的分析,AMM 因缺少價格發現功能而無法對新幣進行獨立定價。

做市商的收益主要來源於買賣差價,在對市場進行做市時,以收益最大化為目標。這要求做市商必須充分利用市場信息,提出報價。與此同時,投資者根據做市商的報價做出投資決策,並將自己的交易信息及時反饋給做市商,隨後做市商再根據手上的資產頭寸和價格差異調整報價。因此,在做市商與投資者的共同推動下,市場可以發現真實的交易價格。

然而,AMM 模式下並沒有價格發現的功能。

比如在某一資產的交易上,用戶A(做市商A)掛出的是5 美元/手的買單,用戶B(做市商B)掛出的是10 美元/手的買單,在競價制度或做市商制度下,B 會先實現交易,但Uniswap 平台無法保證B 先成交。因為AMM 的價格是靠流動性驅動的,交易價格由儲備池的資產情況決定,而非訂單價格決定,即AMM 只能產生交易價格,卻不能發現市場價格。為此,AMM 不得不引入套利者這一重要角色:一旦AMM 平台上的價格與市場公允價格不同,就會出現套利空間,並將價格拉回正軌。

歐科雲鏈研究院認為金融市場交易制度的核心是發現價格功能,AMM 這種無法發現價格的交易制度注定無法成為主流。

代世超也認為,AMM 模式下,新幣的發行價格過度受制於項目方自己。

“在新發行的場景下,不同於已有的加密資產交易,其分散度是很低的,新幣的籌碼都集中在項目發行方的手中。這就導致DEX 的流動性池子幾乎只能由項目方自身注入,缺乏普遍參與的流動性提供者。同時,多市場套利的機制可能就失效了,項目方向流動性池子中註入代幣的數量和時機都會直接影響價格。”代世超告訴Odaily 。

首先來說注入的數量問題,由於DEX 定價曲線的特徵,注入代幣的數量越多,其交易滑點越低,也就是說買入單位新幣的價格變化就越小,所以,代幣池的總量和比例直接決定了價格。

所以,當注入池子中的幣很少的時候,往往要注意。

  • 同時,由於Uniswap 的定價曲線理論上希望提供無限的流動性,那麼當某個幣在池子中被買的只剩很少的時候,其邊際價格會變動非常的大。

其次是注入時機的問題。如果要多次注入,那麼每一次注入代幣對整體價格影響都是非常大的。

無常損失:挖款收益沒有跑贏持幣收益

無常損失是AMM 池當前對於流動性提供商最不利的地方,也是DEX 發展的最大阻力之一。

首先我們要明白什麼是無常損失:相較於只是簡單地持有代幣,向AMM 提供流動性的用戶可能會看到其質押的代幣在損失價值,這種風險被稱為“無常損失” 。

簡單來說,假設你為ETH/DAI 代幣池提供流動性,但如果ETH 漲得很快,為了維持K 乘積的固定值,那麼你持有的DAI 就會變多,ETH 的數量變少,你手中原本低價買入的ETH 被套利者用DAI 悄悄換走了,那麼你為代幣池提供流動性獲得的收益,可能還不如直接持有ETH 帶來的收益。

如果無常損失超過了流動性收益,那麼流動性提供者將不再提供流動性。因此無常損失的大小是決定AMM 類DEX 能否正常運營的關鍵。

圖片描述

圖片描述

圖片描述

  • 圖片來源於:機械鐘

以三個點為例子:黃線與藍線的交叉點是當外部價格沒有發生變化時,無常損失為零;綠線與藍線的交叉點分別是當價格跌了50% 後,以及價格漲了100% 後,無常損失都為-5.7%,不難發現無常損失與價格變化的幅度有關,與代幣漲跌方向無關。

滑點太高,AMM 類DEX 只適用於日常小額兌換

經常有用戶抱怨在Uniswap 中的交易滑點太高,不划算。確實如此,除了少數流動性池的流動性比較可觀之外,多數代幣的流動性池並不適合較大額度的交易。

有趣的是,滑點和無常損失間存在一些互斥關係,減少滑點追逐的是一種價格的穩定,減少無常損失追逐的是一種價格的變化,優化一邊可能會損失另一邊。

二級標題

二級標題

二級標題

誰會成為下一個Uniswap?

雖然滑點和無常損失是不可消除的,但是可以在可控範圍內提前調控。

前文我們提到了滑點與DEX 選擇的定價函數有關,以Uniswap 為代表的AMM 為例,從模型上看,由於其採用恆定乘積模型(x*y=k),導致其滑點過高。

那麼什麼樣的模型可以降低滑點呢? ——恆定總和模型(X+Y = K)。

還是以小明為ETH/DAI 池子中註入流動性為例,假設池子裡最初有50ETH 和50DAI,那麼K 就恆定在100,小第一次拿5ETH 可以換得5DAI,第二次依舊可以用5ETH換得5DAI,K 始終維持在100。

但是該函數有一個致命的缺點,就是很容易耗盡儲備池的資產。假如在這個市場外1ETH 買不到1DAI,(而ETH/DAI 的池子永遠是1ETH=1DAI),就會有另一種套利者來該市場買走所有的DAI,讓交易池裡只剩下100ETH 。

因此,一種理想的方式是構建一種混合函數,如果兩種資產的價格相對穩定,就可以降低函數中的滑點值;當儲備池中的資產流動性不足時,則迅速提高價格,實現理論上的無線流動性。 Curve 就為此構建了一個複雜的函數,恆定函數模型StableSwap:

x 是每種資產的儲備量, n 是資產的種類, D 是一個不變量,代表儲備中的價值,A 是“放大係數”,即一個可調的常數,提供一種類似槓桿的作用,影響資產價格的範圍,並影響流動性提供者的利潤空間(即資產的波動性越高,A 也越大) 。

當投資組合比較均衡時,這個函數作為一個恆定總和函數而發揮作用,當投資組合變得更不均衡時,它轉換為一個恆定乘積函數,由此實現了滑點與流動性的兼顧。

Bancor V2 通過使用預言機引入外部世界的價格,從而降低交易池與外部世界價格不一致的風險,減少無常損失。

Bancor V2 採用預言機餵價,來調整代幣兩邊的權重,也就是X代幣數量*X價格不必等於Y代幣數量*Y價格,把套利機會用預言機給磨平了。

而對於如何降低滑點,BancorV2 則是通過放大流動性來降低滑點,此舉Bancor V2 借鑒了Curve,引入stable curve 機制。 BancorV2 的曲線介於Curve 和Uniswap 之間,代數公式上介於X*Y=K和X+Y=K 之間。利用更平滑的曲線,去減少滑點。簡單理解就是比Uniswap 同樣流動性下放大了20 倍。

擁有100,000 美元儲備的AMM 將在10,000 美元交易中產生10% 的滑點。但是,如果引入BancorV,流動性就被放大20 倍,則同一筆交易的滑點將減少到1%。

除了這些老牌DEX 在降低滑點和減少無常風險上不斷摸索,新興的DEX 也提出了一些解決方案。

比如對標Curve 的穩定幣兌換平台BlackHoleSwap。雖然Curve 的混合函數模型在⼤部分情況下提供很好的穩定幣交易深度,但是⼀旦單邊的儲備接近耗盡時,仍會出現巨大的滑點。

對此,BlackHoleSwap 設計了一個新系統,允許系統擁有負數的存貨,通過整合借貸協議的方式,抵押量多的幣,借出不足的幣,可以處理遠超過儲備的成交量。

還有文章開篇我們提到的基於主動做市商算法的去中心化交易所DODO。 DODO 借鑒了BancorV2,通過Oracle 引入市場中間價,將大部分資金聚集在市場中間價附近。 DODO 可以在資金池規模與Uniswap類似的情況下,流動性超過Uniswap十倍(滑點為Uniswap 1/10), 或者在資金池為Uniswap 1/10 情況下,達到和Uniswap 類似的流動性。

參考資料:

參考資料:

參考資料:

參考資料:

TokenClub研究院:《深度| 去中心化交易所綜述》

歐科雲鏈研究院:《歐科雲鏈研究院:金融市場交易的範式革命---自動做市商制度(AMM)》

李畫:《以邏輯為工具輕鬆看懂DeFi:DEX 篇》

王也
作者文库