Uniswap v2如何解决价格操控问题

一、问题背景

在前面的学习当中,已经了解到Uniswap v1版本提出了AMM的基础模型,能够在此基础上完成去中心化的自动交易,同时也了解到v1版本中还存在着"价格操控"的问题juejin.cn/post/727082...

显然,Uniswap v1版本存在一些问题,v2版本的出现就是为了解决v1版本中存在的这些问题。

二、Uniswap v2新特性

  1. Uniswap v1的不足

    • 不能直接创建两种ERC20代币的流动性池
    • 容易被操控价格
  2. Uniswap v2的新特性

    • 允许任意两个ERC20之间进行兑换
    • 价格信息传输功能,每个区块都能基于按时间加权平均的定价方式为交易对刷新价格
    • 闪电互换,或者说你可以从 Uniswap 流动性池中 "借出" 代币、用于与任意的外部服务交互、然后 还清 你的初始贷款,所有操作都要放在一笔交易内
    • 支持不标准的 ERC20 代币

目前Uniswap也推出了v3,v4版本,未来应该也会有更多的规划,新的功能和优化很多,本文聚焦的是Uniswap v2版本如何解决AMM的价格操控问题。

三、Uniswap V2中抗价格操控的措施

1. 查询市场价格

  • 在每个区块的第一笔交易开始确认前,先对每个pair进行价格查询。这么做的好处是让操控价格的成本变得昂贵了,这个价格是由上一个区块的最后一笔交易决定的,如果要操控它,操纵者有两个选择:

    • 一个是赶在上一个区块的最后做一笔背离市场价的交易(通常要拔高价格才能方便后面套利),这会让操纵者额外付出更大的代价。
    • 另一个是办法就是在做完上面说的操控外,立刻做一笔回血操作以弥补前面拔高交易所支付的成本。这就需要掌握连续两次的出块权利,以便在第二个区块中收回前一个区块中付出的资金成本。

思考:通过增加每次查询市场价格的步骤,可以增加操纵者操控价格套利的成本,但如果可套利的空间比操控价格的成本要高的情况下,还是比较容易操控,因此从防操控手段上,还需要加强。

2.引入TWAP概念

  • TWAP (Time-weighted average prices), 时间加权平均价格。
  • 通过官方文档中的示意图,能很清晰地了解到TWAP的概念。
  • 为了介绍TWAP,首先引入一个"累计价格"变量。以区块为单位来看,第一个区块的累计价格值为0,第一个区块末尾的价格为10.2,那么第二个区块开始的价格等于上一个区块结束时的价格,即也是10.2,那么第二个区块的累积价格就等于:上一个区块的累计价格+第二个区块开始时的价格*两个区块间隔时间, 在下面的示意图中,第二个区块的累计价格变量计算如下:
js 复制代码
priceCumulative_1=priceCumulative_0+Price_1*timestamp_1 = 0+(10.2*7)=71.4

在清楚了"累计价格"概念后,TWAP的概念就容易理解了。TWAP的值就是观测时间范围内的累计价格的平均值。

js 复制代码
TWAP= (priceCumulative_end - priceCumulative_start)/(timestamp_end - timestamp_start)

3.关于TWAP的几点说明

  • 采样时间单位可以是几分钟,比如10分钟的TWAP就是每隔10分钟的采样值,也可以是一周的采样值
  • 引入TWAP后,操纵价格的成本会随着资金池的LP流动性的变大而变大,同时也会随着TWAP的采样时间间隔增大而变大。
  • 攻击的成本相对容易估计。以采用1小时的TWAP的参数为例,使得兑换价格上涨5%的成本大致等于每个区块交易价格上涨5%,持续一小时所带来资金和手续费的损失。

四、参考资料

  1. Uniswap官方文档:docs.uniswap.org/contracts/v...
  2. 《Uniswap V1/V2/V3 AMM做市全面解析》www.163.com/dy/article/...
相关推荐
WSY88x5 小时前
重塑支付安全:区块链技术引领下的积分系统革新
安全·区块链
friklogff8 小时前
【C#生态园】提升C#开发效率:深入了解自然语言处理库与工具
开发语言·c#·区块链
SunsPlanter19 小时前
02 ETH
区块链
yunteng5211 天前
零知识证明-ZK-SNARKs基础(七)
区块链·零知识证明·zk-snarks·ricp·qap
山师第一深情1 天前
solidity-19-fallback
区块链
zhuqiyua1 天前
TVM和EVM的比较
区块链·智能合约·ton
sino_sound1 天前
伦敦金的交易差价意味着什么?
人工智能·金融·区块链
黑色叉腰丶大魔王1 天前
什么是区块链,以及应用场景
去中心化·区块链·分布式账本
qiquandong1 天前
场外期权或成暴利工具?!应该怎么做场外期权?
区块链
链科天下2 天前
全球国家比特币持有量排名!各国政府合谋能否推翻比特币?数字货币的时代已经来临!
区块链