隨着幣安等中心化交易所發佈公鏈,並推出自己的去中心化交易所,更多新的去中心化交易所正在市場上出現。可以預見,交易所行業即將出現新一輪去中心化的變革熱潮。

去中心化交易所的核心要素是什麼?如何設計去中心化交易所?著名的區塊鏈基金 1confirmation 分析師 Richard Chen 最近撰寫文章,進行了全方位的剖析。這篇文章對於希望瞭解去中心化交易所的讀者會有極大的價值。

撰文:Richard Chen,1confirmation 分析師,1confirmation 是一家位於舊金山的早期加密風險基金
編譯:Neo
校譯:代世超,去中心化交易所 DDEX 市場負責人

中心化交易所的歷史就是一部血腥的被盜史,而去中心化交易所(DEX)正在成爲一種解決方案湧現出來。

去中心交易所的創新在於允許用戶直接從自己的錢包進行交易,無需信任交易所來託管資金。「 用戶自託管 」是去中心化交易所的核心功能。

鏈聞 X Hydro 批註:

事實上,設計一個去中心化的加密貨幣交易所,本質上應該滿足三個功能:

1、去中心化:用戶資金自託管
2、加密貨幣:鏈上資產作爲交易對象
3、交易所:執行資產交換及結算

交易所的三個經典設計模型是訂單簿模型、自動化做市模型和荷蘭式拍賣模型。如何在這 3 種經典交易模型中,做到「去中心化交易」,是每個去中心化交易所的課題。

市場的先鋒者們,是怎麼做的?

一、訂單簿模型

訂單簿包含了代幣的買單和賣單列表。買單稱爲出價(bid),賣單稱爲要價(ask)。訂單簿列出了在每個價格點出價或要價的代幣數量。最高出價(買一)和最低要價(賣一)被稱作買賣一(top of the book)。它們標誌着市場情緒以及獲得訂單所需的買入價和賣出價。最高出價和最低要價之間的差異叫價差(spread)。

一文讀懂去中心化交易所經典設計模型DDEX 的訂單簿

目前,IDEX、DDEX、Radar Relay、EtherDelta、Paradex 和 Ethfinex 都是訂單簿式 DEX。

在訂單簿式去中心化交易所(以下簡稱訂單簿式 DEX)中,你可以提交兩種類型的訂單: 市價訂單限價訂單

提交市價訂單時 ,你可以設定買入 / 賣出的代幣數量,DEX 會立即以最優市場價執行你的市價單。下一個市價單意味着,優先保證訂單成交速度,無論訂單簿上現有訂單價格是多少。執行市價單的方式是,爲買家匹配現有的賣一訂單,爲賣家匹配現有的買一訂單。

提交限價訂單時 ,DEX 會以你設定的價格和數量買入或賣出代幣,如果當前沒有能與你匹配的訂單,你的訂單會被掛在訂單簿上,等待交易。

一文讀懂去中心化交易所經典設計模型Radar Relay 的訂單簿

訂單簿可以存儲在鏈上或鏈下。鏈下的訂單簿式交易所(例如 0x)需要 Relayer (指的是採用此交易協議的 DEX)將訂單簿存儲在中心化服務器上。而鏈上的訂單簿式交易所不需要中心化服務器,但用戶需要自己創建交易併爲掛單和取消訂單的操作支付 gas 費用,即使訂單沒有被成交,gas 費也無法退還。

在訂單簿式交易所中,做市商通過掛單來提供流動性,這些訂單可以減少價差並補償庫存風險。通常,交易量越低,價差越大,因爲做市商承擔的流動性匱乏的風險更大。

優點

適合流動性市場。一個訂單簿交易所的交易量越大、價差越小,證明一個交易所的流動性越好。在高流動性市場中,訂單簿式交易所最適合於顯示市場價格,並且大額訂單不受價格滑點影響。Coinbase 和幣安等大型中心化交易所、以及紐約證券交易所等傳統交易所都依賴於訂單簿模式。

缺點

不適合缺乏流動性的市場。只有當出價和要價相匹配時,訂單纔會被完成,反之亦然;如果你的最高出價仍然要低於最低要價,那麼你將無法進行交易。因此,對於流動性不足的市場,訂單簿交易所將導致大額差價,交易成功率低,而且小量資金即可對市場價格造成巨大影響。

礦工搶先交易 (front-running)。部分鏈上訂單簿式交易所面臨着礦工與交易者之間的搶先交易問題。

