【研报精选】新型稳定币Curve Stablecoin的原理及架构

Mirror发布于2023-02-27更新于2023-02-27

文章摘要

LLAMMA 是 Curve 是进行抵押品清算的演算法,通过在不同的价格范围内分散抵押物来减少清算时的损失。

Curve Finance 不管是在 Stablecoin Swap 的 AMM Algorithm, 或是广为被其他人效法的 veToken 经济模型设计,都是 DeFi 领域极具代表性的创新。去年底 Curve Finance 提出他们的稳定币白皮书,不禁让人好奇这次他们又会为 DeFi 生态端出什么新的菜色。在研究过程有一些心得和理解,希望可以帮助大家更了解 Curve 稳定币的设计。

Curve 稳定币类型及解决问题

Curve Finance 稳定币设计上是属于超额抵押类型的稳定币。这类稳定币是藉由把其他资产譬如 ETH 当成抵押品,根据特定的利率及抵押品的价值去 mint (或 borrow)出稳定币。最著名的 Protocol 就是 MakerDAO 的 DAI。把 ETH 当成抵押品抵押到 MakerDAO 中,并借出 MakerDAO 的稳定币 DAI 。在这里只是抵押的对象改成 Curve Finance 来借出 Curve 稳定币。

Figure1:

清算问题

此种类型的稳定币架构都会有清算(Liquidation)机制。清算是指当抵押品价格下降到特定价格时,造成抵押品价值可能无法支撑借出的稳定币。此时抵押品(全部或部分)会以较优惠的价格拍卖出去,借此填补借出稳定币的缺口。目前的清算模式存在几个问题:

•当鲸鱼的资产被清算时,会有很多抵押品流入市场,易造成市场波动。

大部分情形下清算者会把清算后的抵押品卖掉来获利,这举会造成抵押•品价格再次下降,而又造成另一波的清算。

•清算者通常会去 CEX/DEX 卖掉拍卖来的抵押品。若交易所缺乏流动性会造成借贷平台的坏帐 (例子)。

•被清算后使用者将会承受永久损失。即便抵押品价格回升,抵押品也已经被清算无法恢复。

有鉴于此 Curve 在设计稳定币时希望可以透过以下方式来改善清算问题。

•不依赖外部的 DEXs。因为 DEX liquidity 是无法掌控。

•当清算发生时尽量减少用户的损失。

•逐步清算用户的抵押品,并在价格反弹时将其转换回来。

Curve Stablecoin Overall Architecture

上图是白皮书中的架构图,大约可以分成两的区块。

•Controller 和 LLAMMA 主要负责抵押品清算相关的工作(上图蓝色框框的部分)。

•Monetray Policy,PegKeeper 和 Stable Pool 主要负责锚定稳定币在 1 USD 的相关工作(上图绿色框框的部分)。

本篇文章内容主要会着重在 Contoller 跟 LLAMMA 介绍,但 Monetray Policy 相关工作也会有简单的说明。所以让我们从今天的重头戏 LLAMMA 开始吧!

LLAMMA (Lending-Liquidating AMM Algorithm)

LLAMMA 全名是 Lending-Liquidating AMM Algorithm,顾名思义是一种跟借贷及清算有关的 AMM 演算法。 Curve 主要是用这套演算法来清算抵押品。

AMM 代表会有一个根据 LLAMMA 演算法的 Swap Pool,这里我们先称之 LLAMMA Pool。使用者可以透过 Controller 把他们的抵押品 deposit 进去 LLAMMA Pool 并 mint 出稳定币。 LLAMMA Pool 中的资产就是抵押品及 Curve 稳定币。以下文章中我们统一使用 crvUSD 代称 Curve 稳定币,并使用 ETH 当作抵押品来举例。

LLAMMA Pool 最大的特色是当抵押品(ETH)价格低于某个特定价格时,Pool 中的抵押品会逐渐变成 crvUSD。反之若高于某特定价格则 crvUSD 会逐渐变成抵押品(ETH)。

听起来挺神奇的吧!在了解这个转换过程之前,我们需要先知道使用者把抵押品放在 Pool 中发生了什么事情。下图是各合约互动的示意图,让大家对于 LLAMMA Pool 实际在架构中扮演的角色可以有更清楚概念。

合约互动流程示意图

Dynamic Range and Oracle Price

Band

首先 LLAMMA 将抵押品价格区间切成不同的价格区段称之为 band。当使用者 deposit 抵押品时需要提供:

•抵押品数量

•想要存进多少个 band 中

•想要 mint (or borrow)出多少 crvUSD

