# 「入门科普 」DeFi 发展：简要回顾第二代 AMM

By [BTX ｜ Research](https://paragraph.com/@btx-research) · 2022-07-30

---

原文作者：Joe Content 编译：BTX Capital

Uniswap V2 是有史以来分叉最多的协议。其简单的设计意味着任何人都可以参与做市。然而，由于它的缺点 —— 即无常损失、库存损失和资本使用效率低下，新一代 AMM 的已经诞生了。本文对它们的简要概述。

### Uniswap V3

V3 背后的主要思想是集中流动性。这很强大，因为你的流动性将会比 V2 更有效地被使用。

我们以 USDC/USDT 池为例。

价格大部分时间应该在 1 左右浮动，因此将你的流动性集中在该价格附近是有意义的。但是，当你在 Uniswap V2 上提供流动性时，你将在整个价格范围内（即零到无穷大）均匀地提供流动性。

这意味着无论价格是 1 还是 12345，你都提供相同数量的流动性。价格达到如此高的数字的机会非常渺茫，这是对资本的巨大浪费。

如果你把相同数量的流动性放在一个范围内，比如 \[0.95, 1.05\]，不是更好吗？

Uniswap V3 允许你这样做 —— 流动性提供者可以指定他们想要提供流动性的范围。

为了更详细地理解这一点，让我们快速回顾一下 V2。

下图是x\*y=k，其中x是资产X的数量，y是资产Y的数量，价格是曲线上任意点的斜率（我们定义为y/x）。

![](https://storage.googleapis.com/papyrus_images/a6b1e9f0806536830686b9045e275dc76f81d947f6ca622924ec9b402eb8ab71.png)

该图的主要内容是两个渐近线：

1.  随着 x 接近0 ，y 趋近于无穷大
    
2.  随着 y 接近 0，x 趋近于无穷大
    

换句话说，x 或 y 永远不能为 0。 因此，如果你向 AVAX/USDC 池提供流动性，那么永远不会出现整个池仅由 AVAX 或仅由 USDC 组成的情况。 这与 Uniswap V3 不同，你可以在任何范围内提供流动性。 请看下图。

![](https://storage.googleapis.com/papyrus_images/9e6990e7db4d67932ddddf86127392c1765429f4f8f922d87f643259cc7123eb.png)

交易仍然遵守 x\*y=k ，由蓝线表示。但是，如果有人想在价格范围 \[a, b\] 内提供流动性，他们的头寸将转换为橙色线，公式如下：

![](https://storage.googleapis.com/papyrus_images/ed3798592a2fc68f1d705d678fa587c2111eb5bd1a6de67382e69c8f741657d7.png)

简单地说，这个公式与两坐标轴相交，也就是说现在有可能出现 x 或 y 为 0 的情况。

这意味着一旦价格离开这个范围，流动性就完全由单一资产组成。

例如，Alice 在 AVAX/USDC 池中提供 95-105 美元这个区间范围内的流动性：

*   低于 95 美元的价格：Alice 的 LP 仅包含 AVAX。
    
*   价格在 95-105 美元之间：Alice 的 LP 由 AVAX 和 USDC 组成。
    
*   价格高于 105 美元：Alice 的 LP 仅包含 USDC。
    

你可能已经阅读过 Uniswap V3 上的 LP（流动性提供） 就像出售你资产的期权一样，这就是其背后的总体思路。

好的，所以 Uni V3 听起来很棒。那为什么人们讨厌它呢？

主要问题是缺乏可组合性和流动性的积极管理。

Uni V2 的成功归功于提供流动性的简单性。池中的每个流动性头寸都是相同的，这意味着它可以用同质化代币表示，这反过来又可以轻松进行流动性挖矿。它非常适合懒惰的投资者。

然而，在 Uni V3 中，没有两个流动性头寸是相同的。因此，流动性由非同质化代币表示，而 NFT 只会让流动性挖矿变得困难。

除此之外，Uni V3 要求你不断重新调整你提供流动性的范围，以确保价格在该范围内。结果，它使许多散户对流动性提供产生了兴趣。

优点

*   资本效率 缺点
    
*   缺乏用于流动性挖矿的可组合性
    
*   需要主动管理流动性
    

### Curve V2

Curve V2 让 Curve 首次涉足广义 AMM 领域。其新版本承诺多种不相关资产的低滑点交易。

在撰写本文时，Curve V2 只有一个池 —— 三加密池（tricrypto），由 BTC、ETH 和 USDT 组成。

它的工作原理与 Curve V1 类似，但不是以 1 美元为目标，而是以使用指数移动平均线的内部价格预言机所引用的当前价格为目标。

V2 的美妙之处在于不像 Uniswap V3 那样需要手动重新平衡。相反，资金池会自动重新平衡预言机价格周围的流动性。

例如，假设有一个带有 BTC 和 USDT 的 Curve V2 矿池，当前价格为 30,000 美元。大部分流动性将集中在该价格附近，其余的则分布在更大的价格范围内。

如果价格移动到 40,000 美元，那么资金池将自动重新平衡，流动性将发生变化，因此 40,000 美元会是新的焦点。

因此，每个流动性头寸都是相同的，并且可以用同质化代币表示。流动性挖矿又回来了！

然而，并不是一些都十全十美。如果我们查看经验数据，与 Uniswap V3 上的 USDC/ETH 池相比，相对交易量非常低：

*   Tricypto 池：
    
    *   TVL = 4.8 亿美元
        
    *   每日交易量 = 1.07 亿美元
        
    *   Vol/TVL = 22%
        
*   USDC/ETH 0.05% 池：
    
    *   TVL = 3.28 亿美元
        
    *   日交易量 = 6.93 亿美元
        
    *   Vol/TVL = 211%
        

受 TVL 控制，三加密池的交易量几乎减少了 10 倍！ 我的怀疑告诉我，这里有多种原因：

*   不友好的用户体验
    
*   没有正确地作为通用 DEX 去宣传
    
*   无法容纳长尾资产（即不利于 shitcoin 交易）
    

优点：

*   同质化流动性
    
*   资本效率
    
*   单一资产质押
    
    缺点：
    
*   难以适应随机长尾资产
    

### 时间加权平均做市商 (TWAMM)

TWAMM 由 Paradigm 提出，其一般要点是随着时间的推移将大订单分解为小订单。这样做可以达成更好的价格执行，因为套利者会在每个小订单后介入以降低价格。

这基本上就是巨鲸所做的事情。当 Michael Saylor 决定购买 1 亿美元的比特币时，他会随着时间的推移购买更小的块来“TWAP”它。

下图更好地说明了这一点：

![](https://storage.googleapis.com/papyrus_images/82ea986a0f182b5a6217d6d8e13781de6f6b668e0587980ba19de69bd44c90d5.png)

然而，区块链上的所有交易都是公开的，因此即使是子订单也容易受到抢先交易的影响。例如，假设 Alice 和 Bob 都想购买 AVAX。如果 Alice 在 Bob 之前购买，那么 Bob 将获得更差的价格，因为 Alice 的购买会抬高价格。

为了解决这个问题，买入和卖出被组合在一起。

那么三明治攻击呢？从技术上讲，任何公共交易都容易受到三明治攻击，但由于 TWAMM 订单在块之间执行，这些攻击的影响被最小化。这使得三明治攻击变得非常困难，因为攻击必须能够保证它将是第一个块的最后一个交易和下一个块的第一个交易，以便执行攻击。

现在考虑这种情况：AVAX 是 100 美元，池中有 100 万个 AVAX 和 1 亿个 USDC。Alice 想要交换 1亿个 USDC，Bob 想要交换 100 万个 AVAX。

谁的订单先被执行？我们考虑以下两种情况：

Alice先交换：

*   Alice 收到 50万 AVAX
    

![](https://storage.googleapis.com/papyrus_images/7b582178c036939fd94c356983185e5fb73c09c9af650c0f8f528d80626c4685.png)

*   Bob 收到 1.33 亿 USDC
    

![](https://storage.googleapis.com/papyrus_images/2d31d59056c4e6124f9e76567895de30d9b884d3532b87c5abcbd0a5a1ec44e1.png)

*   Bob先交换：
    
*   Bob 收到 5000 万 USDC
    

![](https://storage.googleapis.com/papyrus_images/d3b7aec4c82c94cff92baebb26dfea05cc4a2060a47700a736f066da7ce962ea.png)

*   Alice 收到 133万 AVAX
    

![](https://storage.googleapis.com/papyrus_images/580e0034c8e2a3a921bb32ab5de43d4f62601daa68bb80eec022cff2e22c9752.png)

显然，第二个交换的人将获得更好的交易。

在我们的示例中，Bob 想要换取的数量 和Alice 想要换出的数量一致。为了缓解这种情况，Bob 和 Alice 只需将他们的代币发送给对方，并收到价格影响为 0% 的交换。

优点：

*   允许更大的交易并复制传统金融 缺点：
    
*   仍然容易受到三明治攻击（但很少见）
    
*   增加 gas 费用
    
*   本身并不是真正的 AMM；更多可以构建在其他 AMM 之上的层
    

### 复制做市商 (Replicating Market Makers)

复制做市商是其投资组合与目标收益相匹配的做市商。 我将使用 Primitive Finance 作为示例。在 Primitive 中，流动性提供者赚取的费用与持保看涨期权的收益相匹配。

持保看涨期权 Covered Calls

这需要先了解期权，我只会非常简要地介绍。看涨期权（call）赋予持有人权利但没有义务在到期时以设定价格购买资产，看跌期权（put）赋予持有人权利但没有义务在到期时以设定价格出售资产。

假设 2022 年 6 月 1 日的 AVAX 价格为 100 美元，而 Alice 从 Bob 那里购买了 2022 年 7 月 1 日的 110 美元看涨期权。

*   如果 AVAX 在 2022 年 7 月 1 日涨到 120 美元，Alice可以以 110 美元的价格从鲍勃那里购买 AVAX，然后以 120 美元的价格出售以获取即时利润。
    
*   如果 AVAX 在 2022 年 7 月 1 日仅上涨到 105 美元，那么 Alice 可以选择不行使她的看涨期权，她亏损期权费（option premium）。
    

在交易世界中，期权是合法执行的合同。Bob 将看涨期权卖给了 Alice，但他不必手头有 AVAX。在 AVAX 升至 120 美元的情况下，他最终会损失很多钱，因为他必须在市场上以 120 美元的价格购买 AVAX，才能以 110 美元的价格将其卖给 Alice。这称为无保护期权或裸期权。

在有持保看涨期权的情况下，Bob 必须在向 Alice 出售看涨期权之前手头有 AVAX。这相当于存入抵押品；由于我们无法在区块链上合法执行期权，因此涵盖了所有 defi 看涨期权。

那么，为什么要出售持保看涨期权呢？

假设 AVAX 为 100 美元，Bob 长期看涨，但他认为到 2022 年 7 月 1 日不会达到 150 美元。因此，他可以以 150 美元的行使价出售其 AVAX 的持保看涨期权，并且只要在 2022 年 7 月 1 日前 AVAX 低于 150 美元，然后他从期权费中获利。此外，如果 AVAX 涨到 130 美元，他仍然从 AVAX 价格上涨中获利！

他的回报如下图所示；AVAX 价格的任何上涨对他来说都是有利可图的，直到价格超过 150 美元，此时他将失去他的 AVAX。因此，行使价限制了他的盈利潜力。

![](https://storage.googleapis.com/papyrus_images/f2c98b3bec2f189d99b70fca21f9741b37b9b7b64fec4df77d47586ed483d251.png)

### 期权定价

期权在到期之前通常都比其收益更有价值

思考一下明天到期的 100 美元行使价的 AVAX 看跌期权：

*   如果当前 AVAX 的价格为 100 美元，则该看跌期权的当前收益为 0 美元
    
*   但是明天 ETH 的价格可能会下跌，在这种情况下，看跌期权在到期时的价值将超过 0 美元
    
*   因此，现在看跌期权的价值必须大于 0 美元才能解释这种可能性。
    

一种基本且广泛使用的期权定价模型是 Black-Scholes 模型。 它根据以下内容计算看涨/看跌的输入价格：

*   行使价
    
*   现货价格
    
*   波动性
    
*   到期期限
    
*   无风险利率
    

下图显示了 3000 美元行使价的 ETH 看跌期权的 Black-Scholes 价格与到期前一天各种现货 ETH 价格的收益相比。

![](https://storage.googleapis.com/papyrus_images/7477d54723414ee06d6fbddcfff77a4b67a3c8a4d30e4c65b300097c0554cfe8.png)

那么为什么定价期权呢？

*   期权本身可以交易
    
*   他们的价格是如何基于内在价值的 —— 这里不会详细介绍
    
*   买家很少看到到期的期权
    
*   永续期权 - 永不过期/永久存在的期权
    
    ### 回到 Primitive
    
    无论如何，回到Primitive。我们之前说过，这里的做市就像写一个持保看涨期权。这意味着当你提供流动性时，你还必须像输入期权一样输入到期日和行使价等参数：
    

![](https://storage.googleapis.com/papyrus_images/f8669db838d5ec19ece565402c8a93e070f97a52bac09adcb7dd929dc3357f7d.png)

*   本质上，你是在卖出流动性看涨期权，其中期权费是累积的交易费用。
    

在交易方面，要了解 Primitive 的主要内容是它不使用 x \* y = k 公式。相反，它使用基于期权定价的公式： y - KΦ(Φ−1(1 - x) - σ √τ ) = k

这个公式产生一条与 x \* y = k 非常相似的曲线：

![](https://storage.googleapis.com/papyrus_images/babd03412836b81d3ebcdebf61344515ffced9be0e9f8829b33306cb3d4075bc.png)

除了 τ是直到到期的时间外，我不会费心解释这个等式中的每一项。因为这个变量是动态的，这意味着曲线实际上会随着时间而变化。

实际上，随着时间越来越接近到期，曲线变得越来越平坦：

![](https://storage.googleapis.com/papyrus_images/2682cb2b0456fd1f86172f02d679d9529f7052a6afe2c96e2b10da1d182e548f.png)

如果时间是唯一的变量，则曲线会变平，直到可以以等于执行价格的固定价格执行交易。这本质上是像 Uniswap V3 那样集中流动性，但围绕的是执行价格。

假设你为 AVAX/USDC 池提供了流动性，行使价为 100 美元，明天到期。大部分流动性现在都会围绕在 100 美元附近。

*   如果当前价格为 90 美元，那么套利者将在其他交易所购买 AVAX，然后在 RMM 上出售。池将由AVAX 组成。
    
*   如果当前价格为 100 美元，则没有套利机会。AVAX 和 USDC 的比率是相等的。
    
*   如果当前价格为 110 美元，那么套利者将从 RMM 购买 AVAX，然后在其他交易所出售。池将由USDC 组成。
    

优点：

*   随着时间的推移可以获得集中流动性
    
*   仅当价格超过行使价时才会发生无常损失
    
*   允许你对你的流动性进行定向押注 缺点：
    
*   增加流动性非常复杂 概括 这是目前流行的第二代 AMM 的非常简短的总结。改进的主要思路是资本效率和大型交易的更好交易执行。
    

原文标题：《Part 2: A brief look into 2nd generation AMMs》 原文链接：[https://joecontent.substack.com/p/part-2-a-brief-look-into-2nd-generation](https://joecontent.substack.com/p/part-2-a-brief-look-into-2nd-generation)

---

*Originally published on [BTX ｜ Research](https://paragraph.com/@btx-research/defi-amm-2)*
