作者:Jackson ,原文标题《DEX的创新之路|AMM自动做市商科普》
AMM(做市商)贯穿着DeFi世界的始终,同时AMM模型也构建了DeFi世界繁荣的基础。想要构建一个对于DeFi世界的基础认知,建议仔细阅读以下内容,Let’s for fun.
什么是AMM(自动做市商)
在了解AMM之前,先让我们看看传统意义上的做市商是什么?所谓做市商(AMM),是负责为交易所提供流动性,同时进行价格操作的实体。这是通过MM从自己的账户买卖资产来实现的,他们的目的是为了盈利,他们的交易活动为其它交易者创造了流动性,这降低了大宗交易的滑点,在计算机交易大规模普及之前,做市商是交易市场不可或缺的一部分。
加密货币市场同样有着提供流动性和定价的需求,但是在追求去中心化的加密货币市场中,这种中心化的做市商机制并不被人们所使用。于是自动化做市商(AMM)产生,这种机制使用算法“机器人”在DeFi等电子市场中模拟这些价格行为。我们可以把AMM设想成一个原始的,机器人式的做市商,他根据自定的定价模型,在两种资产之间随时提供报价以供用户进行交易。
1、AMM类别和其定价模型
恒定函数做市商(CFMM)是当前最流行的AMM。
当交易者希望在AB代币之间进行交易时,这种AMM会使用恒定函数作为其定价机制。“恒定函数”在此处指的是两种或多种交易资产的储备的某种函数值必须在发生任何交易时保持不变。
目前主流的CFMM有以下几种:
A .恒定乘积(Uniswap)
这种AMM强制要求两种资产储备量的乘积始终保持不变,即:
x * y = k
在这个等式中,X 和 Y代表流动性池中两种资产的单位数量。举例说明,假设ETH/DAI池包含100ETH(X)和10000DAI(Y)。此时K=1,000,000 。现在的目标是保持k值恒定,而不考虑对流动性池的交易量。做到这一点的唯一方法是,x和y的数量反向变化。换句话说,当x的数量增加时(交易者将ETH加入池中),y的数量必须减少(交易者将DAI从池中取出)。最终,任何给定交易所的报价都是常量乘积公式和池中代币比例的函数。下图近似描述了这种模式下两类资产之间互相兑换的关系。
可以看到在这种方式下,两类资产之间的兑换并不成线性关系,而是一个双曲线,这在这种模式下,流动性总是可用的,但是缺点也显而易见:
在交易中会产生滑点,尤其是当进行越大宗的交易时,滑点越大。
资产的价格有可能会越来越高,两端接近无穷大
无法满足挂单交易的需求
B .恒定和 (CSMM)
这类AMM遵循 x + y = k 的公式,从而在交易中可以实现零滑点。但他的致命之处在于它无法提供无限的流动性,如果作为储备代币的参考价格不等于1,所有套利者会不断买入其中一种代币,直至其流动性耗尽。因此并不是一种常见的AMM机制。
C .恒定平均值 (Balancer)
恒定平均值做市商由恒定乘积做市商这一概念推广而来,可用于两种以上资产,权重比例不仅限于 50/50 。
这一类型实际上是恒定乘积模型的变种,公式如下,其中Bt为资产t的数量,Wt为权重
类似于Uniswap,目标是在保持资产权重不变的情况下,只改变资产余额,从而保持k不变。在3种资产Balancer Pool的情况下,交易可以发生在三个资产中的任意两个之间。用户可以用ETH交换DAI,用ETH交换BTC,或者用DAI交换ETH。通过保持k的值不变,可以在三种资产之间生成一个价值面。这个价值实际上与Uniswap的曲线没有太大区别,只不过多了几个维度而已。
不同的是,在这种模式下,定价模型变得更加复杂了起来
Balancer资金池中可以允许有2-8种资产。池中的每一对代币都有一个价格,这个价格取决于该特定代币的余额B和权重W。从形式上看,交易执行的价格是按照代币余额与代币权重的比值来计算的。
在上面的公式中,代币A代表被卖出的代币(进入池子) 而代币B是被买入的代币(离开池子)。如果池子的持有者不改变资产储备,很容易看出价格的变化完全基于交易,因为资产权重必须始终保持不变。这种机制与图2所示的恒定面相结合,可以保证买入资产的价格上升,而卖出资产的价格下降。在与Uniswap相同的情况下,套利机会保证了Balancer Pools提供的价格与市场其他部分同步变动。
D . 混合型CFMM (Curve)
经过分析以上三种模型我们可以看出,他们都有各自的优缺点,于是一些项目想通过使用混合函数基于资产特性获得理想属性,这其中的代表项目就是Curve
Curve是一个交易所流动性池,预期价格稳定的资产之间可以在该池里进行高效交易(如稳定币或封装的比特币(wrapped bitcoin))。Uniswap和Balancer主要是针对波动和价格不稳定的代币的交易。然而,当处理那些想要互相保持稳定的资产之间的交易时,低价格滑点是最重要的。之前迭代的各种AMMs固有曲率就有问题了,因为交易规模越大,滑点就越大。
从上面我们看到恒和机制可以达到无滑点,但是它无法做到激励流动性,因此Curve在CSMM的基础之上结合恒定乘积函数创造了一种混合AMM:
这个函数在恒定乘积曲线的平衡点附近创建一条相对平坦的曲线,类似于恒定总和函数,以保持价格相对稳定,同时使两端更加倾斜,类似于恒定乘积函数,因此在曲线的每个点都有流动性。在双资产的情况下(x和y),最终的结果是下面的复杂函数。
其中n为资产数量(在双资产情况下n=2),A为“放大系数”参数,他决定了函数于恒积函数的相似程度,A值越小,越类似Uniswap的恒积函数,我们无需理解这个函数的构成,只要知道函数的目的还是在交易过程中保持常数K不变。绘制该函数如下:
可以看到在函数终端其更类似一条直线,表现为恒和函数,但随着x,y的增大,则向恒积函数靠拢,这种形状使曲线中间段的价格保持稳定,同时又能在两端提供流动性。
2、做市模型及潜在风险
做市模型:
CFMM主要有以下三类参与者:
交易者:希望在CFMM中将某类资产交换为另一种资产
流动性提供者:提供资产组合(交易对)来满足交易需求,赚取交易费
套利者:通过套利行为将交易对中的资产维持在市场价格
在这三类参与方中,最重要的角色是流动性提供者(LP),负责向 DEX 的智能合约中注入自己的资产,作为资产储备池,为交易提供流动性,并以此获取交易费用收益。其次是套利者,他们负责修正交易价格,保证交易价格与市场价格一致,但也会产生无常损失(Impermanent Loss),给流动性提供者带来亏损的风险。
我们以 Uniswap 中资产 A 和资产 B 的交易为例。在交易开始前,我们需要向区块链的智能合约中注入 x 数量的资产 A 和 y 数量的资产 B 来作为流动性储备,即在公式 x*y=k 中, x,y 和 k 的初始值由流动性提供者(LP)确定。因为资产 A 和资产 B 之间的初始价格 P = x / y,所以当第一个流动性提供者(LP)把自己认为等价值的资产 A 和资产 B 充值到此智能合约中,就可以实现初始价格 P 的设置。在开放交易之后,结合第一部分我们讲到的不同类型的定价模型,资产的价格会根据流动性池中资产的数量不断变化。
从上我们可以看出,自动做市商制度打破了传统的交易制度模式,不需要订单薄,也不需要做市商报价或者系统撮合,而是利用储备池中的流动性来完成资产的交易兑换;最重要的是,AMM 的交易价格也不是由做市商的报价或交易者的订单确定,而是由资产池中两种资产数量的比值确定,因此它是一种流动性驱动的交易制度。
潜在风险:
无常损失
由于模型设计上的缺陷,AMM 不得不引入套利机制以完善其价格机制。然而,这也带来了另一个严重后果—无常损失(Impermanent Loss)
无常损失实际上来源于套利行为。我们前面提前,AMM 的交易价格与市场公允价格是脱轨的,为此需要套利者进来购买被低估的资产或卖出高估的资产,直到 AMM 提供的价格跟外部市场匹配。因此,套利者的利润实际上来自于流动性提供者,由于套利给流动性提供者带来损失的这一部分就被称为无常损失。
以下图为例 T3时刻套利发生后流动性池内总资产价值相比市场实际价值缺失,这部分价值就是套利者从流动性提供者处赚取的价值。
流动性提供者(LP)之所以为 AMM 提供流动性,是因为可以获取交易费用,然而无常损失的存在,提高了流动性提供者的风险。如果无常损失超过了流动性收益,那么 LP 将不再提供流动性。因此无常损失的大小是决定 AMM 类 DEX 能否正常运营的关键。
多代币敞口
AMM通常要求流动性提供者(LP)存放两种不同的代币,以在交易双方提供相等的流动性。因此,流动性提供者(LP)无法将其长期风险敞口保持在单一代币上,而是必须通过持有额外的ERC20储备资产来分割其敞口。拥有大量一种代币的团队,或希望提供流动性的个人持有者,被迫购买另一种资产才能提供流动性,从而减少他们在资产池基础代币中的持有量,并增加对另一项资产的敞口。
3、优劣势
优势分析:
AMM的优势是显而易见的,他的出现与人们在defi市场追求去中心化,自动化,交易快捷的需求不谋而合,目前defi市场绝大多数的交易量都发生在应用了AMM的DEX上,充分体现了用户对这种交易模型的信任。DEX也是目前defi市场上可用性最高的交易数字货币的交易类型,然而目前AMM机制也存在着许多的问题,在某些方面相比传统的中心化竞价,做市商机制还存在着短板,这些方面也是目前市场上的AMM项目未来着力解决的方向,这里将做总结。
劣势分析:
无法独立定价
我们前面提到,AMM 的价格是靠流动性驱动的,交易价格由储备池的资产情况决定,而非订单价格决定,即 AMM 只能产生交易价格,却不能发现市场价格。为此,AMM 不得不引入套利者这一重要角色:一旦 AMM 平台上的价格与市场公允价格不同,就会出现套利空间,并将价格拉回正轨。
这意味着如果没有市面上的中心化交易所的存在,使用AMM的交易平台无法反映真实的资产价格,因此它无法完全替代现有的竞价制度和做市商制度。
交易深度(滑点):
交易深度是衡量市场交易优劣的重要指标之一,反映的是市场在承受大额交易时价格不出现大幅波动的能力。很多行业人士认为,只要向市场提供足够的流动性,就可以解决交易深度问题。对于以订单薄为基础的竞价制度和做市商制度确实如此,但对于 AMM 而言,其模型本身也会影响交易深度。
相较于传统交易制度,在提供相同流动性的情况下,AMM 用户向交易合约中放入越多数量的资产 A,换回的资产 B 数量越少,即交易价格越高。所以 AMM 的交易深度不仅仅取决于 LP 的大小(即 k 值),跟模型本身也有关。因此,尽管 很多DEX 简洁的交易模型给其带来了巨大优势,但同时也带来了高滑点的问题。特别是对于储备池规模较小的交易对资产,无法支持大额交易,否则将支付更高的价格。
资本效率低下:
由于AMM在整个价格范围(0,+∞)上均匀地分配资金,因此只有在市场价格附近分配的资金才能得到有效利用,而很大一部分资金只有在定价曲线开始呈指数变化时才可用。结果,AMM需要大量的流动性以匹配传统订单簿交易中的滑点。
不过uniswap的V3在原有的基础上通过对做市机制的改革,极大的提升了资本效率。且以最新的消息来看,uniswap还将通过拆分大额订单的形式来提高大额交易的成交效率。可以期待~
4、代表产品及其经济体系设计
目前市场上有许许多多应用AMM机制的DEX产品,他们的交易量占据了Defi市场的大头,这里将选择市场中具有代表性的几个产品进行分析。主要包括其所使用的定价模型,经济体系,以及这些产品的优势和特点在哪里(他们着力于哪一方面)
根据CoinMarketcap 当前 DEX交易量前十位分别为:
Uniswap(V3)
Uniswap自上线以来就占据着DEX交易龙头的宝座,也是他的出现将AMM引入defi世界,在这个过程中这个项目也经过了许多的更新,Uniswap基本代表着AMM DEX项目的标准,其他项目多是在Uniswap基础上进行的修正和改进。Uniswap自身也在不断进行版本迭代,前不久V3刚刚上线,这里将使用其最新版本进行研究。
定价模型
恒定乘积 (x * y = k)
经济体系
UNI是Uniswap协议的原生代币,为持有者赋予治理权。这意味着UNI持有者可以对协议变更投票表决。这款代币的初始铸造总量为10亿枚,其中60%由现有的Uniswap社区成员共享,其余40%将在四年内发放给团队成员、投资者和顾问。
同时部分UNI可由流动性挖矿获得,这些代币将发放给为流动性资金池的供应商,激励他们提供流动性。
特性
Uniswap V3最大的改进实际上是通过集中流动性机制提升资本效率
集中流动性
在Uniswap的流动性资金池中,流动性供应商(LP)所提供的流动性对应的价格曲线实际上是从0到无穷大。所有这些资金均存放其中,应对池内其中一项资产出现5x-s、10x-s或100x-s的情况。
如果出现这种情况,这些闲置资产将确保价格曲线的相应部分仍具流动性。这意味着资金池中只有一小部分流动性聚集在达成大多数交易的价格区间。
如今,流动性供应商可以自行为注入流动性的资金池设定价格范围。因此,流动性会更加集中到大多数交易活动对应的价格范围。大大提升了资本效率。
Uniswp V3实现流动性聚集的原理也十分简洁:主要在V2版本的基础上增加了两个参数,
(x+m)*(y+n)= k
m= L/√(p_b )
n= L √(p_a )
L^2=k
在Uniswap V3中, x和y为实际储备资产,(x+m)和(y+n)为虚拟资产,虚拟资产等同于V2版本(x^’*y^’=k)中的x^’和y^’。例如在V2版本中,x^’和y^’的数量分别为300和600,在V3版本中,若m为100,n为200,那么x,y只分别需要200和400即可。从上我们可以发现,在保证模型流动性与V2版本一致的前提下,V3版本减少了x和y资产的实际数量需求,由此提高了资本效率。
PancakeSwap
Pancakeswap运行在BSC上,可以看作是binance的DEX版本,从核心上与Uniswap并无太大区别
和其他的 AMM 交易所类似,Pancake交易手续费为 0.2%,其中 0.17%作为流动性挖矿奖励,0.03%作为系统收入。Pancakeswap 就像是去中心化版的币安,除了交易类业务之外,还有诸多其他附属功能。这些功能的组合,让 Pancakeswap 不再是一个单纯的 DEX,而是一个综合性的 DeFi 服务平台。
MDEX
与Pancake类似,MDEX背靠HECO,同样拥有很高的交易量,MDEX的交易手续费为0.3%。比较特殊的是MDEX支持交易挖矿,用户可以通过交易获取MDX代币
Sushiswap
Sushiswap 是Uniswap的 fork ,其从DEX本身来说并无差异,他的不同处在于DEX之外的运营,治理策略。与Uniswap专注于swap本身及其流动性机制的改善,而Sushi更倾向于拓展有助于增加其流动性的其他功能和业务。
Curve(V2)
正如之前我们提到的那样,Curve采用了混合型CFMM的机制,创造了一种曲线,这种曲线在其核心范围内具有恒定和的无滑点稳定的特性,又在曲线两端保证了流动性的存在,这样的机制是的其能够为稳定币在DEX上的交易提供极低的滑点同时,保证了流动性。
V2 曲线
同时在最新发布的V2版本中,项目又对曲线作出了改进:
这个最新的数学模型最核心的部分是其创造了一条全新形态的曲线。从上图直观来看,两条虚线是恒定乘积曲线,蓝色线是著名的Curve V1稳定币兑换曲线,而Curve V2构造的黄色曲线具备两个基本特征——
(1)介于恒定乘积曲线和Curve V1曲线之间;
(2)其曲线尾部特征拥有明显的恒定乘积曲线拟合。
所以它可以解决什么问题:
(a)继承了Curve V1在“均衡点”附近区域超低滑点和聚集流动性的优势;
(b)通过介于恒定乘积曲线和Curve V1曲线之间,以及在曲线的中尾部区域向恒定乘积曲线拟合,获得恒定乘积曲线快速响应流动性变化的优势,避免池子流动性枯竭,灵活响应快速的市场变化。
除此之外还有一个很重要的创新:
内部预言机repegging机制。
这项机制对实施更好的集中流动性以及减缓无常损失是十分有利的。
简单的说这项机制使得原本固定的Curve V1曲线便会随着场内汇率的大偏移不断变换均衡点,使得永远在当前汇率附近具备最大的流动性,及时对抗套利者,减缓无常损失。
可以看到Curve用非常复杂的数学模型创造出一条能够在恒定乘积曲线和恒定和曲线之间动态平衡的曲线,使得在Curve上的稳定币交易能够兼具两条曲线低滑点和高流动性的特性。
同时新的引入机制一定程度上解决了无常损失,资本效率等问题,团队的数学能力是他们的核心竞争力。
Curve的激励机制
除了上文我们提到由于Curve独特的曲线设计而拥有的低滑点,无常损失低之外,Curve创立之初就以低廉的交易手续费为卖点,但是这样就造成LP的收益相应降低,为此Curve拥有与大多数DEX不同的流动性激励机制。
AMM是基于流动性流动性驱动的交易模型之一,虽然并非区块链生态原创,但是缺在区块链生态当中发展壮大。究其原因,我们认为有以下几点:
1:简洁的定价和做市模型降低了流动性汇聚的门槛
2:uniswap等产品无审查无限制且产品化程度较高的上币机制促进了其野蛮生长
3:简洁的UI和产品逻辑降低了用户的使用门槛
4:开源精神促进了组合式创新的演进
5:流动性挖矿机制促进了AMM的需求
DeFi的可组合性给AMM赋予了新的意义,那就是“基础设施”,在DeFI乐高的整体生态里,AMM和借贷,保险,合成资产等产品发挥了基础设施的作用,多种类型产品的组合也激发了更多的创新。创新的同时也面临着金融风险与合规风险的压力,尤其是最近Uniswap前端下架股票类通证这一事件,也引发了很多从业者对监管的担忧。好在这种担忧更多是针对项目方的,DeFi生态本质不受影响,未来仍旧可期。
之后,先知实验室还会向大家分享其他的交易模型在DeFi生态的实践,保持关注吧~
关于SeerLabs:
SeerLabs(先知实验室)是一家亚洲领先的专注区块链市场孵化的机构,我们拥有全球前沿营销理念和增长黑客,致力于帮助项目方和初创公司实现闪电性的快速增长。成功深度参与孵化了Ploygon(MATIC),HoDooi.com,DIA,Paralink,Swingby,XEND Finance,BOSON等30+项目。
风险提示:数字资产是一种高风险投资标的,请广大公众理性看待区块链,提高风险意识,树立正确的货币观念和投资理念。