什么是流动性池以及它们如何运作?

深入了解 DEX 和 AMM 的潜在症结,称为流动性池。了解它们的工作原理,滑点和无常损失等术语以及处理它们的方法。

深入了解 DEX 和 AMM 的潜在症结,称为流动性池。了解它们的工作原理,滑点和无常损失等术语以及处理它们的方法。

What are Liquidity Pools & How do they work?
什么是流动性池?

介绍

有没有想过 Jupiter 的 UI 为什么看起来如此干净且易于使用,而 Binance 等中心化交易所或 CEX 却有那些闪光的书?嗯,这是由于所谓的流动性池,它为您的去中心化交易所或 DEX 提供动力。

Okotoki上 BTC-USDT 的汇总订单簿

在这篇博客中,我们将介绍为您最喜欢的 DEX 提供动力的底层机制,包括 GooseFX 以及您应该警惕的一些因素,即无常损失。

让我们开始吧!

自动做市商 (AMM)

首先,为什么 DEX 没有那些同样华而不实的书?嗯,因为 CEX 在基于 CLOB 的模型或基于中央限价订单簿的模型上运行,而 DEX 通常在自动做市商或基于 AMM 的模型上运行。让我们剖析一下这些术语。

做市商或 MM 是通过在账簿中放置流动性来帮助用户轻松交易来创建市场的实体。他们如何做到这一点是下限价单,你在那些华而不实的书中看到,以帮助你以最佳市场价格进行交易。

做市商如何受益?好吧,给你最好的价格可以帮助他们赚取费用回扣,这也是你在 GooseFX 👀 上得到的,除了从点差中赚取几分,即他们不断做的买卖价格差异。

Order books for BTC-USDT across different exchanges. Source: OkotokiBTC-USDT在不同交易所的订单簿。来源:Okotoki
不仅要赚取费用回扣,还要获得各种交易永续奖励,请前往 GooseFX!

虽然这在 CEX 上是可行的,但由于交易费用和速度的原因,在 DEX 上并不真正可行。每次价格变动时,MM 都必须取消他们的订单并重新输入它们。因为他们的理想目标是只从价差中获利,而不采取任何额外的净多头或空头头寸。

现在,想象一下每秒执行此操作,可能超过 50 个订单。如果您使用 ETH,不仅会花费巨额费用,而且由于签署每笔交易然后等待验证以及所有其他事情,重新进入也将是一个问题。

因此,Vitalik Buterin 提出了 AMM 或自动做市商的想法。AMM 以不同的模式运行,利用称为流动性池的东西。

请注意,虽然通常 DEX 是基于 AMM 的,但也有基于 CLOB 的 DEX,例如 Solana 上的 Phoenix Trade

流动资金池

顾名思义,流动性池是 - 嗯,主要是两种资产的流动性池。这些资金池由数学模型指导,这些数学模型确定了这些资产在资金池中的比例,从而在给定资金池中相对于其他资产的供应量的情况下改变了资产的价格。

这些流动性池的运作方式是,最初这些池子是由任何想存入其中的人填充的。他们被称为流动性提供者或 LP。然后,用户能够与这个流动性池进行交易,这类似于用户在订单簿上与 MM 进行交易的方式,因此称为自动做市商或 AMM

让我们举一个著名的方程式的例子,该方程式指导 Uniswap 上的流动性池,称为恒定产品做市商或 CPMM 模型。本例中的公式为 x * y = k,其中 x 和 y 是每种资产的代币数量

我们在另一篇博客中介绍了所有这些不同类型的 AMM 模型,您绝对应该看看!

假设我们在一个流动性池中有 10 SOL and 10000 USDC,导致 SOL 的初始价格为 10000/10 = 1000 USDC。此外,根据上述等式 10 * 10000 = k。

经过几笔交易后,我们假设 USDC 余额变为 8000 USDC。因此,SOL 余额将变为 10*10000/8000 = 12.5 SOL,导致新价格为 8000/12.5 = 640 USDC

这就是流动性池的管理方式,从而改变了资产相对于池中其他资产的价格。有人可能会说,这是一场基本补给的游戏!

但是,需要注意的是,流动性池越大,用户进行交易就越好。为什么?因为滑点

滑点

滑点是指用户购买或出售代币时的价格影响。相对于池中的代币总量而言,较大的交易会显着影响价格,导致损失,使其资本效率非常低下。

正如您在上面的例子中看到的,由于我正在出售我的 SOL,请注意 SOL 的增加和 USDC 的减少,这意味着我卖出了 SOL 而不是买入它,我卖出了 2.5 SOL 并得到了 2000 USDC,而根据 1000 USDC 的初始价格,我应该得到 2.5 * 1000 = 2500 USDC,导致我损失了 500 USDC。这种损失被称为滑点。

