本文讨论了同价值资产交易的背景,重点介绍了Curve Finance提出的StableSwap算法,解决了传统AMM算法在稳定币交易中导致的滑点问题,并展示了StableSwap的优势及其对DeFi生态系统的影响。
本文将继承 [DEX 系列] 1. 不同价值资产的交易 的内容,探讨两个具有相同价值的加密资产以及现有 AMM 的问题,以及 Curve Finance 是如何要解决这些问题的。由于本文不深入探讨价值相同的稳定币的价格维持算法或桥接服务的机制,建议你在阅读前先阅读1. 稳定币的种类与原理的视频以及2. 关于桥接服务的文章。
[DEX 系列]
货币被定义为为了便利商品的交换和流通而使用的交换手段或流通手段,现代社会中大多数国家都在发行自己的货币。在美国,联邦储备系统发行美元;在韩国,韩国银行发行韩元。由此发行的美元和韩元在汇率市场以浮动汇率的方式进行管理,这是现代社会的货币系统。那么,如果有人发行与美元完全等值的 A 币,并承诺以 1:1 进行保障,大家会选择使用 A 而不是美元吗?一般理性的个人是不会用 A 来取代美元的,也不会被接受。
那么,在没有像联邦储备系统或韩国银行的中央银行存在的加密货币市场中又会怎样呢?由于加密货币的波动性非常高,市场参与者需要保持自己资产的价值安全。因此,和美元Hook的、即 1:1 保障美元价值的 USDTEmer 나오→ordinate出演,因此 2018 年后出现了 USDC、DAI、BUSD、UST(TerraUSD)等各种保障美元价值的稳定币。我们称这些与美元价值Hook的加密货币为“美元稳定币”,以下是代表性美元稳定币的市值和市场份额。
稳定币市值(来源: Coingeko)
稳定币市场占有率(来源: Coingeko)
从上面的图可以看出,美元稳定币的发行量总体上是增加的。然而,内部来看 USDT 的比例逐渐降低,而 USDC、BUSD 等其他稳定币的比例正在上升。这显示出区块链生态系统中美元稳定币市场正在壮大,种类也在日益丰富,说明加密货币市场中没有中心化的铸币机构。截止 2021 年 12 月,据 Coingecko 统计,美元稳定币的数量 为 34 种,由于各自所使用的区块链网络或服务的不同,市场参与者需要去中心化交易所交换美元稳定币。
考虑到美元的价值在各种不同种类的稳定币中维持,我们可以思考“比特币或以太坊等加密资产的价值是否也可以用其他加密资产表现出来呢?”因而 Wrapped 币应运而生。
在 2020 年的 DeFi 夏季中,带头的服务之一为借贷平台的 Compound finance,而 AMM 平台则是 Uniswap。但是,这些服务的爆炸式增长,背后 WBTC 的流动性提供起了很大作用。
WBTC(Wrapped BTC)字面意思是将比特币(BTC)包装成在以太坊上使用的 ERC20 代币的形式,它在 2019 年 1 月与 BitGo、Kyber Network 和 Ren 共同开发并上线。当时,BTC 持有者通过 WBTC 合作伙伴将 BTC 托管并按 1:1 发放 WBTC,但由于当时未感受到在以太坊上使用比特币的必要性,因此发行量并不多。然而,随着 2020 年 DeFi 服务的出现,这一情况受到了比特币持有者的热烈欢迎,结果如下图所示,WBTC 的市值爆炸性增长。
WBTC 市值(来源)
如果可以证明担保,则加密资产同样能以基础加密资产保持价值。
在 DeFi 生态系统中,基于这一思路上线的服务称为桥接。桥接的基本逻辑是对存在于不同链上的加密资产进行 1:1 投入,进行铸发;而反过来则是销毁已铸发的加密资产,解除已固定的担保数量,以保持整体固定量和铸发量的一致性。 BTC 桥接的代表例是上述提到的 WBTC 和由 Ren protocol 主导发行的 renBTC,而中心化交易所之一 Huobi 银行则发发行的 hBTC,以便将 BTC 提取为 ERC20。本文不深入说明桥接服务,一些想要详细了解的人可参考这篇文章。
随着稳定币的爆炸式增长,链内同等价值的加密资产数量增加,加密货币市场用户需要可以进行同等价值资产交易的去中心化交易所。然而,如之前所述,将 CPMM算法应用于同等价值资产交易时,则经历高滑点的问题。为解决此问题,Curve Finance 提出了新的 AMM 算法 StableSwap,从而使其在 2021 年 12 月保持去中心化交易所 TVL(Total Value Locked)第一名,并且加密资产的存款量稳步上升。
Dex TVL 排名(截止日期: 2021-12-19 来源)
Curve Finance TVL(截止日期: 2021-12-19 来源)
在这里,我们可以提出以下问题:
Curve Finance 使用了怎样的算法?
与 Uniswap V2 比较时滑点改善了多少?
在本篇文章中,我们将 逐步跟随 StableSwap 白皮书 的内容,看一看以上问题。
首先,我们将简要介绍上一期讨论过的算法。当前的 AMM 算法主要有两种形式。
首先,在总和恒定的情况下,公式显示两个资产的和是固定的,当 x 增加 1 时,y 就减少 1。即 y 的变化量可以用 x 的变化量的负值表示,表达为 dy = -dx,通用化后形成如下算法。
第二种是乘积恒定的情况下,此公式主要应用于 Uniswap、Balancer、Kyber Network 中,资产是 50:50 方式组成的组合价格重新调整。该公式通用化后即形成 Balancer 的算法,如下所示。
美元稳定币的共同点是其价值都指向 1 美元,但是各自的供需并不相同。换句话说,在供需的影响下,某种稳定币的价值可能会高于 1,因此在(1)算法才使用时,流动性池中若只存在稍微低价值的加密资产,则 AMM 算法就无能为力了。而如果选择使用(2)算法,则价格上会产生明显的滑点,且为了较为稳定的交易,在流动性池中就必须存在足够的资产,导致流动性提供者的收益车可能降低。
Curve Finance 识别到这一点,推出了一个新的 AMM,StableSwap,旨在当加密资产之间达到平衡时,价格变化几乎保持在 1 的近似值。下面的图表示以初始值 x=5, y=5 下(1)算法(恒定价格)、(2)算法(Uniswap V2)与稳定交换之间的可视差别。
[图 1] StableSwap、Uniswap、恒定价格的价格曲线比较( 来源)
[图 2] StableSwap 与 Uniswap 价格变化量比较( 来源)
从[图 1]可以看出,当加密资产之间处于平衡点(5,5)时,StableSwap 的价格变化量几乎为 1,远离平衡后的变化量加大。这意味着越接近平衡时,使用(1)算法越接近,而远离平衡时越接近(2)算法。[图 2]是之后通过 StableSwap 的杠杆变量 A 为 100 时价格变化量的图,能够确认资产 x在一定区间内的价格变化量几乎保持恒定。
那么,StableSwap 是使用了什么样的算法来拥有这一特点的呢?我们将沿着白皮书的推导式,分析 StableSwap 的 AMM 算法。
首先,对现有的 AMM算法进行如下定义。
此时 D 代表参与 AMM 的相同价值的加密资产的总量。如果 DAI 和 USDT 分别参与 100 个,那么 D=200。
StableSwap 通过混合上述两种算法,并利用 Amplification coefficient 变量,为 constant-sum 逻辑增加杠杆。若要将滑点改为 0 的 constant-sum 实现,可以将杠杆无限制设定;如果要实现 constant-product,则将杠杆设为 0。StableSwap 中用 χ 表示此杠杆变量,并试图使得在加密资产平衡时与常数 A 相同,而若不在平衡时则设置为降低到 0。
因此,利用公式(3)和(4),可以发现得到如下(5)形式的 StableSwap AMM 算法:
StableSwap 白皮书中对由 DAI、USDC、USDT 组成的稳定对进行了自我模拟,结果最优的 A 值为 85。但因池中组成稳定币的价格稳定性提高,当前 Curve Finance 的3pool(DAI/USDC/USDT)A变量的值 却已达 2000,滑点几乎降至 0。
在推导了 StableSwap 中使用的算法后,我们希望确认之前的问题有多大程度得以解决。本篇文章中,我们将应用 Uniswap V2 使用的 CPMM 并对 StableSwap 的杠杆变量 A 分别为 50 和 100时进行以下问题的结果确认。
假设初始有 100 USDC 和 100 DAI 进入池中,当用户用 50 USDC 兑换 DAI 时,能获得多少?(假设没有手续费存在)
[Uniswap V2] 在 Uniswap V2 中使用的 CPMM 状况下,初始的流动性常数值为 100 * 100 = 10000。此时,由于算法的影响,USDC 从 100 增加到 150,因此等式变为 150y = 10000,最终得出 y = 66.67,用户可以从原有的 100 个中取出去掉 y 后的 33.33 DAI。
[StableSwap] 在对 StableSwap 算法进行计算之前,让我们回顾一下学生时代学过的根的公式。ax² + bx + c = 0 的根 x 的计算公式如下:
初始资产和 D=200,参加资产个数 n=2,因此公式(5)需改变为如下形式。
1. A = 50
若 A=50,则(6)公式重新整理后用根的公式来获得 y 值。

