Uniswap是以太坊上的一种协议,用于交换ERC20代币。 与大多数交易所收取交易费用的交易所不同,Uniswap旨在充当一种工具,并且不收取任何平台费用或中间商的社区贸易代币。 安装了去中心化钱包软件的任何用户都可以使用此协议。 与大多数交易所的匹配交易(通过匹配买卖双方以确定价格并执行交易)不同,Uniswap使用简单的数学方程式以及代币和ETH池来完成相同的工作。 用户的交易对手不是其他交易用户,而是使用代币池进行交易,并且有一个自动做市模型来计算交易价格。
普通交易所将具有限价定单的概念,普通做市商将设置价格以提供流动性,而Uniswap无法提供这些价格。 在Uniswap中,做市商仅需提供代币资金,其余资金可以通过机制解决。 普通交易所需要交易对手,做市商设定买卖价格来为市场提供流动性并获得交易价差。 这些设定的价格构成了限价单。 当然,这些命令可以执行也可以不执行。 如果交易所将每个人的订单集中到两个大池中,那么交易员将不会愿意,他们也不希望自己的订单与其他人的订单混在一起。
Uniswap要做的是将代币混合在一起,做市商不需要指定要买卖的价格。 为什么这样做? 这源于Uniswap的自动做市商的设计。
Uniswap将每个人的流动性汇集在一起,然后根据算法进行市场交易。 也就是说,它本质上是基于算法的自动做市服务。 Uniswap将具有一些预定义的规则,根据这些规则,它将为用户提供交换代币的要约。
让我们假设流动性提供者提供ETH / MKR交易对。 假设按照当前汇率1MKR = 3.5ETH,如果您想为Uniswap提供流动资金,则要向资金池提供100MKR和350ETH。 然后,Uniswap将两个值相乘得到100 * 350 = 35000。
X*Y=K曲线图 (K为常数)
公式为X * Y = K,其中X是ERC20代币,Y是ETH,K是常数。 Uniswap将保持35000的K常数不变。 为了保持K不变,则X和Y具有折衷关系。 如果有人购买该合约中的ETH,那么MKR将会增加,因为买方在减少ETH的同时将MKR添加到流动资金池中。 ETH由买家购买,这减少了其在流动资金池中的数量。