一文读懂DeFi排行第五的Uniswap:加密世界的独特存在
编者注:原标题为《一文读懂Uniswap》
2019年是DeFi元年。MakerDAO、Synthetix、Uniswap、Compound以及Kyber等表现都不错。其中Uniswap因为其独特性引起了蓝狐笔记的注意。Uniswap没有发行代币,创始团队也没有捕获交易费用,它在加密世界是一个非常独特的存在。
Uniswap的2019
从2019年1月1日至2019年12月31日一年之间,Uniswap发展迅速,即便是基数小,也算成绩斐然。
- 锁定总价值
截止到撰稿时,Uniswap锁定的总价值是2910万美元,位居DeFi第五。
(数据来自defiplus)
- 日交易量:增长+6000%;从25,000美元发展到1,500,000美元。
- 流动性:增长+5000%;从500,000美元发展到25,000,000美元。
- 交易量峰值:从800,000美元发展到390,000,000美元。
- 流动性提供商捕获的费用:从2,400美元发展到1,200,000美元。
- 超过5万美元的代币池:从2个发展到28个
- 最大代币池:从100,000美元(SAI/ETH)发展到10,000,000美元(sETH/ETH);可以处理60,000美元的交易,且仅有1%的滑点。
- SAI/ETH池的费用回报:高达23.88%。
- 集成:集成于DEX聚合商、钱包、交易协议、稳定币、合成资产、用途代币、动态定价商品等。例如蓝狐笔记之前提到的区块链咖啡《区块链咖啡:关于区块链落地的探索之路》也是通过集成Uniswap实现代币兑换的发行。
- 性能:跟Plasma Group合作,发布layer 2的交易所,采用Optimistic Rollup,可达到200tps。
- 研发:Uniswap 2.0版本将在未来几周发布细节和开源合约。
从以上的数据和研发进展看,Uniswap在2019年表现亮眼,是DeFi领域值得关注的项目之一。
Uniswap是做什么的?
Uniswap是基于以太坊的代币交换协议,它是去中心化的,不仅跟传统的加密货币交易所不同,也跟普通的去中心化代币交易所不同。Uniswap是一组部署到以太坊网络的合约,所有的交易都在链上进行。
它跟其他DEX一样,可以自由存入代币进行兑换,可以自由提取,没有中心化交易所的注册、身份验证和提取限制等。同时,跟其他的DEX相比,它的gas利用率较高,因此gas费用更便宜;它的交易对手并不是其他交易用户,它是跟代币池进行交易,且有自动做市的模型来计算交易价格。
Uniswap的自动做市商
普通的交易所都会有限价订单的概念,一般的做市商提供流动性都会设定价格,而这些在Uniswap都没有。在Uniswap,做市商只需提供代币资金,剩下的可以通过机制来解决。普通的交易所需要交易对手,做市商通过设置买入价和卖出价,一是为市场提供流动性,二是可以获得交易的利差。这些设置的价格形成了限价订单。当然这些订单可能成交,也可能不会成交。如果交易所将所有人的订单都集中到两个大型的池中,交易者不会愿意,他们不希望自己的订单跟其他人的订单混在一起。
而Uniswap要做的就是将代币混在一起,同时做市商无须指定其希望买入和卖出的价格。Uniswap为什么会这么做?这源于Uniswap自动做市商的设计。
Uniswap的特色之一就是将每个人的流动性集中到一起,然后根据算法进行做市。也就是它本质上是基于算法的自动做市服务。Uniswap会有一些预定义的规则,根据这些规则它会向用户提供兑换代币的报价。自动做市的规则可以有多种,Uniswap采用的是其中一种。
Uniswap采用的自动做市模型是基于“Constant Product Market Maker Model”的变体。它有一个特点很有意思,理论上,它可以提供无限的流动性,可以有很大的订单规模,且不用担心流动池很小。之所以能做到,跟它的Constant Product自动做市模型有关。那么,什么是Constant Product自动做市的模型呢?
让我们假设,流动性提供商提供ETH/MKR的交易对。假设根据当前的汇率,1MKR=3.5ETH,如果你想为Uniswap提供流动性资金,你向资金池提供100MKR和350ETH的资金。那么,Uniswap会将两个数值相乘,得出Constant Product:100*350=350,00。
其公式是X*Y=K,其中X是ERC20代币,Y是ETH,K是常数。Uniswap会让K常数350,00保持不变。为了保持K不变,那么,X和Y就是此消彼长的关系。如果有人在这个合约中购买了ETH,那么MKR就会增加,因为购买者向流动性池中增加MKR,同时减少ETH。而ETH被购买者买走,从而使其在流动池中的数量减少。
不过,根据买入量的不同,用户付出的成本也不同,也就是实际价格不同。假设交易费用为入池代币/100(实际上是0.3%,这里主要是为了简化说明),我们得出如下的兑换关系:
在这种情况下,如果用ETH购入MKR,那么每次ETH买入量不同,其购买的成本也是不同的,如果往流动池中注入1ETH,用来兑换MKR,那么可以兑换0.282个MKR,成本为3.5453,购买MKR成本上涨了1.294%;如果用350ETH来兑换MKR,那么这意味着ETH流动池有696.5ETH(减去3.5ETH的交易费用),根据计算公式,MKR的流动池剩下50.2513个MKR,那么350ETH可以换得49.7487个ETH,而单个MKR兑换成本高达7.0353;购买MKR的成本上涨超过100%,这个滑点太大了。
不过,如果池中MKR和ETH数量足够多,则滑点会小很多。截止到蓝狐笔记写稿时,实际来看,MKR的流动性可以达到23,238个ETH,超过3,000,000美元,如果用350ETH兑换MKR,可以兑换104.8559个,价格滑点为2.88%。当然这个流动池还不够大,如果再大一些,可能连1%的滑点都不到。
这里还有一个概念需要清楚,就是每次兑换之后,会产生新的流动池,同时也会产生新的常数。原因是每次交易后产生的手续费会重新回到流动性资金池中,这样手续费会在完成代币价格兑换计算后重新添加到资金池,这样常数在每次交易后稍为变大一些,这样可以为流动性提供者提供系统性的盈利。
举个例子,按照上面数字假设,假如用户用100ETH兑换MKR,假设1%的费率,那么,MKR的流动池是77.9510MKR,ETH的流动池为450ETH,根据规则,新的常数是77.9510*450=350,77.95,比原来的常数350,00增加了77.95。
除了ETH和ERC20代币可进行兑换之外,ERC20代币之间也可以实现兑换,且不必存在单独的资金池。其兑换的方法是通过ETH完成兑换,因为ETH是所有ERC20代币的通用交易对,它可以成为不同ERC20代币之间进行交易的媒介,例如MKR和SNX代币之间的兑换,首先通过MKR/ETH的交易对兑换成为ETH,然后通过SNX/ETH交易对完成兑换。
Uniswap的流动性提供商可以捕获交易费用
Uniswap的流动性提供者首先要设置合理x/y比率,因为这代表了交易对价格。在上述的MKR/ETH的例子中,100MKR/350ETH=0.2857。也就是说,在这个例子中,1ETH=0.2857MKR。截止到蓝狐笔记写稿时,1ETH=0.3097MKR,也就是说,假如Uniswap上,1ETH是0.2857MKR,而实际的交易所上是1ETH=0.3097MKR,那么,这里存在套利空间。相当于在Uniswap上,1个MKR可以兑换3.5个ETH,而在交易所上可以兑换3.2ETH,那么,人们在交易所上用3.2ETH买入1个MKR,然后在Uniswap卖出,获得3.5ETH。这种套利行为,最终会导致两者兑换比率趋于一致。流动性提供者向Uniswap池中添加流动性时,它需要提供与当前市场类似的比率,也就是说如果它提供的ETH过多,或ERC20代币过多,都会改变资金池中的比率,那么根据其智能合约的计算,这会改变兑换价格,这会吸引套利者的套利。而这对于流动性提供者来说会产生损失。Uniswap的前端界面一般会默认比例,比如当你提供MKR/ETH的交易对时,如果你输入10ETH,在MKR一列会自动出现3.0827(蓝狐笔记截图当时相应的兑换比率)
流动性提供商的收入来自于交易费用,目前是交易量的0.3%,这些交易费用会按比例分配给流动性的提供商,2019年产生的费用收益达到120万美元。Uniswap需要手续的地方包括:
1)用ETH兑换ERC20代币,其手续费为ETH的0.3%;
2)ERC20代币兑换ETH,其手续费为ERC20代币的0.3%;
3)ERC20代币兑换ERC20代币,其手续费包括了两部分:一是从ERC20代币兑换为ETH的交易,手续费为ERC20代币的0.3%;从将兑换来的ETH兑换为新ERC20代币,手续费为ETH的0.3%。
对于流动性提供商来说,还有一个好处是,降低了管理成本,它不用进行更多的出价或报价的订单管理,这是一种自动做市的机制。小型的做市商也可以通过提供流动性,赚取费用,且不论收益多少,哪怕你只有1ETH和0.3个MKR也可以成为流动性提供者,当然收益大小跟贡献的额度比例相关。
此外,还需要注意的是,由于加密货币的波动性很大,不能保证通过费用就能赚取更多的收益。
Uniswap当前适用场景
Uniswap的这种特点适合小型的交易者,尤其适合不想设置限价订单的小额交易者。大额的交易因为资金池的问题,可能会比较昂贵,不适合在这里交易。Uniswap还适合微交易,比如机器与机器之间的交易。Uniswap暂时不适合交易大量的订单,目前大约60,000美元的左右sETH/ETH的交易,滑点在1%以内。流动性超过1000万美元暂时只有sETH,超过100美元的有MKR(300多万美元)、Dai(230多万美元)、wETH(150多万美元)以及Sai(110多万美元)。此外,还有的公司使用Uniswap进行代币发行。例如蓝狐笔记上面提到的区块链咖啡发行CAFE代币,就是通过Uniswap来进行的。
Uniswap与Bancor
Uniswap的机制跟Bancor网络类似,不过Uniswap不收取上币费,且其gas利用率较高,交易成本相对较低。下图来自于Uniswap的白皮书,其测试结果认为它的gas消耗是Bancor的十分之一,甚至比其他DEX的gas消耗更少,利用率更高。
结语
从流动性看,Uniswap还有很长的路要走,但不要忘了,仅仅在2019年,它的发展是惊人,从几乎没有什么流动性,发展到整体流动性超过2500万美元,这是个很了不起的成绩。Uniswap基于以太坊开发了去中心化的交易协议,它通过自动做市商模式,无须依赖于预言机的价格信息流,从一个实验式的小项目发展到现在初具规模,算是站稳脚跟。
它不仅为交易者提供了无须许可的代币交易,具有简洁的用户体验,同时,它还为流动性提供者提供捕获价值的机会。最后,由于Uniswap的无须许可,它有机会成为DeFi世界的重要乐高之一,为整个DeFi领域的发展提供助力。