View Categories

什么是LP?创建流动性池后如何计算LP数量?

用户添加流动性后,获得的LP代币数量计算方式并不是单一的,它取决于具体的协议和添加流动性时的状况。下面PandaTool将分情况详细解释 LP 代币数量的计算逻辑。

首先,理解LP代币的本质至关重要:

  • 权益证明:LP代币代表你在流动性池中的份额所有权。它就像一个股权证书,证明你在这个“资金池公司”里投了多少钱。

  • 不是固定数量:你得到的LP数量不是简单由你投入的资产量决定的,而是由你的投入占池子总资产的比例决定的。

什么是LP?创建流动性池后如何计算LP数量?

情况一:你是第一个流动性提供者(初始化池子) #

当你是第一个为交易对(例如 ETH/USDC)创建池子的人时,协议需要设定一个初始的“锚定比例”。这时,LP数量的计算规则非常简单:

你获得的LP数量 = 你投入的两种代币数量的几何平均数

公式为:
LP_Received = √(x * y)

  • x:你投入的第一种资产的数量(例如,10个 ETH)。

  • y:你投入的第二种资产的数量(例如,20,000个 USDC)。

  • LP_Received:你将获得的LP代币数量。

举个例子:
假设你为 ETH/USDC 池子第一个添加流动性,投入 x = 10 ETH 和 y = 20,000 USDC
那么你获得的LP数量 = √(10 * 20,000) = √(200,000) ≈ 447.21 个LP代币。

为什么这么做?
因为此时池子里100%的资产都是你的,这447.21个LP代币就代表了100%的池子所有权。它也为后续的流动性提供者设定了一个价格基准:1 ETH = 20,000 / 10 = 2,000 USDC

情况二:你不是第一个提供者(向已存在的池子添加流动性) #

这是最常见的情况。此时,LP数量的计算基于你的贡献比例

核心公式:
你的LP数量 = (你提供的资产x / 池中资产x总量) * 当前LP总供应量

但为了确保添加的流动性不会“稀释”现有LP的价值,并且符合池子的当前比例,协议通常会要求你按照当前池中资产的比例来投入两种资产。

计算步骤如下:

  1. 获取池子当前状态

    • 池中资产X的总量:x_pool

    • 池中资产Y的总量:y_pool

    • 当前LP代币的总供应量:total_supply

  2. 确定你应该投入的资产数量
    假设你只想投入一定数量的资产X(例如 ETH),那么根据恒定乘积公式 x * y = k,你需要投入的资产Y(USDC)数量为:
    y_deposit = (y_pool / x_pool) * x_deposit
    这样你投入的两种资产的价值就是相等的。

  3. 计算你应得的LP数量
    协议会根据你投入的资产占池子原有资产的比例,来铸造新的LP代币给你。比例是相同的,所以用哪个资产计算都可以(理论上结果应一致)。
    LP_Received = (x_deposit / x_pool) * total_supply
    或者
    LP_Received = (y_deposit / y_pool) * total_supply

举个例子:

  • 池子现状:一个ETH/USDC池子,里面有 x_pool = 100 ETH 和 y_pool = 200,000 USDC。当前LP总供应量 total_supply = 1,000 个。

  • 当前价格1 ETH = 2,000 USDC

  • 你的操作:你想投入 x_deposit = 5 ETH

首先,计算你需要投入的USDC数量:
y_deposit = (200,000 / 100) * 5 = 10,000 USDC
所以,你需要投入 5 ETH 和 10,000 USDC。

然后,计算你能获得的LP数量:
LP_Received = (5 / 100) * 1,000 = 50 个LP代币。
或者 LP_Received = (10,000 / 200,000) * 1,000 = 50 个LP代币。

结果解读

  • 你投入了池子5%的资产(5/100的ETH,10,000/200,000的USDC)。

  • 因此,你获得了5%的LP总供应量(50 / (1000 + 50) ≈ 4.76%,注意总供应量变为了1050,所以你的份额是50/1050≈4.76%)。

  • 这确保了你的份额与你的贡献完全成比例。

特殊情况与注意事项 #

  1. 比例不匹配:如果你投入的两种资产比例与池子当前比例不匹配,协议通常会把你“多余”的那部分资产自动转换成另一种资产,以使比例匹配,但这会产生滑点和手续费。大多数前端界面会直接帮你计算好需要投入的精确数量,并阻止你进行不匹配的添加。

  2. 手续费的影响:交易产生的手续费会留在池子里,增加了池中资产的总价值。这意味着,即使价格没变,每个LP代币背后代表的资产也变多了(即LP代币本身增值了)。当你赎回时,你能取出的资产会比当初投入的要多。这部分增值在计算LP数量时不会立即体现为更多的LP代币,而是体现在你赎回时,每个LP代币能换回的资产变多了。

  3. 不同协议的细微差别:虽然核心逻辑相同,但Uniswap V2/V3、Balancer、Curve等不同协议在具体实现上可能会有细微差别。例如,Uniswap V3的集中流动性使得LP不再是同质化的,计算更为复杂。

总结 #

情况 计算方法 核心思想
第一个LP LP数量 = √(投入资产1 * 投入资产2) 设定初始价格和100%的所有权。
后续LP LP数量 = (你投入的资产量 / 池中该资产总量) * 当前LP总供应量 按资产比例分配池子份额。

 

简单来说,LP代币就是你在这个共享资金池中的“股份”。你投入的资金占总资金的比例,决定了你能拿到总“股份”中的多少份。当你移除流动性时,你也是根据你持有的LP数量占总量的比例,来赎回池中对应比例的两种资产。

本文由Panda Academy原创,转账请注明出处。Panda Academy是PandaTool旗下的Web3教育平台,旨在提供一站式的Web3教育。

SHARE
TOP