从 Uniswap v3 到 crvUSD LLAMMA_UNI:Uniswap Wallet

作者介绍:

0xmc@0xreviews:机制审计、产品设计、密码经济学独立研究员。

0xjezex@0xreviews:代币经济学独立研究员,初级Solidity工程师,伦敦帝国理工学院金融科技硕士生。

0xstan@0xreviews:独立开发者,DappLearning核心贡献者。

paco@perp.com:Solidity开发者、安全研究员、DeFi爱好者。

前言

Curve稳定币最难的部分是LLAMMA。LLAMMA参考了Uniswapv3中的一些原则。但是,白皮书中的价格与Uniswapv3白皮书中的算法不同。我们将统一这两个项目,并尝试了解CurveCEO是如何设计这个演算法。

用Uniswapv3作为参考

本文中价格的定义与Uniswapv3互为倒数。因此,我们修改了Uniswapv3白皮书中的公式,让它与本文保持一致。简而言之,LLAMMA试图让Uniswapv3中的一切都变得动态,以便为crvUSD债务人和清算人提供更适当的价格。

恒定乘积公式(ConstantProductFomula)比较

Uniswapv3白皮书中的公式(2.2):

图一:Uniswapv3虚拟流动模拟

Curve稳定币白皮书中的公式(1):

NFT初创公司Americana宣布与创作者和NFT艺术家合作:金色财经报道,NFT初创公司Americana宣布与创作者和 NFT 艺术家合作,包括 Danny Cole、Vinnie Hagar、Andrew Wang、Tom Sachs Rocket Factory 团队和 Alexis Ohanian。[2023/6/11 21:29:06]

图二:有外部价格来源的AMM

在这裡Pcd代表Pcurrent_down,Pcu代表Pcurrent_up

而对应关係为:

对应的恒定乘积公式为:

FTX债权人:破产法庭要求6月30日为债权人提交索赔证明的截止日期:5月26日消息,据FTX无担保债权人委员会发推称,破产法庭于5月19日下令,规定6月30日16:00为债权人提交除“客户索赔”以外的所有索赔的索赔证明的截止日期。提交“客户索赔”的截止日期尚未确定,这将是债务人单独提出的动议的主题。[2023/5/26 9:44:59]

而在这之间:

流动性计算公式对应

Uniswapv3白皮书中的公式(6.7):

由于它们的价格定义之间存在倒数关係,对应的公式为:

此公式的一个具体应用是:

Worldcoin推出名为“Introducing World App”的纪念NFT:5月10日消息,Worldcoin通过Zora平台发布“Introducing World App”纪念NFT,该NFT旨在与全球社区一起庆祝 World App 的发布。用户可在周日之前免费铸造。截止发文,已有341个地址参与铸造。[2023/5/10 14:55:12]

平方展开可以得到:

从上面的公式我们很容易的可以了解,当y0保持不变,Pcd和Pcu数值越接近,相对应的流动性I则越大。

换句话说:

流动性不可能是无限的,在UniswapV3中对应最小的tick会限制L的大小。

由此可以推断在LLAMMA中,我们还需要定义一个指标来衡量价格之间的最小差异,来继续Uniswapv3和Curve的类推。

对应最小差价

从A的定义中可以看出?,当p↓和p↑越接近时,A则越大,流动性集中度越高:

去中心化隐私服务协议Automata Network 新增支持 Harmony:5月8日消息,去中心化隐私服务协议 Automata Network 的 Web3 隐私 RPC 中继 1RPC 新增支持 Harmony。该中继可以改善元数据的暴露和泄漏问题。[2023/5/8 14:50:04]

Uniswapv3中,只有能被tickSpacing整除的tick才能被预设。因此,tickSpacing决定了LP分配流动性的最低价格范围。tickSpacing越小,价格范围越窄、越精确。在Uniswapv3中,不同的费用等级决定了不同的tickSpacing。

然而,crvUSDLLAMMA不需要那麽多tickSpacing。由于LLAMMA仅有ETH-crvUSD,因此只需要让每一个tickSpacing=100basepoint。?

来自Uniswapv3的公式(6.1):

在LLAMMA中,A=100,来自Curve稳定币白皮书的公式(11):

美股三大指数收盘涨跌不一,标普500指数跌0.12%:金色财经报道,美股三大指数收盘涨跌不一,周线均录得2连涨。纳指跌0.18%,本周累涨2.09%;标普500指数跌0.12%,本周累涨1.13%;道指涨0.1%,本周累涨0.24%。[2022/12/3 21:19:30]

设置n=-i,A=100,我们会得到:

设计Pcd和Pcu

我们希望LLAMMA具有以下属性:当ETH价格上涨时,矿池购买ETH。当ETH下跌时,矿池出售ETH。在这样的机制下,我们把Pcd和Pcu定义为Po的函数并且比线性函数更陡峭,因此它们的增长率会比Po更快。同时从图中可以看出两条曲线Pcu和Pcd分别通过两点(P↓,P↓)和(P↑,P↑)。满足以上要求的Pcd和Pcu其实有很多曲线。通用公式为:

当m<n

让我们从最简单的例子开始:

把Pcu和Pcd带入I的平方展开:

然后f2可以计算为:

不难发现f2在这种假设下很难理解和计算。如果Pcu和Pcd是?Po的三次函数:

把Pcu和Pcd带入I的平方展开:

重新计算f2:

可以看出,当?Pcu和Pcd是Po的三次函数,整个数学形式就简单多了。去掉了平方根项,计算方便多了。如果接受更高的订单,则AMM的价格和Po将相差很大,因此购买ETH的成本会更高,而导致更大的清算损失。总之,把Pcu和Pcd定义为Po的三次函数是一个更好的选择。

其他参数的推导

Pcu和Pcd是关于Po的三次函数,取特别数值Po=P↑,不难得到Y=Y0和X=0,于是:

鉴于I的公式,我们可以计算f和g:

在这边,我们最终得到完整的恒定乘积公式:

将上方公式转化为Y0二次方程式:

用一个未知数的二次方程求解Y0:

如果价格变动的够慢让预言机价格Po完全有能力遵循它,给定X和Y,使用Uniswapv3的计算公式,是有可能计算出ETH的Y↑是多少或美元的X↓最终将处于的区间内:

参考出处:Adams,Hayden,etal."Uniswapv3core."Tech.rep.,Uniswap,Tech.Rep,2021fromhttps://uniswap.org/whitepaper-v3.pdfEgorov,Michael,andCurveFinance.Curvestablecoindesign.Technicalreport,CurveFinance,Tech.Rep,2022fromhttps://github.com/curvefi/curve-stablecoin/blob/master/doc/curve-stablecoin.pdf

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-1:65ms