一文讀懂中心化交易所的運作機制
1. 中心化交易所的運作機制
中心化交易所的機制較為簡單:使用者到平臺註冊賬戶,獲得由平臺給予的賬戶地址,使用者往該賬戶地址裡充值數字資產,便可在平臺進行交易。平臺為使用者提供資產交易撮合及清算服務,交易成功後,使用者賬戶中的資產餘額發生變化。
中心化交易所的運作機制有以下幾個主要問題:
1) 資產安全風險:全過程由平臺託管資產。
使用者在交易所建立的賬戶(錢包地址),類似銀行給予使用者的銀行卡賬號。“銀行”可把使用者充值進入平臺的資產放入自己的數字資產錢包中保管,使用者只是擁有自己在該平臺的賬戶密碼,並不能實際掌控自己的資產。一旦平臺的錢包受到攻擊或者平臺自身作惡,使用者資產將受到威脅。
2) 資產控制限制:使用者無法自由管控自己的資產
使用者如果需要將資產從交易所提走,需要在自己的賬戶中點選提現到個人的錢包地址。但是往往平臺會設定規則限制使用者的提現,包括限制提現額度、提現時間、設定提現手續費等,影響使用者對自己資產的自由掌控。
3) 交易清算不透明:交易清算過程由平臺完成,無法在區塊鏈中追溯。
使用者在交易平臺進行的掛單、吃單操作,以及交易撮合、清算的過程,全部由平臺的伺服器協助完成,而這個過程跟區塊鏈無互動,交易所可輕易製造虛假交易,進行價格操控。
2. 去中心化交易所早期探索
為了解決中心化交易所機制的弊病,人們開始了在區塊鏈上建立交易系統的早期探索,保證使用者的資產不受平臺控制,交易清算也能公開透明。包括Bitshares, Stellar, Ripple, Omni為代表的早期去中心化交易平臺應運而生。現以Bitshares為例介紹其工作原理:
1) 底層公鏈完成交易系統搭建
2) 提供閘道器介面,給予數字資產發行的渠道(在位元股上發行資產需要抵押BTS)
3) 使用者下載Bitshare錢包,充值資產
4) 使用者在交易所完成交易
以Bitshare為代表的早期去中心化交易所完全建立在區塊鏈上,使得交易過程透明,資產安全也得到保證,但主要有以下2個問題:
1) 交易所搭建在鏈上,其邏輯已經寫死,調整成本較高,而數字資產交易的功能本身是複雜多變的;而且一條公鏈上只有一個交易所,這樣也制約了交易所的多元化發展。
2) 缺少社群支援。由於未能有較好的社群激勵機制,加上以太坊、EOS等公鏈的競爭,使他們失去了社群參與者的擁護。生態中缺少眾多有價值的資產,交易所也就無法有效執行。
3. 基於以太坊的去中心化交易所
隨著以太坊在智慧合約公鏈競爭中的領先,基於以太坊的去中心化交易所如雨後春筍般蓬勃生長。按照交易撮合的機制可分為以下幾類:1. 鏈上orderbook,鏈上結算; 2. 基於智慧合約管理的資金池; 3.鏈下orderbook,鏈上結算; 4. P2P。
(1) 鏈上orderbook,鏈上結算
最早的 基於以太坊的去中心化交易所的成功探索非Etherdelta莫屬,曾一度佔據去中心化交易市場的半壁江山。Etherdelta是較為完全的去中心化模式,使用者充值、掛單、吃單、結算及提現全部在鏈上完成。
具體執行機制如下:
1) Maker和taker將資產充值到智慧合約中,使用者資產由智慧合約管理,合約的管理員不能任意操作使用者的資產。
2) Maker下單到區塊鏈。
3) Taker選擇希望交易的訂單,併發起一筆交易。
4) 智慧合約將對maker和taker的需求進行匹配,交易成功後進行鏈上結算。
Etherdelta的整個執行都在鏈上完成,使用者保管自己的私鑰,平臺不會觸碰使用者資產,保證了資產和交易的安全、透明。但其弊病也較為明顯:
1) 由於所有的交易環節都在鏈上完成,且每一個掛單、撤單、吃單等操作都會消耗GAS費用,導致延時高、成本效益低下。
2) 存在礦工非法預先交易的可能。
為了解決完全鏈上交易的高成本、低效率等問題,人們又探索了資金池模式、鏈下orderbook模式,以及P2P模式,他們各有利弊。
(2) 基於智慧合約管理的資金池模式
最具典型的資金池模式有Bancor和Kyber。所謂資金池,可以理解為平臺利用智慧合約建立了一個用於儲備各類資產的池子,資金池中資產的提供方可以是普通使用者或者做市商。
Bancor和Kyber的資金池模式有所差別:
Bancor的運作模式
每一個交易對都有一個稱為relay的智慧合約,合約根據交易對中資產的數量,計算出一個兌換比例(價格),並自動根據資產數量的增減動態調整。Taker選擇交易對,並向其合約中轉入相關token,獲得其希望的資產。
Bancor的模式優勢在於,整個過程無需掛單、匹配、成交上鍊等複雜操作,成本僅來源於支付轉賬的gas消耗。但其最大的安全隱患,在於管理員過高的許可權:每個智慧合約都對應一個管理員地址,該管理員有許可權提走智慧合約中的資產,勢必威脅到使用者存入合約中的資產安全,這也是導致之前Bancor遭遇攻擊的重要原因。
Kyber的運作模式
Kyber與Bancor的不同在於:Kyber並不對每個交易對建立智慧合約,且價格也不是自動計算。Kyber的資產提供方(做市商),將資產存入資金池中,由做市商主動提供報價,使用者可以更快捷的獲得理想報價並進行資產交易。
Bancor與Kyber的資金池模式對於使用者尤其是對於新手來說,是一個非常好的選擇:他們可以直接交換到想要的數字資產,無需掛單、吃單。但從功能上說,如果需要更加豐富的交易模式和體驗,與傳統的交易所對標,具有訂單簿(order book)功能的模式仍然是主流。
(3) 鏈下orderbook,鏈上結算
0x與Loopring
0x協議引入了relayer(中繼)的概念,交易者無需充值,但是需要將ETH轉換為符合ERC20標準的WETH,方可進行交易。0x的“鏈下訂單中繼、鏈上最終結算”運作模式如下:
● maker建立訂單,併發送給relayer (中繼)
● taker在relayer查詢到訂單,並選擇希望交易的訂單
● taker發起交易至鏈上,交易確認。
Loopring在0x的基礎上又進行了優化。之前提到的交易撮合都是在兩個資產之間,而Loopring可以實現多個資產之間的環路撮合。比如A-B-C-A之間存在資產互換關係,可以直接實現他們的撮合成交,而不需兩兩之間的多次撮合成交,節省了上鍊成本,也提高了撮合效率。
0x協議的主要問題在於,如果需要共享訂單,運用0x協議的交易所每一筆成交都需要廣播出來,以便其他交易所得知和確認,因此單純地使用0x協議無法實現瞬時成交;另外,由於需要將ETH轉化為WETH,也增加了交易成本。而Loopring協議的環路撮合邏輯實現起來較為複雜,目前使用Loopring協議構建的交易所與0x協議相比較少。
IDEX與DEx.top
鏈下orderbook模式中,另一種廣為接受的,就是目前佔據以太坊去中心化交易所60%市場的IDEX以及緊隨其後的DEx.top。二者在執行機制上非常類似,他們綜合了傳統去中心化交易所的安全效能以及中心化鏈下撮合機制的高效性。
● 使用者通過私鑰簽名,充值資產到智慧合約中;平臺不觸碰使用者的私鑰以及資產,安全性得到保障。
● 使用者在交易所進行掛單、吃單操作都通過鏈下的伺服器完成,交易撮合過程與中心化交易所的體驗基本一致;未成交的掛單,不會造成gas費用損失,節省了無效訂單上鍊的成本。
● 雙賬本模式:鏈下賬本將撮合成功的結果與鏈上賬本及時同步,最終實現交易上鍊。
(4) P2P模式
P2P模式為點對點的資產互換,Airswap即為典型案例。
該機制運作方式如下:
● Maker 向平臺發出交易對,請求交易
● Taker 向平臺查詢有哪些交易對,一旦遇到合適的交易對,便可獲取交易對手的資訊。
● Maker和Taker商議交換條件(價格)
● Taker 向智慧合約提交請求執行交易。
P2P撮合過程在鏈下完成,交易最終在鏈上確認。整個過程與兩個錢包的相互轉賬類似,平臺不會控制使用者的資產,交易過程安全、透明。
該模式的主要問題是靈活性較差:一對一的互換隻能讓雙方按照約定的價格和數量成交;如果一方需要交易更多,無法靠一次交易實現,需要尋找更多合適的交易對手進行多次交易。
4. 管理員許可權、成本效益及交易體驗比較
從前文的介紹可以看出,包括Bancor, Kyber, 0x, IDEX, DEx.top在內的幾個典型的交易所,或多或少會有管理員參與到交易過程之中,履行上/下幣、資金池管理、交易上鍊等職責。如果管理員許可權過高,將對使用者資產和交易安全造成威脅;而如果沒有管理員的參與,也會降低交易所的運作效率,影響交易體驗。此外,交易所在限制管理員許可權和提高交易體驗的基礎上,還需要考慮成本控制。
下表對目前的幾個主流的去中心化交易所的管理員許可權的限制情況、成本效益及交易體驗進行了比較:
最早的完全去中心化交易所Etherdelta管理員對交易的干擾最少,但完全上鍊的機制使得成本消耗高且交易體驗較差。之後的幾類去中心化交易所可謂都是在魚和熊掌之間權衡取捨:Bancor和kyber為代表的儲備池模式,交易所管理員在整個過程中參與度較高,如果儲備池合約中管理員許可權較高比如之前Bancor可以提走使用者資產,將會對使用者的資金安全造成威脅;二者上鍊過程比較簡單,成本控制表現不錯,交易效率也比較高,只是功能性與有orderbook的交易所相比略遜一籌。0x和Loopring的中繼模式,平臺不觸碰使用者資產,相對而言去中心化程度是較高的,但這也導致成本效益相對較低;交易體驗整體不錯,但如果需要共享訂單,就無法實現瞬時成交。IDEX及DEx.top,把撮合的過程中心化處理,節省了開銷,交易體驗也較好;合約層面需要嚴格限制管理員許可權,方可確保較好的去中心化水平;Airswap是點對點的交易,管理員許可權較少,成本效益也相對不錯,但是產品功能設計上相對比較簡單。
5. 去中心化交易所的發展趨勢
從去中心化交易所歷史的發展可以看出,由於現有公鏈基礎效能的限制,為了提高交易效率,鏈下撮合、鏈上確認成為趨勢。然而這也使得中心化的力量參與到交易所執行中,對安全性產生了威脅。因此,嚴格地限制去中心化交易所管理員的許可權就成為了重點。
此外,交易上鍊需要花費GAS費用,在合約和機制設計上節省開銷,是去中心化交易所實現持續運營的關鍵。
長遠來說,隨著底層公鏈的效能不斷提高,以及側鏈技術解決方案的突破,去中心化交易所的運作效率也將向中心化交易所靠近,我們共同期待一個高效、安全、逐步完善的去中心化的世界。