抵押品会根据 想要存入多少 band 的数量去切分抵押品成相同数量且等分的小块,再以目前价格及 mint 出的 crvUSD来将这些小块存放在由 band 组成的连续价格区间中。如下图是将 10 ETH 经计算存入 5 个 band 中的分布情形,先将 10 ETH / 5 = 2 ETH 的五个小块存入连续的 5 个 band 中。

此外需要注意每个 band 都会有一个 upper price (P_UP)和 lower price (P_DOWN)。同时上一个 band 的 upper price 会是 下一个 band 的 lower price 。举例来说譬如上图中的 band 0 的 upper price (3000)同时也是 band 1 的 lower price(3000)。每个 band 的 upper price 跟 lower price 就代表这个 band 开始清算和结束清算的价格。当价格到达 upper price 时,存放在这个 band 的抵押品就会开始清算,直到价格到达 lower price 时就结束清算(代表这个 band 的抵押品已全数变成了 crvUSD)。

Oracle Price

在 LLAMMA 中有另一个重要的角色就是 Oracle Price, Oracle Price 就是指外部的抵押品价格(可以想成是目前市场价格)。 LLAMMA 设计 Oracle Price 角色来达到抵押品在特定价格会开始进行 ETH <-> crvUSD 转换的行为。详细如何做到我们会在后面的章节来说明。这里我们先假设 Oracle Price 为 P_ORACLE。 LLAMMA Pool 中的价格我们假设为 P_AMM。

关于 oracle 的设计,确定的是每次在获得外部的价格后,会先做 EMA 处理才会使用此价格。以免外部价格剧烈波动造成用户损失,另一方面也增加操纵 oracle price 的难度。因为目前服务还没有上线,所以无法确定会用哪个服务当作 oracle source(撰写文章当下 Curve 社群有在投票是否要针对 stablecoin 机制建立 EMA Pool)。

How to Work in LLAMMA Pool

下图是 band 区间中的价格变化情形(用 ETH 当作抵押品)。当 ETH 价格高于 P_UP(黄色区间)时, band 区间的资产会全部变成 ETH。当 ETH 价格低于 P_DOWN(绿色区间)时, band 区间的资产会全部变成 crvUSD。当价格在 P_UP 和 P_DOWN 之间(白色区间),资产会处于部分 ETH 和部分 crvUSD 的状态,根据价格变化决定 ETH 和 crvUSD 所占的比例。

中间紫色的线是指P_ORACLE 的价格变化,红色的线是指 P_AMM 的价格变化。可以把 P_CD 和 P_CU 想成是为了找出这个 band 的 upper price 和 lower price 所制造出来的两条方程式。

LLAMMA pool price diagram

当 P_ORACLE 和 P_AMM 相等时就会是图中间蓝色的点,此时 Pool 中的 ETH 价格跟外部的价格是一致。

Oracle Price 上涨

从上图(LLAMMA pool price diagram)可以发现,当价格开始上升的时候(橘色线的部分),会发现红色(P_AMM)的线会比紫色(P_ORACLE)的线上升的更快。当P_AMM > P_ORACLE 时就会产生一个套利空间,使得外部的套利者(Arbitrgeur)有动力存入 ETH 到 LLAMMA Pool 借以交换出更多的 crvUSD 来获利,直到 P_AMM = P_ORACLE再度达到平衡。过程中池子中的 ETH 的数量逐渐变多,crvUSD 的数量逐渐变少。当高过 P_UP 时,这个区间的就会只剩下 ETH。下图显示套利者在套利过程中 AMM price(P_AMM)变化情形(下图中 X 轴表示 oracle price, Y 轴表示AMM price。为了可以更清楚表示出价格位置,分别在 X 轴和 Y 轴都列出 oracle price 的橘色线)。

当 P_AMM > P_ORACLE 时套利者会开始存入 ETH 拿出 crvUSD,P_AMM 线(红)会开始往右移动直到 P_AMM = P_ORACLE 再度平衡。

Oracle Price 下跌

反之亦然,当上图中(LLAMMA pool price diagram)价格开始下降时(绿色线的部分),会发现红色(P_AMM)的线会比紫色(P_ORACLE)的线下降的更快。当P_AMM < P_ORACLE 时也会产生一个套利空间,使得外部的套利者存入 crvUSD 换取更多的 ETH,直到价格再度达到平衡。过程中池子中的 crvUSD 的数量逐渐变多,ETH 的数量逐渐变少。当低于 P_DOWN 时,这个区间的就会只剩下 crvUSD。

当 P_AMM <P_ORACLE 时套利者会开始存入 crvUSD拿出 ETH,P_AMM 线(红)会开始往左移动直到 P_AMM = P_ORACLE 再度平衡。 ( X轴:oracle price, Y 轴: AMM price,橘色线: oracle price)

