Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

这个稳定币的设计中有几个概念是最重要的:借贷 – 清算 AMM 算法(LLAMMA),PegKeeper(稳定保持机制),货币政策。但主要的设计点是在 LLAMMA:用一个特殊用途的 AMM 代替传统超额抵押借贷的清算流程。

Curve 稳定币设计白皮书的中英文参照版本,加入一些辅助理解的中文注释,也修正了一些原版的拼写错误,供大家参考学习。

Overview

这个稳定币的设计中有几个概念是最重要的:借贷 – 清算 AMM 算法(LLAMMA),PegKeeper(稳定保持机制),货币政策。但主要的设计点是在 LLAMMA:用一个特殊用途的 AMM 代替传统超额抵押借贷的清算流程。

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM
Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

图 2:损失对相对于清算阈值的价格变动的依赖性。观察的时间窗口为 3 天。

在这种设计中,如果有人用抵押品借款,即使是在清算阈值,抵押品的价格下跌后反弹 — 也不会发生明显的损失。

例如,根据自 2017 年 9 月以来使用 ETH/USD 的历史数据进行的模拟,如果放着 CDP 无人看管 3 天,在此期间,价格下跌至低于清算价格 10% 的情况发生的话, 也只有 1% 的抵押品被损失。

持续清算 / 无需清算的 AMM(LLAMMA)

稳定币设计的核心思想是 Lending-Liquidating AMM 算法。这个想法是,它在抵押品(例如 ETH)和稳定币(这里姑且称之为 USD)之间进行转换。如果抵押品的价格很高 — 用户的存款都是 ETH,但当价格降低时,它就会转换为 USD 稳定币。这与传统的 AMM 设计有很大不同,传统的 AMM 设计是将 USD 稳定币放在上面(AMM 曲线上半截),ETH 放在下面(AMM 曲线下半截)。

下面的描述并不能作为一个完全自洽的严谨证明。很多东西(尤其是不变量)都是从各种维度考虑得到的。要有一个完整的数学描述,可能需要更多的研究,然而下面的描述被认为足以支持在智能合约中实施。

这只有通过外部预言机喂价才能实现。简而言之,如果一个人做了一个典型的 AMM(例如,粘合曲线是一块双曲线),并将其「中心价格」从(例如)下降到上升,代币将从(例如)USD「绝热」地转换为 ETH,同时在过程中提供两种方式的流动性(图 3)。这有点类似于量子物理学中的「回避交叉」(也称为 Landau-Zener 跃迁)(虽然只是一个概念:对该过程的数学描述可能非常不同)。

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

流动性集中的范围在这里被称为「波段」(Band),在恒定的 po 波段有从 pcd 到 pcu 的流动性。我们寻求 pcd(po) 和 pcu(po) 只作为 po 的函数,函数比线性更陡峭,因此,增长速度比 po 快(图 4)。此外,让我们把价格 p↓和 p↑定义为 p↓(po)=po 和 p↑(po)=po 的价格,定义为绝热极限中的波段两端(例如 p=po)。

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

图 3:「具有外部价格来源的 AMM」的行为。外部价格 pcenter 决定了围绕流动性形成的一个价格。AMM 支持流动性集中在价格 pcd 到 pcu 之间,pcd<pcenter<pcu。当当前价格 p 超出 pcd 和 pcu 之间的范围时,AMM 要么完全进入稳定币(当在 pcu 时),要么完全进入抵押品(当在 pcd 时)。当 pcd≤p≤pcu 时,AMM 价格等于当前价格 p。

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

图 4:我们寻找的 AMM。我们试图构建一个 AMM,其中 pcd 和 pcu 是 po 的函数,当 po 增长时,它们增长得更快。在这种情况下,当 ETH 昂贵时,这个 AMM 将全部转换为 ETH,而当 ETH 便宜时,全部转换为 USD。

我们从一些波段开始,与 Uniswap3 类似,通过增加「虚拟余额」,保留了粘合曲线的双曲形状。比方说,USD 的数量是 x,ETH 的数量是 y,因此「增强的」常数 – 产品不变性将是:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

我们也可以表示 x0≡x+f 和 y0≡y+g,这样不变式就可以写成熟悉的 I=x0 y0。然而,f 和 g 并不是保持不变的:它们随着外部预言机价格的变化而变化(不变量 I 也是如此,所以它只是在预言机价格 po 不变时的不变量)。在给定的 po 下,f 和 g 在整个波段内是不变的。如前所述,我们把 p↑表示为波段的顶部价格,p↓表示为波段的底部价格。我们对 A(衡量流动性集中度的指标)的定义是这样的:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