礦工可以在交易被區塊打包之前就看到所有交易。如果你下了一個大買單,一旦礦工看到這個訂單,他們發現你的訂單已經大到足以拉高代幣價格,那麼礦工便可以自己創建一個買單並把自己的買單在你之前添加到區塊中。當這個區塊被挖出,相當於這個礦工低價買入了代幣,然後代幣價格被大單拉高。礦工再高價賣出這個代幣,就能無風險套利。

針對訂單簿式交易所的礦工搶先交易有幾種創新解決方案。Injective Protocol 使用可驗證延遲函數(VDFs)來爲訂單添加時間戳,防止礦工「搶跑」用戶。0x 建議使用一個交易執行協調器,交易所將交易發送至一個實體來確保交易上鍊結算之前根據價格-時間優先級執行交易。到目前爲止,礦工與交易者之間的搶先交易主要是一個理論問題,但也有少數在悄悄發生的案例。

鏈聞 X Hydro 批註:

其實還有另外一些實踐,一些 Hybrid 模式的訂單簿交易所,如 DDEX 和 IDEX,因爲將提交訂單上鍊的操作交給交易所而非礦工,能夠避免搶先交易的問題。

市場操縱。訂單簿提供了資產價格方向的短期信號。比如,大量買單可能預示價格上漲。但是這些信號可以隨時改變。例如,一個交易者可以掛很多大單,但他們本身的動機並不是成交這些訂單,而是隻是試圖表現出市場情緒,誘導交易者。

訂單簿式 DEX 容易被市場操縱行爲影響,例如拉盤砸盤、幌騙和刷單。這些操縱行爲造成了市場的不穩定和虛假交易量。紐約證券交易所這樣的傳統交易所對這種不道德行爲有嚴格的懲罰。但目前,現實世界的法律並不適用於智能合約程序,因此我們需要找到一種技術解決方案,代替法律來解決市場操縱問題。

二、自動化做市(AMM)模型

