作者介绍:
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):
DWF Labs 从 Floki 财库购买价值 500 万美元的 FLOKI 代币:5月25日消息,Shiba Inu 犬种主题项目 Floki 宣布于 Web3 投资公司 DWF Labs 建立战略合作伙伴关系,DWF Labs 已从 Floki 财库购买了价值 500 万美元的 FLOKI 代币,并将通过其网络和资源来帮助加速 FLOKI 代币的采用。[2023/5/25 10:40:31]
图一:Uniswapv3虚拟流动模拟
Curve稳定币白皮书中的公式(1):
图二:有外部价格来源的AMM
在这裡Pcd代表Pcurrent_down,Pcu代表Pcurrent_up
而对应关係为:
Juno Network 发布向从 Terra 迁移至 Juno 上项目提供激励的提案:5月15日消息,Cosmos 生态智能合约公链 Juno Network 发布向从 Terra 迁移至 Juno 上项目提供激励的提案。该提案建议提供 100 万枚 JUNO(社区池提供 70 万,发展基金提供 30 万),用于项目迁移和持续开发,且该部分资金将由多签地址管理。[2022/5/15 3:17:19]
对应的恒定乘积公式为:
而在这之间:
流动性计算公式对应
Uniswapv3白皮书中的公式(6.7):
由于它们的价格定义之间存在倒数关係,对应的公式为:
Cosmos 创始人 Jae Kwon 从 AIB 及 ICF 基金会离职 全职开发 Gno 智能合约语言:Cosmos 创始人 Jae Kwon 宣布从 Cosmos 网络软件开发公司 AIB (All in Bits)及 The Interchain 基金会(ICF)离职,全职开发 Gno 智能合约语言。The Interchain 基金会是位于瑞士的非盈利基金会以支持 Cosmos 的生态建设,而 AIB 是负责开发 Cosmos 网络的软件开发公司,这意味着 Cosmos 创始人 Jae Kwon 将离开 Cosmos 生态中最核心的支持机构。Jae Kwon 表示,Gno 是适用于 Cosmos 生态的下一代的智能合约编程语言。[2021/2/15 19:47:00]
此公式的一个具体应用是:
平方展开可以得到:
从上面的公式我们很容易的可以了解,当y0保持不变,Pcd和Pcu数值越接近,相对应的流动性I则越大。
换句话说:
动态 | 2千万枚 USDT从 Tether Treasury转至 Bitfinex交易所:据 Whale Alert监测,刚刚2千万枚 USDT从 Tether Treasury转至 Bitfinex交易所。[2019/7/4]
流动性不可能是无限的,在UniswapV3中对应最小的tick会限制L的大小。
由此可以推断在LLAMMA中,我们还需要定义一个指标来衡量价格之间的最小差异,来继续Uniswapv3和Curve的类推。
对应最小差价
从A的定义中可以看出?,当p↓和p↑越接近时,A则越大,流动性集中度越高:
Uniswapv3中,只有能被tickSpacing整除的tick才能被预设。因此,tickSpacing决定了LP分配流动性的最低价格范围。tickSpacing越小,价格范围越窄、越精确。在Uniswapv3中,不同的费用等级决定了不同的tickSpacing。
然而,crvUSDLLAMMA不需要那麽多tickSpacing。由于LLAMMA仅有ETH-crvUSD,因此只需要让每一个tickSpacing=100basepoint。?
声音 | BM:从 EOS 回到 ETH 就像从光纤回到了拨号一样:据 IMEOS 报道,BM 昨夜在推特发了两条推文,分别表达了 EOS 的领先和 DPOS 的优势
1.用户回馈使用 EOS 几个月后重新使用 ETH 就像是从光纤回到了拨号一样。一旦你在 EOS 上,你永远都不想在回去。
当计算或算法发生巨大突破时,工作证明就变得完全中心化...无论技术发展如何,DPOS 都会一直保持去中心化。你可以轻松分叉 DPOS,但创建新的抗性工作证明非常困难。[2019/4/15]
来自Uniswapv3的公式(6.1):
在LLAMMA中,A=100,来自Curve稳定币白皮书的公式(11):
设置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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。