我们正在寻找的属性是这样的:更高的价格 po 应该导致在相同的余额下更高的价格,因此,当前的市场价格(平均来说,将跟随 po)低于这个价格,并且波段将朝着全部为 ETH 的方向交易(而另一个方向也是如此)。可以找到很多方法来满足,但我们需要这样一个:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

其中 y0 是一个与 p0 相关的衡量当前波段存款的指标,以 ETH 为单位,其定义是:当当前价格 p、p↑和 po 相互相等时,则 y=y0,x=0(见图 4 上 po=p↑的点)。那么,如果我们把那一刻的 y 替换掉:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

价格等于 dx0 /dy0,那么对于一个恒定的产品不变量来说,就是:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

我们可以用 x=0 或 y=0 来代替 po=p↑或 po=p↓的情况,以验证上述公式是自洽的。

通常对于一个波段,我们知道 p↑,因此也知道 p↓、po、常数 A,还有 x 和 y(波段中的当前存款)。为了计算剩下的一切,我们需要找到 yo。它可以通过解决不变量的二次方程来找到:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

这就变成了针对 yo 的二次方程:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

在智能合约中,我们在 get_y0 函数中解决这个二次方程。

在预言机价格 po 保持不变的情况下,AMM 以正常的方式工作,例如,上涨时卖出 ETH/ 下跌时买入 ETH。通过简单地将 x=0 替换为「当前下跌」的价格 pcd 或 y=0 替换为「当前上涨」的价格 pcu 值分别代入不变量方程,就可以说明在 po 的当前值和 p↑的当前值下的 AMM 价格是:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

另一个重要的实际问题是:如果价格的变化如此缓慢,以至于预言机价格 po 完全能够「绝热地」(在一个波段内)跟随它,那么在给定当前值 x 和 y,并且我们也从 p=po 开始的情况下,这个波段最终会得到多少 y↑的 ETH(如果价格上涨)或 x↓的 USD(如果价格下跌)。虽然这不是一个立即可以解决的数学问题,但数字计算显示了一个相当简单的答案:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

在评估借贷的安全性以及 AMM 的潜在损失时,我们将使用这些结果。

现在我们有了对一个波段的描述。我们把所有的价格空间分成若干波段,这些波段的价格 p↓和 p↑相互接触,因此,如果我们设定一个基础价格 pbase,并有一个波段号 n:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

对于任何一个波段,可以证明公式 7 和公式 5 的解都可以得到:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

这表明波段之间没有空隙。

交易发生的同时保留了公式 1 的不变性,然而,当价格为 po 时,AMM 内部的当前价格会发生变化:当 po 下降时,它就会上升,反之亦然(立方系数),从公式 8 可以看出。

LLAMMA vs Stablecoin

稳定币是一种 CDP,人们以不稳定的抵押品(加密货币,例如 ETH)来借入稳定币。抵押品被加载到 LLAMMA 的价格范围内(这样的波段),如果抵押品的价格下降相对缓慢,ETH 被转换成足够的稳定币来覆盖关闭 CDP(这可以通过自我清算发生,或者通过外部清算,如果抵押率太接近危险的限制,或者根本不关闭,同时等待价格反弹)。

当用户存入抵押品并借入一个稳定币时,LLAMMA 智能合约会计算出抵押品所在的波段。当抵押品的价格变化时,它开始被转换为稳定币。当系统处于「水下」时,用户已经有足够的 USD 来支付贷款。可以获得的稳定币数量可以通过一个公共的 get_x_down 方法来计算。如果它给出的数值过于接近清算阈值 — 外部清算人可以参与进来(通常不应该在抵押品价格下跌和横盘后的几天甚至几周内发生,甚至如果抵押品价格从未上涨或相对较快地回升,则永远不会发生)。当价格远高于「清算」时,一个健康的方法会返回 get_x_down 与债务的比率,再加上抵押品的价值增加。

当一个稳定币收取利息时,这应该反映在 AMM 中。也要反映出来。这是通过调整价格的所有网格来实现的。因此,当一个稳定币 收取利率 r 时,AMM 中的所有价格格都会向上移动,与 相同的利率 r,这是通过一个基础价格乘数完成的。所以,只要收取的利率是正的,乘数会随着时间的推移而上升。

当我们计算 get_x_down 或 get_y_up 时,我们首先要找的是如果当前价格移动到当前价格 po 的稳定币和抵押品 x∗和 y∗的数量。然后我们看一下,如果 po 绝热地变化到最低区间的最低价格,或最高区间的最高价格,我们分别得到多少稳定币或抵押品。这样,我们就可以得到一个衡量我们将获得多少稳定币的标准,它不依赖于当前的瞬时价格,这对夹层攻击的阻力很重要。

