本文作者:0x07b0 编译:Cointime Candice
无论是稳定币Swap的AMM算法,还是其他人广泛模仿的veToken经济模型设计,Curve Finance都是DeFi领域极具代表性的创新。去年年底,Curve Finance提出了他们的稳定币白皮书,这让人们好奇这次他们将为DeFi生态系统提供哪些新功能。在研究过程中,有一些感悟和理解,希望能帮助大家更好地理解Curve稳定币的设计。
Curve稳定币的类型及其解决问题的特点
Curve Finance的稳定币设计属于过度抵押的稳定币类型。这种类型的稳定币是通过使用ETH等其他资产作为抵押品,根据特定的利率和抵押品的价值来铸造(或借入)的。这种类型最著名的协议是MakerDAO的DAI。ETH被用作抵押品,借以获得MakerDAO的稳定币DAI。在这里,Curve Finance是由抵押品演变来的,以借入Curve稳定币。
Curve稳定币是为了解决许多加密货币中存在的价格波动问题。稳定币的价值是稳定的,不受市场价格波动的影响,因此非常适合用作交换媒介或价值储存。此外,过度抵押的使用降低了抵押品价值波动导致的清算风险和不稳定性。总体而言,Curve 稳定币为DeFi生态系统中的用户提供了一个更安全、更稳定的解决方案。
清算问题
这种类型的稳定币架构总是有一个清算机制。清算是指当抵押品的价值下降到一定的价格,导致抵押品的价值不再支持所借的稳定币的情况。此时,抵押品(部分或全部)将以优惠价格拍卖,以填补借来的稳定币的缺口。然而,目前的清算模式存在几个问题:
- 当whale的资产被清算时,许多抵押品将流入市场,造成市场波动。
- 在大多数情况下,清算人会出售已清算的抵押品以获利,导致抵押品价格再次下跌,从而引发另一波清算。
- 清算人通常在CEX/DEX上出售拍卖的抵押品。如果交易所缺乏流动性,就会造成借贷平台的坏账。
- 被清算的用户将遭受永久性损失。即使抵押品的价格出现反弹,抵押品也已经被清算,无法恢复。
鉴于这些问题,Curve希望通过以下方式改善稳定币设计中的清算问题:
- 不要依赖外部DEX,因为DEX流动性无法控制。
- 清算发生时,尽可能减少用户的损失。
- 逐步清算用户的抵押品,并在价格反弹时将其转换回来。
Curve稳定币整体架构
上图是白皮书中的架构图,大致可以分为两个部分。
- Controller和LLAMMA主要负责抵押品清算相关工作(上图中的蓝色方框)。
- 货币政策、PegKeeper和Stable Pool主要负责将稳定币固定到1美元的相关工作(上图中的绿色方框)。
本文将主要介绍Controller和LLAMMA的介绍,但也会对货币政策相关的工作进行简要说明。因此,让我们从今天的重点开始,LLAMMA!
LLAMAM(借贷清算AMM算法)
LLAMMA是Lending-Liquidating AMM Algorithm的缩写,顾名思义,它是一种与借贷和清算有关的AMM算法。Curve主要使用这种算法来清算抵押品。
AMM代表一个基于LLAMMA算法的Swap Pool,我们暂且称之为LLAMMA池。用户可以通过Controller将抵押品存入LLAMAM池并铸造稳定币。LLAMAM池中的资产是抵押品和Curve稳定币。在本文中,我们将使用crvUSD来指代Curve稳定币,并将ETH作为抵押品来说明。
LLAMAM池最重要的特点是,当抵押品(ETH)的价格低于特定价格时,池中的抵押品将逐渐变成crvUSD。相反,当价格高于特定价格时,crvUSD将逐渐变成抵押品(ETH)。
听起来很神奇!在理解这个转换过程之前,我们需要知道当用户将他们的抵押品放在池中时会发生什么。下图是各种合约之间互动的说明,让人对LLAMMA池在架构中扮演的角色有了更清晰的概念。
动态范围和Oracle价格
波段
首先,LLAMA将抵押品价格范围划分为不同的价格段,称为波段。当用户存入抵押品时,他们需要提供:
- 抵押品金额
- 抵押品要存放在多少个区间
- 铸造(或借入)多少crvUSD
抵押品将根据要存储的波段数量被分成相等的、均匀的小块,然后根据当前价格和铸造的crvUSD,存储在由波段组成的连续价格区间中。下图是计算后将10个ETH存储在5个波段的分布情况,其中5个小块,每个2个ETH存储在5个连续的波段。
此外,应当注意,每个波段都有一个上限价格(P_UP)和下限价格(P_DOWN)。上一波段的上限价也是下一波段的下限价。例如,上图中0段的上限价(3000)也是-1段的下限价(3000)。每个波段的上限和下限价格代表该波段的清算开始和结束价格。当价格达到上限价格时,储存在该波段的抵押品将开始被清算,直到价格达到下限价格,表示清算结束(意味着该波段的所有抵押品已被转换为crvUSD)。
Oracle价格
在LLAMAM中,还有一个重要的角色,那就是Oracle价格。Oracle价格是指外部抵押品价格(可以认为是当前市场价格)。LLAMAM设计了Oracle Price角色,以实现ETH<->crvUSD以特定价格转换抵押品的行为。我们将在以下章节中详细解释如何实现这一点。这里,我们假设Oracle价格为P_Oracle,LLAMAM池中的价格为P_AMM。
关于Oracle的设计,可以肯定的是,每次获得外部价格时,EMA都会在使用前对其进行处理。这是为了防止用户因外部价格剧烈波动而遭受损失,同时也增加了操纵Oracle价格的难度。由于该服务尚未上线,目前还不能确定哪种服务将被用作Oracle来源。
如何在LLAMAM池中工作
下图显示了波段范围内的价格变化(使用ETH作为抵押品)。当ETH价格高于P_UP(黄色范围)时,波段范围内的所有资产将被转换为ETH。当ETH价格低于P_DOWN(绿色范围),波段范围内的所有资产将被转换为crvUSD。当价格在P_UP和P_DOWN之间(白色范围),资产将处于部分ETH和部分crvUSD的状态,ETH和crvUSD的比例由价格变化决定。
中间的紫色线表示P_ORACLE的价格变化,红色线表示P_AMM的价格变化。P_CD和P_CU可以被认为是两个方程,用于找到这个区间的上下限价格。
当P_ORACLE和P_AMM相等时,将是图中中间的蓝色点,表明池中的ETH价格与外部价格一致。
Oracle价格上涨
从LLAMMA池价格的图中可以看出,当价格开始上涨时(图中的橙色线),红色线(P_AMM)的上涨速度比紫色线(P_ORACLE)快。当P_AMM>P_ORACLE时,就会产生一个套利空间,促使外部套利者将ETH存入LLAMMA池以换取更多的crvUSD来获利,直到P_AMM=P_ORACLE再次平衡。在这个过程中,池中的ETH数量逐渐增加,而crvUSD的数量逐渐减少。当它高于P_UP时,只有ETH会留在这个范围内。下图显示了套利过程中AMM价格(P_AMM)的变化(X轴代表oracle价格,Y轴代表AMM价格。为了明确表示价格位置,在X轴和Y轴上都列出了oracle价格的橙色线)。
Oracle价格下降
相反,当价格开始下降时(LLAMMA池价格图中的绿线),可以观察到红线(P_AMM)的下降速度比紫线(P_ORACLE)快。当P_AMM<P_ORACLE时,也会产生一个套利空间,促使外部套利者存入crvUSD以换取更多的ETH,直到价格再次平衡。在这个过程中,资金池中的crvUSD的数量逐渐增加,而ETH的数量逐渐减少。当它低于P_DOWN时,只有crvUSD会留在这个范围内。
LLAMA公式
为什么P_AMM比P_ORACLE上升或下降更快?为了理解这一点,我们需要看一下P_AMM的公式。在LLAMAM不变量公式中,I、f和g都与P_ORACLE相关。这意味着I、f和g不是常数,而是会改变的。
x和y指的是波段范围内的美元余额和ETH余额。y_0是P_AMM = P_ORACLE = P_UP时的ETH平衡,可以暂时看作是一个常数(实际上,它也是一个与P_ORACLE有关的函数)。
如果我们将波段范围排列为一个序列,我们会发现它是一个几何序列。A是决定这个几何序列比率的数字,它是在部署合约时决定的,因此A也是不变量。
可以看出,P_AMM仅与参数f和g有关,而f和g仅与P_ORACLE中的变化有关。当P_ORACLE上升时,f值将上升(平方关系上升更快),g值将下降。P_AMM的上升将大于P_ORACLE的上升,导致P_AMM > P_ORACLE。当P_ORACLE下降时,f值将下降(平方关系将更快下降),g值将增加。P_AMM的下降将大于P_ORACLE的下降,导致P_AMM<P_ORACLE。即使LLAMMA池中没有swap,P_AMM也会随着P_ORACLE的变化而变化,P_AMM的幅度将大于P_ORACLE的幅度,从而创造了一个套利机会,使池中的资产比率保持平衡。
LLAMAM总结
LLAMA有意利用P_AMM波动大于P_ORACLE的事实,为外部交易者创造套利机会。当套利者试图重新平衡池中的资产比率时,他们实际上是在对池的资产进行部分清算。这种动态和持续的清算过程的优势在于,它避免了可能导致市场波动的大规模清算。随着价格回升,资产将转换回抵押品,而不会对抵押品造成永久性损失。
稳定器与货币政策
在讨论了LLAMA如何解决抵押品清算问题之后,让我们简要解释一下PegKeeper和货币政策是什么以及它们是如何工作的。PegKeeper和货币政策是Curve Finance用来锚定crvUSD到1美元的机制。
当crvUSD价格>1美元:意味着Curve池中crvUSD短缺。PegKeeper可以铸造新的crvUSD,无需抵押,并将其存入Curve池,以增加市场上crvUSD的供应。
当crvUSD价格<1美元:这意味着Curve池中的crvUSD过剩。PegKeeper将开始从Curve池中提取之前铸造的crvUSD,并烧毁这些crvUSD以减少市场上crvUSD的供应。
这些操作在PegKeeper合约中定义,可以由任何外部调用者调用。调用PegKeeper来锚定crvUSD创造利润,这些利润以LP代币的形式返回给外部调用者。例如,假设PegKeeper最初铸造了200个crvUSD,将其存入Curve池,并获得了300个LP代币。当价格下跌时,只需要200个LP代币就可以提取200 CrvUSD。剩余的100个LP代币将由外部调用者拥有。
尽管这提到在每个Curve池中使用crvUSD形成池,但该方法更可能类似于crvUSD与其他资产合并的3pool类型的池。这样一来,只需要一个PegKeeper来调整crvUSD的价格。此外,Curve团队可以使用CRV对crvUSD ↔ 3pool池进行投票,以增加奖励,激励人们存入和铸造crvUSD。然而,这些只是个人的猜测,我们需要看到推出后的实际情况。
货币政策
如果PegKeeper烧毁了所有未抵押的crvUSD,而crvUSD的价格仍然低于1美元,该怎么办?Curve Finance有另一种方法来提高crvUSD的价格,那就是利用货币政策来提高借款利率。
正如我们所看到的,当价格大于1时,借款利率非常小(趋于0)。当价格低于1时,借款利率迅速上升。这将导致已铸造crvUSD的借款人迅速偿还债务,否则其抵押品可能会被清算。我们注意到,价格影响借款利率,也影响借款金额。当然,借贷利率的实际增长速度只有在crvUSD正式推出后才能知道。
总结
- LLMMA是Curve用来进行抵押品清算的算法,它通过在不同的价格范围内分配抵押品来减少清算期间的损失。
- 它通过使用比外部价格更大幅度的价格变化来动态清算抵押品,从而产生套利机会。当价格下跌时,抵押品变成crvUSD,当价格上涨时,抵押品又变成抵押品。
- PegKeeper铸造或烧毁未抵押的crvUSD,以降低或提高crvUSD价格,而货币政策则控制借款利率,将crvUSD固定在1美元。
Curve Finance的设计非常复杂,在实施方面值得进一步研究。
*本文由CoinTime整理编译,转载请注明来源。
所有评论