第 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。
推荐阅读
1. Getting Started (Uniswap) https://docs.uniswap.io/https://docs.uniswap.io/
2. The Ultimate Guide to Uniswap. (DefiZap)
https://defitutorials.substack.com/p/the-ultimate-guide-to-uniswap
3. A Graphical Guide for Understanding Uniswap (EthHub)
https://docs.ethhub.io/guides/graphical-guide-for-understanding-uniswap
4. Uniswap — A Unique Exchange (Cyrus Younessi)
https://medium.com/scalar-capital/uniswap-a-unique-exchange-f4ef44f807bf
5. What is Uniswap? A Detailed Beginner’s Guide (Bisade Asolo)
https://www .mycryptopedia.com/what-is-uniswap-a-detailed-beginners-guide/
6. Are Uniswap‘s Liquidity Pools Right for You? (Chris Blec)
https://defiprime.com/uniswap-liquidity-pools
7. Understanding Uniswap Returns (Pintail)
https://medium.com/@pintail/understanding-uniswap-returns-cc593f3499ef
8. UniSwap Traction Analysis (Ganesh)
https://www.covalenthq.com/blog/understanding-uniswap-data-analysis/
9. 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
- 你将必须在你借款之前提供抵押品
- 你将需要在开始借款之前许可用来抵押的代币
推荐阅读
1. dYdX Exchange Review http://defipicks.com/2019/11/23/dydx-exchange-review/
2. Margin Trading on Centralized vs. Decentralized Exchanges (Syed Shoeb) https://medium.com/nuo-news/why-you-should-choose-decentralized-margin-trading-over-centralized-e309e61e6e72
3. Liquidators: The Secret Whales Helping DeFi Function