观察 | 谁会成为下一个Uniswap?
本文来源: Odaily星球日报 ,原题《从寻找下一个币安,到寻找下一个Uniswap》
作者:王也
从销毁平台币到跟风 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(自动做市商)通过存入代币在去中心化资金池的方式提高流动性。 据 The Block,DEX 在 7 月的交易量超过 40 亿美元,创历史新高;同时,DEX 与中心化交易所交易量的占比增加至近 3.95%,而年初这个数字还是 0.1%。
从模式进化到数据表现,DEX 前景逐渐明朗。
但 DEX 仍处于混战时期,竞争格局不确定,各具特色的新玩家层出不穷,每家都有可能突围而出。
本文中,Odaily星球日报将先普及一些关于 DEX的入门知识(有基础的读者可以跳过),呈现 DEX 在撮合方式上的演变路径,最终讨论 DEX 未来的进化方向。
从订单簿到AMM的范式革命
DEX 按撮合方式可以分为订单簿(Order Book)、自动做市商(AMM,Automated Market Maker)和聚合器(Aggregator)三种。本文我们主要介绍最常见的订单簿和 AMM。
在正式介绍之前,我们首先要了解什么是做市商 (Market Maker)。
据 MakerDAO 中国区负责人潘超介绍,做市商不同于普通交易者,他们是风险中性的,一手持有股票,一手持有现金。在订单簿模式下,会同时布上买单和卖单,中间为价差。类似的,柜台模式的做市商会在客户询价时给出有利可图的报价。
做市商是流动性的来源,高流动性市场需要做市商,同时也吸引规模化的做市商参与。
下面我们分别看看订单簿下和 AMM 模式下做市商是如何工作的。
币安、火币、OKEx 等中心化交易所的撮合都基于订单薄模型。在订单簿中包含了买单(出价)和卖单(要价)列表,并列出了在每个价格点出价或要价的数量。订单簿
在订单簿式交易所中,需要做市商通过挂单来提供流动性。如果订单簿交易所没有流动性,会出现想买买不到、想卖卖不出的情况,因此流动性是衡量一个交易所的重要指标,流动性越好,成交越便捷。
在 DEX 中,订单簿又可分为链上订单簿和链下订单簿。
- 链上订单簿
早期的基于以太坊的去中心化交易所 EtherDelta 采用的这种模式,用户的充值、挂单、交易结算、提现等全部由智能合约来完成。由于没有订单自动撮合的机制,其上的每笔交易均需要在链上确认。其订单模式如下图所示:
Maker 填写订单请求,并用私钥签名后提交到区块链上锁定,Taker 从链上订单簿中选择希望交易的订单,并发起一笔交易,然后由智能合约对 Maker 和 Taker 的交易需求进行匹配,交易成功后在链上进行结算。
链上订单模式的优点是直接通过钱包交易,透明度和安全性较高,但其交易流程都在链上,交易速度较慢,确认时间较长,影响用户体验。同时订单交易深度较差,并且交易费用较高,也可能因为链上的一些拥堵、Gas 等原因导致交易失败等情形的发生。
- 链下订单簿
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 越便宜。
这样的滑点也会引来套利者的注意。小明第二次以 0.09ETH 的价格卖出了 50DAI,按照 X*Y =K 的关系,如果这时候套利者买入 50DAI,就只需要花费 0.09ETH,这就与第一次买入 50DAI 的价格(0.11ETH)形成了价差。
潘超将 Uniswap 比作一个特殊的自动售卖机,只要有人买走商品,该商品的价格就会提高,且取的越多,价格飙升越快,直到做市商和套利商补货。
在订单簿模式下,做市商赚交易费和价格差这两个部分的钱;在 AMM 中,做市商,或者说流动性提供者只赚交易费这一个部分的钱,而套利者则赚价格差这一部分的钱,即 AMM 模式下套利商赚差价,做市商分红。
因此,DEX 采用 AMM 模式,是 DeFi 从 0 到 1 的创新,降低了普通用户成为做市商的门槛,开辟了“人人皆可做市”的时代。
AMM模式的缺陷在哪里?
相较于传统订单簿模式,AMM 具有自动化、低成本和高效的优势,但在定价权、无常损失、滑点等方面存在一定的问题。
- 无法独立定价
做市商的收益主要来源于买卖差价,在对市场进行做市时,以收益最大化为目标。这要求做市商必须充分利用市场信息,提出报价。与此同时,投资者根据做市商的报价做出投资决策,并将自己的交易信息及时反馈给做市商,随后做市商再根据手上的资产头寸和价格差异调整报价。因此,在做市商与投资者的共同推动下,市场可以发现真实的交易价格。
然而,AMM 模式下并没有价格发现的功能。
比如在某一资产的交易上,用户 A(做市商 A)挂出的是 5 美元/手的买单,用户 B(做市商 B)挂出的是 10 美元/手的买单,在竞价制度或做市商制度下,B 会先实现交易,但 Uniswap 平台无法保证 B 先成交。因为 AMM 的价格是靠流动性驱动的,交易价格由储备池的资产情况决定,而非订单价格决定,即 AMM 只能产生交易价格,却不能发现市场价格。为此,AMM 不得不引入套利者这一重要角色:一旦 AMM 平台上的价格与市场公允价格不同,就会出现套利空间,并将价格拉回正轨。
欧科云链研究院认为金融市场交易制度的核心是发现价格功能,AMM 这种无法发现价格的交易制度注定无法成为主流。
代世超也认为,AMM 模式下,新币的发行价格过度受制于项目方自己。
“在新发行的场景下,不同于已有的加密资产交易,其分散度是很低的,新币的筹码都集中在项目发行方的手中。这就导致 DEX 的流动性池子几乎只能由项目方自身注入,缺乏普遍参与的流动性提供者。同时,多市场套利的机制可能就失效了,项目方向流动性池子中注入代币的数量和时机都会直接影响价格。”代世超告诉 Odaily星球日报。
首先来说注入的数量问题, 由于 DEX 定价曲线的特征,注入代币的数量越多,其交易滑点越低,也就是说买入单位新币的价格变化就越小,所以,代币池的总量和比例直接决定了价格。
所以,当注入池子中的币很少的时候,往往要注意。
同时,由于 Uniswap 的定价曲线理论上希望提供无限的流动性,那么当某个币在池子中被买的只剩很少的时候,其边际价格会变动非常的大。
其次是注入时机的问题。 如果要多次注入,那么每一次注入代币对整体价格影响都是非常大的。
- 无常损失:挖款收益没有跑赢持币收益
首先我们要明白什么是无常损失:相较于只是简单地持有代币,向 AMM 提供流动性的用户可能会看到其质押的代币在损失价值,这种风险被称为“无常损失”。
简单来说,假设你为 ETH/DAI 代币池提供流动性,但如果 ETH 涨得很快,为了维持 K 乘积的固定值,那么你持有的 DAI 就会变多,ETH 的数量变少,你手中原本低价买入的 ETH 被套利者用 DAI 悄悄换走了,那么你为代币池提供流动性获得的收益,可能还不如直接持有 ETH 带来的收益。
我们曾在一次流动性挖矿中切身体会到无常损失,因为质押的代币价格在流动性挖矿期间翻了三倍,导致挖矿收益没有跑赢持币收益,最后我们索性退出质押挖矿,直接持有代币。
从本质上来说,无常损失实际上来源于套利行为。AMM 的交易价格与市场公允价格是脱轨的,为此需要套利者进来购买被低估的资产或卖出高估的资产,直到 AMM 提供的价格跟外部市场匹配。因此,套利者的利润实际上来自于流动性提供者。
如果无常损失超过了流动性收益,那么流动性提供者将不再提供流动性。因此无常损失的大小是决定 AMM 类 DEX 能否正常运营的关键。
下图展示了代币价格变化和无常损失之间的关系:
图片来源于:机械钟
以三个点为例子:黄线与蓝线的交叉点是当外部价格没有发生变化时,无常损失为零;绿线与蓝线的交叉点分别是当价格跌了 50% 后,以及价格涨了 100% 后,无常损失都为 -5.7%,不难发现无常损失与价格变化的幅度有关,与代币涨跌方向无关。
- 滑点太高,AMM 类 DEX 只适用于日常小额兑换
滑点过高的问题也是阻碍机构投资者和新用户进入 AMM 类 DEX 的一大原因。
在文章第一部分我们已经举例解释了滑点出现的背后逻辑,滑点是 DEX 用函数来定价的一大缺点,也引来了套利者的进场,而套利行为又带来了无常损失的出现。
有趣的是,滑点和无常损失间存在一些互斥关系,减少滑点追逐的是一种价格的稳定,减少无常损失追逐的是一种价格的变化,优化一边可能会损失另一边。
所以从某种程度上来说,对于 AMM 类 DEX 来说,无常损失和滑点也可以看作自动做市商身体的一部分,只能调整和改善节奏,而不可强行驱逐。“无滑点”和“消除无常损失”的说法至少在目前看来都是不可信的,因为滑点的降低和无常损失的减少必然都是以对方的增加为代价的。
谁会成为下一个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 设计了一个新系统,允许系统拥有负数的存货,通过整合借贷协议的方式,抵押量多的币,借出不足的币,可以处理远超过储备的成交量。
BlackHoleSwap 将储备货币存入借贷平台,当交易对中其中种货币的存货耗尽,而市场仍有需求时,BlackHoleSwap 会以另⼀种货币做为抵押,从借贷平台中借出需求货币以完成交易。因此,BlackHoleSwap 不会受限于的存货量,可以在保持低滑价的同时无须担心存货耗尽 。
1inch.Exchange 推出的 Mooniswap 是具有虚拟余额的自动做市商,流动性提供商能够获取套利者原本可以获取的利润。 借助 Mooniswap,1inch 计划通过引入 5 分钟延迟来降低套利者的利润率,从而降低流动性提供商的短期损失。通过延迟价格更新,做市商将为套利者创造一个高度竞争的环境,迫使他们以利润较低的价格进行交易,这反过来将增加流动性提供者的价值。1inch 预计 Mooniswap 为流动性提供商带来的收入将比 Uniswap V2 高出 50-200%。
还有文章开篇我们提到的基于主动做市商算法的去中心化交易所 DODO。 DODO 借鉴了 BancorV2,通过 Oracle 引入市场中间价,将大部分资金聚集在市场中间价附近。 DODO 可以在资金池规模与Uniswap类似的情况下,流动性超过Uniswap十倍(滑点为 Uniswap 1/10), 或者在资金池为 Uniswap 1/10 情况下,达到和 Uniswap 类似的流动性。
现在的 DEX 市场有点像 2018 年的公链市场,正呈现出百花齐放、百家争鸣的竞争状态,甚至可以说 2020年是 DEX 元年,至于最后谁能跑出来,成为下一个 Uniswap,这还需要市场和时间的验证,以及 DeFi 热潮的助推。
参考资料:
TokenClub研究院:《深度 | 去中心化交易所综述》
欧科云链研究院:《欧科云链研究院:金融市场交易的范式革命 ---自动做市商制度(AMM)》
李画:《以逻辑为工具轻松看懂DeFi:DEX 篇》
蓝狐笔记:《为什么自动做市商可能会亏钱?》
林明:《Bancor V2技术深度讲解—林明FirstPool》
Ai sẽ là người được lợi trong đợt Bull Run của Bitcoin?
Theo báo cáo của sàn giao dịch OKEx trong thời kỳ Bull Run hiện tại của Bitcoin, những ch...
MCDEX khởi chạy trên mạng thử nghiệm Arbitrum Rollup L2
MCDEX vui mừng thông báo về việc ra mắt testnet của mình trên Arbitrum Rollup, một giải pháp khả năn...
[Tổng kết AMA] Cùng BigcoinVietnam tìm hiểu về Lien.Finance
Vào 11:00 AM - 12:00 PM, thứ tư, ngày 02/12/2020 Lien.Finance và BigcoinVietnam đã tổ chức một ...