外汇天眼官网

OKExResearch:一文详解Uniswap的来龙去脉(上)

一、Uniswap概述

Uniswap是基于以太坊的促进ETH和ERC20代币自动互换的协议。Uniswap是具有自动做市商机制的去中心化交易所,避免了中心机构的参与,具有去中心化,抗审查性,安全性。UniswapSDK是Uniswap的开源工具,开发者可以编写项目和智能合约,目前已经支持467种ERC20代币。

UniswapV2在2020年3月份诞生,经历了两个月的测试之后正式上线。V2支持创建任意的ERC20兑换,而不仅仅是支持ETH和ERC20之间的交易。V2还提供了价格预言机,实现了闪电互换功能,增加了多个只能合约。同时,新版本在V1的基础上也做了其他修复。

UniswapV2推出后逐渐发力,6月份便崭露头角,7月份开始超越了UniswapV1并成为市场龙头。直至撰稿时,据DeBank统计Uniswap总锁仓量为1.1亿美元,位居DeFi第三,DEX第一。UniswapV224H总交易量为4.79亿美元,市场份额43.80%,V1只有123万美元,市场份额仅0.19%,可见,V2逐渐取代了旧版本的地位并且让Uniswap成为一匹黑马,在DEX领域独占鳌头。

OKExResearch:一文详解Uniswap的来龙去脉(上)

二、Uniswap合约

1.运行机制

Uniswap上,任何人都可以充当流动性提供商和交易者。流动性提供商存储两种代币创建流动池,作为回报获得Uniswap流动性代币。交易者用一种代币换取另一种代币并支付0.30%的费用。交易者支付的费用在交易完成后被放入了资产池,作为流动性提供商的奖励,这一步不涉及到铸造新币。用户可随时赎回自己的资产池,赎回时,用户需要毁掉流动性代币。Uniswap的流动性代币反映了用户对流动性的贡献,属于ERC20代币。持有期间用户可以自行支付转移流动性代币。

2.自动做市商

Uniswap采用恒定乘积公式x*y=k实现自动流动性协议,属于自动做市商(AutomatedMarkerMaker)。在公式x*y=k中,x、y分别是两种ERC20代币的数量,而k是一个常数。假如流动性提供商放了40个ETH和50个OKB到资产池中,则此时的k=40*50=2000。有交易者希望用1ETH买入OKB,需要支付0.30%交易费,即0.003ETH。那么资产池中的ETH为40+1-0.003=40.997,根据公式x*y=k,资产池中的OKB应为2000/40.997=48.784,所以交易者可以收到50-48.784=1.216个OKB,不考虑交易费的汇率为1.216/0.997=1.22。最后交易费用被加进资产池作为对流动性提供商的奖励,那么资产池现在有40.997+0.003=41个ETH,有48.784个OKB,相应的k变成了41*48.784=2000.146,所以k并非一成不变而且会逐渐变大,只是对于每笔交易k是常数。

ETH

OKB

k

ETH/OKB

交易前

40

50

2000

1.25

交易后

40.997

48.784

2000

1.22

加入交易费并重置k

40.997

48.784

2000.146

1.19

细心的读者会发现,初始资产池的ETH/OKB汇率为1.25,是市场公允价,但是实际交易的汇率为1.22,这是因为资产池不够大或者说新投入的资金规模太大,对资金池的平衡产生了冲击,引起了汇率大幅变动。如下图所示,用户以A代币换取B代币,则A增加B减少,导致资产池的平衡点移动,使得汇率发生变化。

OKExResearch:一文详解Uniswap的来龙去脉(上)

3.闪电互换

闪电互换是UniswapV2新增的功能,允许用户免费提取任何ERC20数字货币资产,在链上其他地方执行逻辑,交易结束有两种选择:买下代币或者归还代币并附息。用户要么使用配对的ERC20代币购买提取出的ERC20代币,要么退还代币并支付少量费用。这一功能不需要前期资本,并且操作简单,为用户提供了极大便利。

4.价格预言机

根据UniswapV2白皮书,某个时间点不考虑交易费用的价格是资产池剩余的A代币与B代币之比。V2据此计算并记录区块之外的价格,然后可以得到给定时间段的时间加权平均价格(time-weightedaverageprice,TWAP),可以被进一步用来计算重要价格指标EMA和SMA。每一个区块中发生的交易可能会存在套利空间,因此V2采用的是区块最后一笔交易后的价格,可以类比股市的收盘价,这是多空两方阵营搏斗后的结果,会更有参考意义。

2020-09-15

0

评论0

请先

没有账号? 注册  忘记密码?
            外汇天眼官网 关闭
外汇天眼官网 关闭