LLAAMA Formulas

为什么 P_AMM 会上升或下降得比 P_OARCLE 来要快呢?这一点要从 P_AMM 的公式来看。

•LLAMMA Invariant 其中的 I, f 和 g 都是跟 P_ORACLE 有关的公式。表示 I, f, g 都会改变,不是固定的常数。

•x 和 y 则是指区间的 USD balance 和 ETH balance 。

•y_0 是当 P_AMM = P_ORACLE = P_UP 时的 ETH balance,可以先暂时将y_0 视为一个常数(实际上他也是跟 P_ORACLE有关函式)

•若把 band 区间排成一个数列,会发现是一个等比级数的数列。而 A 是决定这个等比数列的比例的数字。 contract 部署时就决定 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 Pool 没有任何 swap ,P_AMM也会随着 P_ORACLE变动,且P_AMM 的幅度都会比 P_ORACLE 更大,进而制造出一个套利空间来平衡池子的资产比例。

小结 LLAMMA

LLAMMA 是利用 P_AMM 上升和下降的幅度都大于 P_ORACLE 的方式,刻意制造一个套利空间让外部的套利者有利可图。当套利者去试图平衡池子中的资产比例时,其实就是在对池子中的资产做部分清算。这样的好处是清算是动态且持续,不会有一次清算大笔资产而导致市场波动。当价格回升时资产也会转换回抵押品而不会造成抵押品的永久损失。

Stabilizer and Monetary Policy

讲完了 LLAMMA 是如何解决清算抵押品问题,让我们回头简单说明一下什么是 PegKeeper 和 Monetary Policy 及他们是如何运作。 PegKeeper 和 Monetary Policy 则是 Curve Finance 用来锚定 crvUSD 在 1 USD 的机制。

PegKeeper

这是将 crvUSD 结合 curve pool 用来平衡 1 USD 机制。假设存在 crvUSD 与其他稳定币的 curve pool 。

•当 crvUSD price > 1 USD 时:表示 curve pool 里面的 crvUSD 太少(供不应求)。 PegKeeper 可以在无抵押品的情形下 mint 出新的 crvUSD 并deposit 到 Curve Pool,以增加市场中的 crvUSD。

•当 crvUSD price < 1 USD 时:表示 curve pool 里面的 crvUSD 太多(供过于求)。 PegKeeper 便会开始从 curve pool 中 withdraw 之前 mint 出的 crvUSD 并 burn 掉这些 crvUSD,以减少市场中的 crvUSD。

以上行为都是被定义在 PegKeeper contract 中,PegKeeper 可以被任何的 external caller 呼叫。呼叫 PegKeeper 锚定 crvUSD 时会产生利润,而这些利润会以 LP token 的形式回馈给 external caller。举例来说,假设 PegKeeper 一开始 mint 200 crvUSD,然后把这 200 crvUSD deposit 到 curve pool 拿到 300 LP token。等到 price 下降,只需要 200 LP token 就可以 withdraw 200 crvUSD。那剩下的 100 lp token 就会被 external caller 所拥有。

虽然这边是提到各 curve pool 去跟 crvUSD 组成池子,但比较可能作法猜测会是类似 3pool 类型的 pool 跟 crvUSD 组成池子。这样只要有一组 pegKeeper 就可以去调节 crvUSD 的价格。另外 Curve Team 可以用 CRV 投票在 crvUSD ↔ 3pool 这个池子来提高奖励,吸引人们去抵押铸造 crvUSD 的诱因。但这些只是个人猜测,还是要看实际上线后的情形才知道。

Monetary Policy

若 PegKeeper 已经 burn 完这些无抵押的 crvUSD 后, crvUSD 价格仍低于 1 USD 时该怎么办呢? Curve Finance 有另一套方法来拉高 crvUSD price,这个方法就是利用 Monetary Policy 来提高 borrowing rate。

https://www.desmos.com/calculator/cqtavnvhps?lang=en

可以看到当 price > 1 时, borrowing rate 会极小(趋近于 0) 。若 price < 1 时,borrowing rate 会上升极快。这会导致借出(mint) 出 crvUSD 的抵押者会赶快 repay ,不然抵押品可能会被清算。会发现其中 price 会影响 borrowing rate, 同样也会影响借款的金额。当然实际会上升多快还是要等 crvUSD 正式上线后才会知道。

TL;DR

•LLAMMA 是 Curve 是进行抵押品清算的演算法,通过在不同的价格范围内分散抵押物来减少清算时的损失。

•它通过比外部价格更大的变化幅度来产生套利机会来动态清算抵押品。当价格下跌时,抵押品会变成crvUSD,价格上涨时会变回抵押品。

