一个主要由协议控制和拥有流动性的稳定交换池
⚠️ 此特定 AMO 已弃用,但其基本原理(Curve/Convex 协议拥有的流动性以实现挂钩稳定性和协议收入)和数学仍被新版本 AMO 使用。请参见 V3 AMO ⚠️
曲线 AMO 使 FRAX 和 USDC 抵押品得以利用,为协议提供流动性并收紧挂钩。Frax 已部署自己的 FRAX3CRV pool。这意味着 Frax 部署者地址拥有其曲线池的管理权限。这允许曲线 AMO 控制器为 FXS 持有者设置和收取管理费用以及执行各种未来功能。协议可以将闲置的 USDC 抵押品或新铸造的 FRAX 转移到自己的曲线池中,以创造更多流动性并收紧挂钩,同时赚取交易收入。
CurveAMO (已弃用): 0xbd061885260F176e05699fED9C5a4604fc7F2BDC
去抵押化 - 将闲置的抵押品和新铸造的 FRAX 放入 FRAX3CRV 池中。
市场操作 - 累积交易费用、CRV 奖励,并定期重新平衡池。FRAX3CRV LP 代币存入 Yearn crvFRAX 保险库、Stake DAO 和 Convex Finance 以获取额外收益。
再抵押化 - 首先从池中提取多余的 FRAX,然后提取 USDC 以增加 CR。
FXS1559 - 每日交易费用和在 CR 以上累积的 LP 价值(目前正在开发中)。
Curve 的稳定交换不变量允许在稳定币交换之间减缓价格波动,前提是储备没有极度失衡,从而近似于线性交换曲线。
在极度失衡的情况下,不变量接近 Uniswap 的常数乘积曲线。
协议通过找到可在 FRAX 价格跌至抵押率(CR)时提取的 USDC 余额,来计算 AMO 可访问的基础抵押品的数量。由于 FRAX 始终由抵押品支持,价值不低于 CR,因此它的价格不应低于抵押品的实际价值。例如,在 85% 的抵押率下,FRAX 的价格不应低于 0.85 美元。这一计算是评估曲线 AMO 可访问的抵押品数量的最安全、最保守的方法。这使得曲线 AMO 能够铸造 FRAX 并将其放入池中,除了 USDC 抵押品外,还可以收紧挂钩,同时准确了解在 FRAX 打破挂钩时可访问多少抵押品。
此外,AMO 的整体策略允许优化最小 FRAX 供应 Y,使得一次性将 Y 全部出售到一个 TVL 为 Z、放大因子为 A 的曲线池中时,对 FRAX 价格的影响低于 X%,其中 X 是 CR 的带敏感度。换句话说,曲线 AMO 可以将 FRAX+USDC 放入自己的曲线池并控制 TVL。由于当 FRAX 价格下跌超过 1 美分低于 1 美元时,CR 会再抵押化,这意味着可以在 FRAX 价格下滑 1% 之前,直接在曲线池中出售一定价值的 FRAX。协议可以在开放市场上流通至少该数量的算法 FRAX,因为将该数量的全部一次性销售到曲线池的 TVL 中不会对价格造成足够影响,从而导致 CR 移动。当考虑到曲线的稳定币优化曲线时,这些数量非常大且令人印象深刻。例如,一个 TVL 为 3.3 亿的 FRAX3Pool(假设基础 3Pool 平衡)可以支持至少 3920 万美元的 FRAX 卖单,而不会使价格波动超过 1 美分。如果 CR 带为 1%,那么协议至少应该在开放市场上有 3920 万算法 FRAX。
上述策略是一种极为强大的市场操作,数学上可以创造出一个算法 FRAX 的底线,该底线在不打破挂钩的情况下可以流通。
此外,Curve 为选择的池中的流动性提供者分配 CRV 代币作为奖励(称为计量奖励)。由于 Frax 协议可能是 FRAX3CRV 池的最大流动性提供者,因此可以将其所有的 FRAX3CRV LP 代币分配到 Curve 计量中,以赚取可观的回报。存放在曲线 AMO 中的 CRV 代币可以用来投票参与未来的 Curve DAO 治理,由 FXS 持有者控制。这基本上意味着,协议越多地利用流动性进入自己的曲线池,它在 Curve 协议中拥有和控制的份额就越多,来自所赚取的 CRV 奖励。曲线 AMO 的长期效应是 Frax 可能成为 Curve 自身的大型治理参与者。
iterate()
该函数计算在 FRAX 价格跌至 CR 时,元池中 FRAX 和 3CRV 的余额,假设这是最坏的情况。首先,该函数获取元池的当前实时余额,并模拟一个外部套利者将当前元池中 10% 的 FRAX 进行交换,直到所给出的价格等于(或接近)CR,随之交换相应数量的 3CRV。这模拟了 FRAX 在开放市场价格跌至 CR 的情况,元池通常提供的 1:1 兑换被套利者利用,直到在其他地方以 CR 价格购买 FRAX 以获利的机会消失。第 282 行是检查 FRAX 价格的具体位置。
然后,元池检查在该最坏情况下,其 LP 代币可以提取的 FRAX 和 3CRV 数量。两者之间的比例通常在可提取的 FRAX 与可提取的 3CRV 之间大约是 10 比 1。为了对协议的抵押品数量进行会计,它将每个可提取的 3CRV 以基础抵押品价值(即可赎回的 USDC 价值)进行估值,每个 FRAX 则以抵押率进行估值。由于协议在正常情况下并不会实际将如此多的 FRAX 投放流通,这实际上是对其在 USDC 方面的抵押品数量的高度保守估计。
要检查在其他价格下曲线 AMO 应负担的储备情况,可以通过设置 custom_floor
在本地测试中简单调整 fraxFloor()
的值。
两个这样的曲线的组合使得可以根据池中余额的比例,通过一个系数表达出一种或另一种情况。使用无量纲参数 作为系数,可以将这两条曲线的组合推广到 N 种币种。