需要指出的是,LLAMMA 使用定义为 ETH/USD 价格的 po 作为价格来源,我们的稳定币可以在挂钩之下(ps<1)或超过挂钩(ps>1)进行交易。如果 ps<1,那么 LLAMMA 中的价格就是 p>po。

在绝热近似中,p=po/ps,所有抵押品<>稳定币的转换将发生在较高的预言机价格上 / 就像预言机价格较低且等于:

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

在这个价格下,转换时获得的稳定币的数量要高出 1/ps 的系数(如果 ps<1)。

在长时间内,ps>1 是不太理想的,为此我们将使用稳定器(见下一章节)。

自动稳定器和货币政策

当 ps>1 时(例如,由于对稳定币的需求增加),就会有锚定的储备,由稳定币和可赎回的参考币或 LP 代币之间的不对称存款到 stableswap Curve 池形成。一旦 ps>1,PegKeeper 合约被允许铸造无抵押的稳定币,并且只将其单边存入 stableswap 池,这样做之后的最终价格仍然不低于 1。当 ps<1 时,PegKeeper 被允许提取(不对称地)并烧毁稳定币。

这些行为导致价格 ps 高于 1 时迅速贬值,低于 1 时升值,因为不对称的存款和提款改变了价格。即使这部分「铸币」是没有抵押的,但稳定币似乎是由稳定币池中的流动性隐性抵押支持的。整个铸币 / 燃烧周期在最后似乎是有利可图的,同时提供了稳定性。

让我们把铸造给稳定器(债务)的稳定币数量表示为 dst,把计算在 stableswap AMM get_dx 中购买稳定币所需的可赎回 USD 数量的函数表示为 fdx()。然后,为了保持「储备」不是非常大,我们通过改变借款 r 来使用「缓慢」的稳定机制。

Curve稳定币设计白皮书:持续清算 / 无需清算的AMM

其中 h 是 ps 的变化,速率 r 的变化为 2 倍(ps 越高,r 越低)。稳定器债务 dst 的数量将根据 ps=1 r0 的速率在不同的值上平衡。因此,我们可以(而不是手动设置)在 dst/supply 大于某个目标数字(例如 5%)时减少 r0(从而激励借款人借入并抛出稳定币,降低其价格并迫使系统燃烧 dst),或者在它较低时增加(从而激励借款人归还贷款并推动 ps 上升,迫使系统增加债务 dst 和稳定器存款)。

总结

希望所提出的机制能够解决为制造稳定币和借贷目的而进行清算的风险性。

此外,稳定器和自动货币政策机制可以帮助保持价格锚定,而不需要保持过大的 PSM(Peg Stability Module 锚定稳定性模块)。

(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)

(0)
上一篇 2022年11月23日 下午3:53
下一篇 2022年11月23日 下午9:40

相关推荐

  • Pantera Capital为DeFi正名:中心化金融机构暴雷,但DeFi未死

    加密货币一直在暴跌……混乱已经蔓延到DeFi:Celsius是一家资产约200亿美元的加密货币贷方,最近被迫暂停提款。上周,加密货币交易所FTX表示,在拯救了加密货币经纪商VoyagerDigital后不久,它正在以2.5亿美元的贷款来救助一家陷入困境的加密借贷平台BlockFi。

    2022年7月24日
  • Tornado被制裁,还有哪些替代工具?

    美国财政部官网披露的信息显示,以太坊混币平台 Tornado Cash 自 2019 年成立以来,已被用于价值超过 70 亿美元的虚拟货币洗钱活动。众多实体公司也做出了反应,对相关账户与地址进行了封禁处理。Circle 冻结了来自制 81 个裁名单上价值超过 75000 美元的资金,GitHub 则关闭了该项目的主页并阻止了开发人员访问。目前,Toranado 前端官网已经被禁止访问。

    2022年8月11日
  • Uniswap 杀入 NFT 交易市场,OpenSea 正面应战

    作为Uniswap的构建者,UniswapLabs曾在6月份收购了NFT聚合平台Genie,这被视为它杀入NFT交易市场的信号。根据官方信息,从今年秋天开始,用户将能够在Uniswap应用程序上买卖NFT,这家顶尖的加密资产去中心化交易所也将向综合平台发展。

    2022年7月11日

发表回复

登录后才能评论
微信

联系我们
邮箱:whylweb3@163.com
微信:gaoshuang613