因此,最终用户能够获得的 DAI 数量为 100-y = 49.68 DAI。
2. A = 100 如果 A=100,则(6)公式重新整理后用根的公式来获得 y 值。


因此,最终用户能够获得的 DAI 数量为 100-y = 49.84 DAI。
归纳而言,使用 Uniswap V2 时,50 USDC 可交换 33.33 DAI,而使用 StableSwap 时 A=50 和 A=100 时则可获得 49.68 DAI 和 49.84 DAI。
本文中我们探讨了将现有 AMM 算法应用于稳定币时滑点会显著增大,以及流动性池需包含大量资产的问题。通过实际用 200 美元的小流动性池进行实验,结果表明20 USDC 的稳定币兑换中, 传统 AMM 显示滑点达到 16.67,但通过 StableSwap 的 100 倍杠杆应用,滑点降至仅 0.16 的水平,明显解决了这些问题。
Curve Finance 通过推出 StableSwap 来最小化在稳定币与 Wrapped 资产之间交易时的滑点,从而也证明了在小流动性池中也能进行这种交易,获得了用户的广泛青睐。这导致交易量增加,流动性提供者的收益上升,进一步促进更多流动性提供者参与,由此在 Dex TVL 排名中稳居第一。即使在 Curve Finance 未提供服务的网络中,StableSwap 的 AMM 算法所衍生的服务(例如 BSC 的 Belt Finance、Solana 的 Saber 等)也重要存在,成为 DeFi 生态的重要贡献。
StableSwap 的问世也在 BTC 外的同等价值的加密资产的出现上发挥了重要作用。以 ETH 为例,在以太坊网络中,Lido 和 Stati 对被质押以太坊保障的 stETH 和 rETH,以及通过 Synthetix 发布合成资产算法 sETH,亦可通过 Curve Finance 进行交易。此外,在 Solana 中,经过 saber 可交易的 ETH 达到 6 种多样化。近年来,随着多种链和多样化的桥接服务,若多种加密资产通过桥接互联,StableSwap 的影响将更加显著。
Curve Finance ETH 流动池( 来源)
此外,未来若区块链能够在全球范围内被广泛应用,所有国家的货币作为稳定币得到使用,则 StableSwap 也可能扩展为应用汇率预言机数据的兑换服务,Curve Finance,以及其他 StableSwap 服务的前景令人期待。
在本系列的第一篇及本文中,我们主要讨论了基本的 AMM 逻辑,而在下一篇文章中,我们将探讨如何利用 AMM 来实现期货交易。
- 原文链接: medium.com/decipher-medi...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!