第 7 章:去中心化交易所 (DEX)
雖然中心化交易所 (CEX) 允許在流動性充裕的情況下進行大宗交易,但是由於用戶在交易所中並不擁有其資產的所有權,因此中心化交易所仍具有很大的風險。2019年,超過2.9億美元的加密貨幣被盜,同時超過50萬條登錄信息從交易所洩漏出去。^10^
越來越多人開始意識到這些風險,並轉向去中心化交易所(DEX)。DEX通過使用智能合約和鏈上交易來減少或消滅對中介的需要。受歡迎的去中心化交易所包括Kyber Network、Uniswap、Dex Blue 和dYdX等項目。
DEX有兩種類型------基於訂單簿的DEX和基於流動性池的DEX。像 dYdX和dex.blue那樣的訂單薄DEX的運作方式與CEX類似,用戶可以按限價或市價提交買賣訂單。兩種類型的交易所之間的主要區別在於,對於CEX,交易資產需要保管在交易所錢包上,而對於DEX,交易資產可以保管在用戶自己的錢包上。
然而,基於訂單薄的DEX面臨的最大問題之一是流動性。用戶在訂單薄中的訂單可能需要等待很長時間才能成交。為了解決這個問題,引入了基於流動性池的DEX。流動性池本質上是智能合約中的代幣準備金,而且用戶可以立即買賣流動性池中的可用代幣。代幣的價格是通過算法確定的,會因大額交易而上漲。DEX流動性池可以跨多個DEX平台共享,這將推高任何單一平台的可用流動性。基於流動性池的DEX的例子有KyberNetwork、Bancor和Uniswap。我們將在本書研究Uniswap這個樣例。
CEX提供的特性之一是保證金交易功能。保證金交易允許投資者進行槓桿交易,提高用戶的購買能力以獲得潛在的更高回報。在DEX上引入保證金交易的創新也出現了。提供去中心化保證金交易的DEX例子有dYdX、NUO Network和DDEX。在本書中,我們將探索dYdX,其結合了去中心化借貸市場和在其交易所上的保證金交易。
Uniswap
Uniswap交易所是一個建立在以太坊上的去中心化代幣交易所協議,允許用戶直接交換代幣而無需使用中心化交易所。當使用中心化交易所時,你將需要將代幣存入交易所,在訂單薄上提交訂單,然後提取換取的代幣。
而在Uniswap上,你可以直接從你的錢包輕鬆地交換你的代幣,而無需執行上述三個步驟。你只需要將你的代幣從你的錢包發送到 Uniswap的智能合約地址,然後你將會在你的錢包中收到你想要的代幣作為交換。這裡沒有訂單簿,而且代幣的匯率由算法決定。所有的這些都是通過流動性池和自動做市商機制實現的。
流動性池
流動性池是位於Uniswap智能合約上的代幣準備金,可供用戶與之交換代幣。例如,通過一個其中包含了 100 ETH 和 20,000 DAI 的 ETH-DAI 交易對流動性池中,想要購買 ETH 的用戶可以往該 Uniswap 智能合約中發送 202.02 DAI 來交換 1 ETH。一旦交換完成,該流動性池子就剩下 99 ETH和 20,202.02 DAI。
流動性池的準備金由流動性提供者提供,流動性提供者會獲得 Uniswap的0.3%交易費中相應比例作為激勵。在Uniswap上的每次代幣兌換都會收取此費用。
Uniswap對流動性提供者沒有限制,任何人都可以成為流動性提供者------唯一的要求是流動性提供者必須提供ETH和與之進行兌換的 另一種交易代幣 (按照當前 Uniswap 的兌換率)。截至2020年2月,已有125,000多個ETH被鎖定在Uniswap中。流動性池中持有的準備金數量在決定自動做市商機制如何設定價格方面起着巨大的作用。
自動做市商機制
流動性池中資產的價格是通過自動做市商(Automated Market Maker,AMM)算法以算法的方式確定的。AMM的工作原理是依據資金池兩側的流動性保持一個恆定乘積。
我們繼續以ETH-DAI流動性池為例,其中有100個ETH和20,000個DAI。為了計算恆定乘積,Uniswap會將這兩個量相乘。
ETH 流動性(x) * DAI 流動性(y) = 恆定乘積(k)
100 * 20,000 = 2,000,000
使用AMM,在任何給定時間,恆定乘積(k)必須始終維持在 2,000,000。如果有人想用DAI購買ETH,ETH將會從流動性池子中移除,而DAI將會添加到流動性池子中。
ETH的價格將會被漸進確定。訂單額越大,溢價越高。溢價是指與 200 DAI/ETH的原始價格相比,購買1個ETH時額外所需的DAI數量。
第79頁的表格進一步闡述了當購買ETH的訂單下達時漸進的定價和流動性的變化。
從表中可以看出,用戶想要購買的ETH量越大,溢價越高。這確保了流動性池子永遠不會失去流動性。
如何在Uniswap新增一種代幣?
不同於中心化交易所,Uniswap作為去中心化交易所並沒有團隊或審核人來評估和決定上架哪些代幣。相反,任何ERC-20代幣可由任何人上架Uniswap,而且只要給定的交易對存在流動性就可以進行交易。用戶需要做的只是與平台互動以註冊新代幣,然後該新代幣的交易市場會被創建。
這就是Uniswap。如果你想要開始或試驗它,我們提供了一個的分步指南,告訴你如何:(i)兌換代幣,(ii)提供流動性和(iii)停止提供流動性。否則,請進入下一節閱讀關於下一個DeFi應用的更多內容!
Uniswap:分步指南
兌換代幣
步驟1
- 前往https://uniswap.io/,然後點擊兌換代幣
- 為了開始使用Uniswap,你將需要連接錢包。你可以連接你的Metamask錢包。連接錢包是不需要付費的,你只需要簽署一筆交易即可。
步驟2
- 連接錢包後,選擇你想要交易的代幣,在本例中,我們用DAI去購買ETH。
步驟3
- 如果這是你第一次交易該代幣,你將需要通過支付小額費用來解鎖它。
- 然後系統會提示你進行另一筆交易。
- 一旦你的交易被確認,你將收到你的ETH!
提供流動性
步驟4
- 前往流動性池並填寫你要提供的流動性數額。在本例中,我們將提供價值10 DAI的流動性+0.0461 ETH
- 注意:你必須擁有等額的ETH來為該代幣提供流動性
- 點擊"增加流動性"後,系統會提示你簽署另一筆交易
- 一旦交易完成,你會被確認為一個流動性提供者並有望賺取一定比例的交易費
停止提供流動性
步驟5
- 如果你不再想提供流動性該怎麼辦?
- 返回該流動性池並選擇移除流動性
- 正如你所見,我們將從僅僅10DAI中獲得額外的0.0417DAI。
- 請注意,我的ETH和DAI的匯率現已不同,因此這是流動性池子的其中一個警告,如果我隨後移除流動性,我可能會有著一個十分不同的DAI與ETH的匯率。
- 另一件需要注意的事情是,當移除流動性時,我實際上是在交易流動性池代幣(Pool token)。我們可以把它看作你在該流動性池子中所占份額的證明。當你移除流動性時,你將銷毀流動性池代幣以取回你的DAI和ETH。
推薦閱讀
Getting Started (Uniswap) https://docs.uniswap.io/https://docs.uniswap.io/
The Ultimate Guide to Uniswap. (DefiZap)
https://defitutorials.substack.com/p/the-ultimate-guide-to-uniswap
- A Graphical Guide for Understanding Uniswap (EthHub)
https://docs.ethhub.io/guides/graphical-guide-for-understanding-uniswap
- Uniswap --- A Unique Exchange (Cyrus Younessi)
https://medium.com/scalar-capital/uniswap-a-unique-exchange-f4ef44f807bf
- What is Uniswap? A Detailed Beginner's Guide (Bisade Asolo)
https://www .mycryptopedia.com/what-is-uniswap-a-detailed-beginners-guide/
- Are Uniswap's Liquidity Pools Right for You? (Chris Blec)
https://defiprime.com/uniswap-liquidity-pools
- Understanding Uniswap Returns (Pintail)
https://medium.com/@pintail/understanding-uniswap-returns-cc593f3499ef
- UniSwap Traction Analysis (Ganesh)
https://www.covalenthq.com/blog/understanding-uniswap-data-analysis/
- A Deep Dive into Liquidity Pools (Rebecca Mqamelo)
https://blog.zerion.io/liquidity-pools-8ac8cf8cf230
dYdX
dYdX是一個支持借貸和保證金/槓桿交易的去中心化交易所協議。它目前支持3種資產------ETH,USDC與DAI。通過使用鏈下訂單簿和鏈上結算,dYdX協議旨在創建不受任何中心化機構控制的高效、公平與無須信任的金融市場。
乍一看,dYdX似乎與Compound有些相似------用戶可以提供資產(借出)來賺取利息,也可以貸出資產(借入)。然而,dYdX進一步支持保證金與槓桿交易,可使用DAI或USDC進行高達5倍槓桿的ETH保證金交易。
放貸
如果你是一個想通過加密資產產生一些被動收入的加密貨幣持有者,你可以考慮把它借給dYdX來獲取一些收益。它的風險相對較低,並且通過把加密貨幣存入dXdY,每秒都會產生利息,而無需任何額外的維護或管理。作為dYdX上的一個放款人,你只需關注賺取的利息率(APR)------這代表你將會從提供的資產中賺多少。
誰來支付我的存款利息?
你賺取的利息將由其他借入同一種資產的用戶支付。dYdX只允許超額抵押貸款。這意味著借款人必須始終有足夠的抵押品來償還其貸款。如果借款人的抵押品低於115%的抵押率閾值(即對於100美元的DAI貸款,低於115美元的ETH抵押),那麼借款人的抵押品將自動出售,直至完全覆蓋其頭寸。
移根據供求關係變化,這樣能確保用戶始終能賺取市場利率。此外,初始資金和賺取的利息可隨時存取。
借款
只要維持1.25倍的初始抵押率/1.15倍的最低抵押率,你可以使用 dYdx借入任何支持的資產(ETH,DAI及USDC)。借入資金會直接存入你的錢包,並可以自由地轉移、交換或交易。
作為dYdX的借款人,你需要關注的兩個數字是:
(i) 利率 (APR) -- 償還貸款所需支付的金額
(ii) 賬戶抵押率 -- 這是抵押資產/貸款額的比率。你可以借款,直至該比率達到125%,而且該比率一旦低於115%,你就會被清算。
保證金 \& 槓桿交易
交易頁面
在dYdX中,你可以建立高達5倍槓桿的空頭或多頭頭寸。當在dYdX 上進行保證金交易時,資金會自動地從平台放款人那裡借入。
假設這樣一個場景,你的dYdX賬戶最開始有300個DAI和0個ETH。如果你打算做空ETH(假設ETH現價為150美元),你將:
- 借入1個ETH(150美元)
- 以150個DAI出售ETH,dYdX的餘額現為450 DAI與 -1 ETH
- 假設ETH的價格跌到100美元,你現在能夠以100美元重新購買1 ETH來償還債務
- 你的最終餘額為350 DAI------你的利潤為50 DAI(50美元)
使用dYdX,你不需要實際上擁有ETH來建立空頭頭寸。你可以完全在同一個地方借入ETH並建立一個空頭頭寸。
小貼士:
用於保障保證金交易的抵押品會持續賺取利息,意味著你在等待訂單完成時不必擔心利息損失。在撰寫時,就我們所知,這是dYdX獨一無二的特性。
槓桿是什麼?
對於一個持有10個ETH(150美元/ETH)或者1500美元的交易員,考慮兩種不同的槓桿頭寸情景(使用近似數字)。在第一種情景下,交易員用1個ETH(150美元)建立了一個5倍多頭寸。
a.頭寸大小為5 ETH(750美元);
b.10% 的投資組合處於風險之中 (使用了1/10 ETH);
c.價格下跌約10%(ETH下跌15美元)時將清算交易員的頭寸,意味著給價格上漲預留很小的緩衝余地。
另一方面,如果交易員用1個ETH(150美元)建立了一個2倍多頭寸:
a.頭寸大小為2 ETH(300美元);
b.10% 的投資組合處於風險之中(使用了1/10 ETH);
c.價格下跌約45%(ETH下跌65美元)時將清算交易員的頭寸。
從本質上講,槓桿實際上只是一個反應交易員想要承擔多大風險(就價格波動的風險敞口而言)的因子,而這又決定了交易員離被清算有多遠。高風險,高回報!
注意:自2020年2月起,在美國交易的保證金頭寸限制在28天內。
清算是什麼? 在dYdX上,每當頭寸低於115%的保證金閾值時,任何現有借款都被視為有風險的,為了保障放款人,有風險的頭寸將會被清算。為借款背書的抵押品將會被變賣,直到負差額為0,並收取5%的清算費用。
如何計算利潤/虧損?
例如,你用3 ETH的存款以220美元的開倉價開啟了一個5倍多頭頭寸。
你將需要借入$220*12 = 2640 DAI 來購買額外的12個ETH(在你的頭寸中鎖定總計15個ETH)
如果你以250美元平倉,你將需要償還2640 DAI的貸款= 2640/250 ETH = 10.56 ETH
這會給你留下15-10.56=4.44ETH。因此,你的盈利將為4.44-3=1.44 ETH
計算利潤的步驟:
- 確定初始槓桿和存款額以確定頭寸大小(槓桿*存款)
- 貸款額=(頭寸大小 - 存款)*開倉價
- 償還貸款=貸款額/平倉價
- 餘額=頭寸-償還貸款
- 利潤=餘額-初始存款
這就是dYdX。如果你想要開始或試驗它,我們提供了一個的分步指南,告訴你如何:(i)通過放貸來賺取利息,(ii)借款和(iii)保證金/槓桿交易。否則,請進入下一節閱讀關於下一個DeFi應用的更多內容!
dYdX:分步指南
步驟1
- 前往https://dydx.exchange/
- 點擊"開始交易"
- 在側邊欄點擊連接錢包
步驟2
- 選擇要連接的錢包
步驟3
- 你的dYdX賬戶沒有餘額
- 點擊"存款"
- 如果你是新手,那麼你將需要許可你想要存入的代幣。在本例中,我將存入DAI
步驟4
- 輸入你想存入DAI的數額並繼續
- 確認交易後,你將看到餘額
步驟5
- 你現在可以開始交易了。
- 以下是些指引:
a.你可以進行保證金交易或普通的現貨交易。保證金交易會計息,因為你是用借來的資金交易。
b.你可以選擇看多或看空頭寸。
c.頭寸大小指的是你想買多少來交易。
d.這是你借款的數額。如果你的dYdX有1 ETH,你最多可以借到5倍(你的頭寸大小現應為5 ETH)。
e.在這裡你可以設定你的頭寸價格允許的下滑幅度。
f.你保證金(借款)的大小決定你所要支付的利息。
步驟6
- 或者,你可以借入ETH、USDC或DAI
- 你將必須在你借款之前提供抵押品
- 你將需要在開始借款之前許可用來抵押的代幣
推薦閱讀
dYdX Exchange Review http://defipicks.com/2019/11/23/dydx-exchange-review/
Margin Trading on Centralized vs. Decentralized Exchanges (Syed Shoeb) https://medium.com/nuo-news/why-you-should-choose-decentralized-margin-trading-over-centralized-e309e61e6e72
Liquidators: The Secret Whales Helping DeFi Function