uniswap v3限制单tick上流动性最大值意义是什么maxLiquidityPerTick

每个tick上过高有啥坏影响吗,如果所有所有流动性都加在一个tick上(极端情况,只是举反例),价格波动不是更小,滑点更小吗,没什么坏处吧

请先 登录 后评论

2 个回答

Tiny熊
  擅长:智能合约,以太坊

我感觉主要是gas 优化的考虑, 这个值也是足够大,足以支持很大的流动性

但是 Uniswap v3 需要确保每个tick 上都可以放下很大的流动性, 而所有的流动性 是用一个uint128 保存的。

每个 tick 的最大流动性 是 uint128 的最大值 除 numTicks 。

请先 登录 后评论
grayfoxd

这里的问题很low,也许是你表达的不准确。
我用uint128存一个数,如果溢出就出问题了,所以加了一个记号做限制,就是maxLiquidityPerTick。

我猜想问的应该是为啥要用tick分散流动性,而不是集中在一起?

v3的核心逻辑就是tick,因此用tickmap设计了一个记录tick和流动性的结构,在这个结构上,需要按照fee进行逐tick运算。
为了保证池子正常运行,最好是有一段连续的tick上有流动性。不然整个池子的价格计算容易到边界。
如果流动池的流动性是离散且距离很远的,对于用户来说简直是灾难,从一个有流动性的tick到下一个有流动性的tick的gas消耗是天量的。

请先 登录 后评论
  • 2 关注
  • 0 收藏,1191 浏览
  • trybye 提出于 2024-10-06 12:41