通过 Jupiter 的滑点。窥视最小接收量与您的 SOL 当前值的差异。

如上所述,滑点的发生要么是由于这些池中的流动性低,要么是相对于池中的代币总量进行大额交易,因此尽可能拥有更高的流动性对于实现最佳交换至关重要。

好吧,既然用户获得了所产生的费用的一部分,那么他们就有动力在这些池子里汇集大量资金来赚取收益,对吧?这是正确的,但在提供流动性方面,LP应该有所不同,这被称为无常损失

无常损失 (IL)

无常损失或 IL 是指在流动性池中持有的代币价值与在您的钱包中持有的代币价值的差异。为了理解,让我们继续进行上述示例,并进行一些修改。

假设池中的初始流动性为 10 SOL and 10000 USDC,用户想要将 SOL 和 USDC 添加到其中。由于这些流动性池通常是 50/50 的权重,即您必须将等量的 SOL 和 USDC 放入美元价值中,因此,如果该用户想将 5 SOL 添加到其中,他也必须添加 5000 USDC。因此,他以美元投入的总金额为 5*1000 + 5000 = 10000 USD。假设他这样做,池中的最终流动性为 15 SOL and 15000 USDC。因此,用户在池中拥有相当于 33% 的资产。

经过几次交易后,假设有 18000 USDC,因此根据 x * y = k 方程,剩下的总 SOL 为 15*15000/18000 = 12.5 SOL。这也意味着 1 SOL 的价格现在是 18000/12.5 = 1440 USDC。现在,如果用户提取他的池份额,即 1/3,他将拥有 4.167 SOL 和 6000 USDC 以及他赚取的一些费用,我们将为这个例子留出这些费用。

现在,如果我们找到用户最终持有的美元价值,它将是 4.167 *1440 + 6000 = 12000 USD,这比 10000 USDC 的初始值有所增加,所以所有快乐的日子对吧?嗯,不是真的。

如果用户持有其初始 5 SOL 和 5000 USDC,则按当前价格计算,每个 SOL 的总数为 5*1440 + 5000 = 12200 USDC。因此,用户只需持有 200 USDC 代币即可跑赢收益。虽然这种影响在这里似乎不那么明显,但想象一下在 1000 笔交易和大量价格波动后会发生什么?没错,无常损失

IL通常被称为任何流动性提供者的最大敌人

虽然对于任何 AMM 来说,这仍然是一个反复出现的问题,但已经有更新的 AMM 模型在第一个版本的基础上进行了改进,以帮助减少无常损失和滑点,从而使您的资本更有效率。我们在另一篇博客中介绍了这些不同类型的 AMM

有什么方法可以去除 IL?

好吧,从技术上讲,它不可能删除它。但是,有一些方法可以减少 IL。

最简单的方法是专门用稳定币提供流动性,因为无常损失源于价格波动。您也可以考虑使用价格相对稳定或波动较小的硬币(例如BTC或ETH)等市值较大的资产来提供流动性,尽管这可能会导致较低的收益率。最后一种方法涉及利用非常高的 APY 池,以便从流动性提供中赚取费用可以潜在地减轻这些损失。

那么,如果这是一个如此持久的问题,那么为什么人们仍然在 DEX 上交易,即使在 Solana 上呢?好吧,DEX 与 CEX 或基于 CLOB 的交易所相比具有一定的优势。

首先,他们能够抵抗市场操纵,而市场操纵可以通过设置巨额限价单来使市场朝着对他们有利的方向发展,从而在订单簿上轻松完成。这被称为欺骗某些东西,这在传统市场上是非法的

其次,即使资产流动性低,DEX 也可以促进当前市场价格的交易,这在 CEX 上是不可能的,因为 CEX 的低流动性通常会导致更大的点差。但是,在 DEX 上交易时,用户必须警惕上述滑点。

结束语

因此,在这篇博客中,我们深入研究了 DEX 或 AMM 的根本症结——流动性池。我们还了解到,虽然它们对 DEX 的运作方式至关重要,但还有其他方法可以为交易所提供动力,即基于 CLOB 的模型。我们还了解了 AMM 的重要问题,即滑点和 IL 或无常损失,以及 AMM 如何在几个方面优于基于 CLOB 的交易所。

💡
原文链接:GooseAcademy
本文由SlerfTools翻译,转载请注明出处。

SlerfTools专为Solana设计的工具箱,致力于简化区块链操作,提供无编程全可视化界面,使发币管理流动性无代码创建Dapp等复杂过程变得安全简单。