自動化做市商是提供市場流動性的算法代理商。自動化做市商的概念在博弈論和機制設計領域已有十多年的歷史(參考資料:https://www.cs.cmu.edu/~sandholm/automatedMarketMakersThatEnableNewSettings.AMMA-11.pdf),最近才進入加密領域。

AMM 交易所不存在訂單簿的概念:交易所不提供訂單簿來展示買家和賣家想要交易的價格,而是將流動性彙集到一起,並根據確定性算法做市。該算法根據某個預定義的公式向用戶報價。不同的自動化做市商使用不同的算法。

UniswapBancor 都設定了一種幣幣之間的兌換算法,用戶可以選定一種交易對,以交易所當前給定的兌換率,進行兩個代幣之間的兌換,這種交易類似在機場換匯。

Uniswap 是使用恆定乘積做市 (Constant Product Market Maker 模型「即 x * y = k 模型」)的去中心化交易所。在 Unisawp 上,每個人都可以成爲做市商。用戶可以通過向「資金池」爲特定交易對添加資金,如選擇 ETH/DAI,需要同時添加相等價值的 ETH 和 DAI。當池子裏的 ETH 或 DAI 被兌換後,每個用戶都可以按照比例分得交易手續費。

用戶可以隨時刪除自己添加到池子裏的資金,以當前池子計算的兌換率來提現本金。

一文讀懂去中心化交易所經典設計模型Uniswap:添加和刪除流動金

Bancor 則是一款使用平臺幣爲其自動化做市的去中心化交易所。

優點

爲缺乏流動性的市場持續提供流動性 。這對於流動性高度分散的市場來說非常有用,例如對於像 AugurVeil 這樣的預測市場,流動性分散在各個市場之間。用自動化做市商預測市場取代訂單簿預測市場,更容易對長尾市場下注。

缺點

大額訂單滑點較高。滑點指的是下單的價格點位和最後成交的價格點位差距。在自動化做市商交易所中,滑點體現爲下單的瞬間兌換率發生變化。

一文讀懂去中心化交易所經典設計模型在恆定產品做市交易所購買 ETH 的價格細分,流動性池爲 100,000 個 DAI 和 1,000 個 ETH

滑點取決於交易對的流動性池的大小。在 Uniswap 的情況下,從上圖看出,訂單規模佔流動性池的的比例越大,滑點溢價越高。比如,一個佔流動池規模一半的訂單會導致每個代幣的平均價格翻倍,即滑點率 100%,這種情況在在訂單簿式交易所中幾乎不可理喻。爲了使滑點率保持在 1% 以下,流動性池需要比訂單金額大 100 倍。

只有當訂單規模佔流動性池的一小部分時,自動化做市商交易所才能爲代幣獲得的最佳平均價格,大額訂單不適用於自動化做市商交易。因此,每天執行數十億美元訂單的傳統金融交易所和大型機構交易者,是不會使用 AMM 模型的。

做市商風險。一個常見的誤解是 AMM 流動性提供者會獲得固定的收益。恰恰相反,AMM 的流動性提供者並不像作爲 Compound 和 Dharma 這樣的 DeFi 借貸產品的貸方一樣有固定收益,而是存在更大的虧損風險。

Pintail 和 Mohamed Fouda 發現, 只有在用戶從資金池提取本金時的兌換率,和添加資金時的兌換率一致時,才能穩賺手續費提成。以 ETH/DAI,爲例,不論 ETH 價格漲跌,我的總本金都會貶值,只有我賺的手續費能抵消這部分損失,纔不會虧本。當價格發生重大變化,相比於持有這些代幣來說,我虧本的可能性更大。

這對於正常波動的代幣是很嚴重的風險,風險最大的是那些交易量低、價格波動大的代幣。做市商可以通過不斷向資金池添加和刪除資金來應對價格變化,降低風險。

三、荷蘭式拍賣模型

區塊鏈的時間是離散的。每個區塊將時間分成非連續的時間段,區塊間的時間使礦工能比交易者提前知道一個區塊中包含哪些交易,於是有了搶先交易的機會。這是鏈上交易所的一種弊端。

但是有一種交易所,恰恰利用了區塊鏈的時間離散性。

荷蘭式拍賣交易所,正是這樣的設計。荷蘭式拍賣,是一種減價拍賣,廣泛用於花卉水果海產品等物品,簡單來說是不斷降低報價直到有買家願意買,由這個買家直接完成交易。

荷蘭式拍賣應用在 IPO 定價中,所有買家暗箱聲明自己的出價和購買量,後臺按照價格從高到低排序後,累加購買量直到總髮行量,以最後一個累加的訂單價格爲最終交易價格,每個報價高於此價格的買家都以這個交易價格買到自己聲明的股權數量。

在加密貨幣的荷蘭式拍賣交易所,利用區塊的時間窗口,交易按「批次」進行。在拍賣開始前,所有賣單收集在同一個批次中。(賣家仍然可以在拍賣期間提交訂單,不過訂單會在被放在下一批拍賣中。)

拍賣開始時,代幣初始價格設定爲上次拍賣收盤價的兩倍,然後價格逐漸降低,價格反映買家的最大支付意願時,買家就會提交出價。報價降低的過程持續到所有代幣賣完,達到清算價格,則拍賣結束。

交易所設計的關鍵在於,收盤時每個買家以相同的價格收到代幣。買家只需按最終的清算價格支付(即使買家出價更高),買家收到的代幣數量由其出價的訂單規模決定。

一文讀懂去中心化交易所經典設計模型資料來源:Gnosis DutchX

Gnosis 建立了一個名爲 DutchX 的荷蘭式拍賣交易協議,FairDEX 是 DutchX 協議上的交易平臺。FairDEX 的前兩次大額拍賣已經順利完成。第一次和第二次 DAI/ETH 的拍賣成交價格,分別低於 Bitfinex 上同交易對價格的 1.23% 和 2.25%。這表明 DutchX 交易協議在處理大額訂單上沒有問題,並且拍賣的收盤價與市場價格相差不遠。

0x 上也有荷蘭式拍賣合約,用來來創建荷蘭式拍賣市場。

優點

爲缺乏流動性的代幣提供價格發現。相比於傳統的訂單簿式交易所,荷蘭式拍賣通過累積訂單同批執行,能爲缺乏流動性的代幣更好地確定一個公平的市場價格。DecentralandCryptoKitties 等網站就使用荷蘭式拍賣來爲非同質代幣(NFT)實現價格發現。

減少搶先交易。同一批賣單在同一時間執行,防止礦工搶先成交自己的訂單。

缺點

交易時間較慢。拍賣結束,交易纔會執行,而拍賣可能花費幾個小時。由於交易非即時,使得快速交易(如訂單簿交易所中的市價訂單)無法實現。

所以呢?

交易所設計三種方法中的每一種 —— 訂單簿模型、自動化做市模型和荷蘭式拍賣模型都有其獨特的優勢和利弊權衡。

我認爲,訂單簿式交易所將繼續作爲 BTC 和 ETH 等主流代幣的交易場所,而自動化做市交易所和荷蘭式拍賣交易所將作爲補充,幫助用戶在長尾代幣市場獲得更好的價格。

但不論哪種模型, 要成爲交易所領域的贏家,最重要的是價格和流動性 。即使產品設計一般般,哪裏價格更好、流動性更充足,用戶就會往哪裏去。

感謝與 Alex Evans 的交流啓發了這篇文章。