•PegKeeper 铸造或烧毁无抵押 crvUSD 降低或提高 crvUSD 价格。 Monetary Policy 则是利用控制借款利率,以使 crvUSD 锚定在1美元。

•Curve Finance 这套机制设计得非常精妙,很值得再继续深入研究其中的各项实作设计。在理解 Curve 稳定币机制时,发现 PACO 大大在研究 Curve 稳定币方面造诣很深。从他的文章和影片都获益良多。其中图表都是从 PACO 的资料得来,强烈建议想要了解更深入可以去看 PACO 大大的文章和影片,我会一并放在 Reference 中。

以上是研究 Curve 稳定币过程中自己的一些理解和整理。

你可能也喜欢

Fortitude 投资 4500 万美元于 Zcash 挖矿基础设施,旨在加强垂直整合

加密矿业公司 Fortitude 宣布投资4500万美元用于增强其Zcash挖矿基础设施,以推进垂直整合战略。该投资包括3150万美元的矿机采购承诺,以及总计1390万美元的两项资产收购,涉及电力合同、土地、建筑物和矿机设备。 通过这些交易,Fortitude 旨在从部分依赖第三方基础设施的矿企,转型为拥有自有可控电力与数据中心资产的垂直整合运营商。公司预计到2026年,其控制的数据中心容量将超过60兆瓦。此次扩张为其与纳斯达克上市公司HeartSciences Inc.的合并计划铺平道路,有望助其母公司Digital Currency Group(DCG)旗下的矿业业务登陆公开市场。 具体收购包括:7月7日以625万美元收购内布拉斯加州朱尼厄特的电力合同、土地、建筑等资产;以及2025年10月以765万美元收购内布拉斯加州奥罗拉的资产,其中主要支出用于保障自有电力供应。公司强调,获取可靠且具价格竞争力的电力对挖矿盈利能力至关重要。 同时,Fortitude 正从主要开采比特币转向专注于Zcash。2026年第一季度,其挖矿收入中Zcash占比从一年前的11%大幅提升至61%,而比特币收入占比则从79%降至36%。尽管公司部署了更多算力,但由于Zcash在2024年11月经历减半及全网难度提升,其Zcash产量同比有所下降。然而,Zcash价格的大幅上涨(从一年前的平均40美元/枚跃升至272美元/枚)抵消了产量下滑的影响,推动其Zcash收入同比增长近五倍。 财务方面,公司第一季度净亏损收窄至460万美元,营收为1920万美元。截至3月底,其持有现金890万美元,但仍有1890万美元的设备应付款项待支付。为此,Fortitude 于6月1日从母公司DCG获得了2600万美元的定期贷款额度,以支持其后续的设备采购和运营。

cryptonews.ru2分钟前

Fortitude 投资 4500 万美元于 Zcash 挖矿基础设施,旨在加强垂直整合

cryptonews.ru2分钟前

Brale 声称新协议或可消除用户发行代币规模化的主要障碍

稳定币基础设施公司Brale推出了一种名为ION的互操作性协议,旨在解决行业发展的一个关键瓶颈:日益增长的用户品牌稳定币在不同区块链间的转移问题。 目前市值3000亿美元的稳定币市场由Tether(USDT)和Circle(USDC)主导,但银行、金融科技公司、加密企业和资产管理公司正越来越多地发行自己的品牌代币,用于支付、结算和资产代币化。数据提供商CoinGecko已追踪到超过350种与法币等现实资产挂钩的稳定币,凸显了连接日益碎片化生态系统的需求。 传统跨链转移通常依赖流动性池或封装资产,需要在每条支持的链上锁定资金。随着稳定币和区块链数量增长,对资本的需求也急剧上升。Brale创始人兼CEO本·米尔恩指出,稳定币项目间的流动性是单个稳定币规模扩张的首要障碍,现有世界的资本不足以解决这个问题。 ION协议采用了与Circle的跨链传输协议(CCTP)类似的“销毁-铸造”模型,允许参与的稳定币通过在一条链上销毁代币,同时在另一条链上铸造等量代币来实现跨链,而无需在每条目标链上预先建立资金池。该协议旨在将这种模式扩展到任意参与的稳定币发行方,而不仅限于单一代币。 Brale目前支持超过30条区块链上的100多个稳定币项目,其许多客户处理着每月数十亿美元的支付,但持有余额相对较小,因为这些代币主要用于交易而非投资。ION协议已与Monad、Rain、Coinflow等合作伙伴启动测试网,未来将进行更广泛的部署。

cryptonews.ru5分钟前

Brale 声称新协议或可消除用户发行代币规模化的主要障碍

cryptonews.ru5分钟前

交易

现货
活动图片