在加密货币和金融市场中,流动性是资产能够快速高效转换为现金的关键要素。缺乏流动性的资产往往需要较长时间才能变现。流动性池作为去中心化金融(DeFi)协议的核心组成部分,不仅支撑着复杂协议的正常运行,还使加密投资者能够通过提供数字资产赚取收益。目前,锁定在流动性池中的总价值估计超过300亿美元。
本文将深入探讨流动性池的运作原理及其底层算法——自动化做市商(AMM),这一重要组件实现了数字资产的自动化交易。
传统订单簿模式的局限性
传统交易通常采用订单簿模式,股票市场便是典型例子。
订单簿模式如何运作?
订单簿模式中,所有买家和卖家列出他们的订单,包括希望买入或卖出的股票数量及价格。买家希望价格尽可能低,卖家则希望价格尽可能高。当买卖双方数量不平衡时,价格会相应波动:买家多于卖家时价格上涨,反之则下跌。只有当买卖双方在某价格达成一致时,交易才会发生,买家获得股票,卖家获得现金。
然而,订单簿模式存在明显缺陷。作为买家或卖家,您必须等待愿意以您设定价格交易的对手方。如果价格设定过高或过低,可能需要等待数周甚至数月才能达成交易。
尽管订单簿在金融领域具有基础地位,并在某些应用场景中表现良好,但其在去中心化环境中暴露出显著局限性。订单簿需要中介基础设施来托管订单和匹配交易,这增加了控制点和复杂性。对于任何人都可以创建自己的代币且这些代币通常流动性较低的生态系统来说,这种系统效率低下。
流动性池的基本概念
流动性池通过算法运行,使我们能够无论价格高低、时间早晚,无需担心找不到交易对手,即可买卖资产。
什么是流动性池?
简单来说,流动性池是由多个流动性提供者汇集其资产创建的代币和数字资产的集合。它也是一个促进该交易对交易的场所。实际上,流动性池只是一个智能合约,能够持有加密货币存款,进行复杂计算,并相应地返还代币给用户。
流动性池的运作机制
将代币存入池中的人称为流动性提供者。当代币存入池中时,会铸造(创建)独特的流动性提供者代币(LPT)并发送到提供者的地址。这些代币代表了存款人在池中的贡献。
要取回存入的加密代币,流动性提供者必须用其LPT兑换其在流动性池中的份额,加上通过交易费用分配获得的收益。
在最基本的层面上,流动性池持有两种代币,并为该代币对创建新市场。池中保持资产比例严格为50:50。常见的顶级代币对包括USDC/ETH、DAI/USDC、ETH/USDT和DAI/ETH。
流动性池的创建过程
当创建一个新池时,每种代币的余额均为0。您需要存入等值(即50:50比例)的两种代币,称为代币对。第一个存入每种代币初始存款的人是首批流动性提供者,并设定池的初始价格。
假设您想创建一个包含DAI/ETH对的交易池,并拥有1000美元。您需要存入价值500美元的DAI和价值500美元的ETH。让我们详细看看这个过程。
自动化做市商(AMM)的核心作用
在流动性池中,当代币交换发生时,会导致价格调整。该价格由定价算法设定,该算法根据池的交易活动持续调整。大多数去中心化交易所(DEX)使用确定性定价算法,也称为自动化做市商(AMM)。大多数AMM采用恒定乘积做市商模型。
恒定乘积做市商原理
基本流动性池使用恒定乘积做市商算法。它确保两种供应代币数量的乘积始终保持不变。
假设我们有一个包含两种代币对的流动性池:Kitty币(KTY)/Puppy币(PPY)。首批流动性提供者提供价值5000美元的KTY代币和价值5000美元的PPY代币。
用户带来价值500美元的PPY代币,想兑换KTY代币。那么,我们应该给他多少KTY代币?(提示:使用公式X * Y = k)
让我们计算应该给用户多少KTY代币:
X = 5000 KTY代币(初始在池中)
Y = 5000 PPY代币(初始在池中)
k = 25,000,000(即5000 x 5000,代币总数量)
当用户带来500 PPY代币到池中时,我们有:
X = 5000 KTY代币
Y = 5500 PPY代币
k = 25,000,000(常数)
我们方程的平衡被打破。为维持总流动性25,000,000,我们需要将额外的KTY代币给用户。
25,000,000 / 5500 = 4545
为维持方程,我们池中只需要4545 KTY代币。我们将差额给用户。
因此,对于500 PPY代币,我们的用户拿回455 KTY代币(5000 - 4545)。
为什么我们给出了500 PPY代币,却只拿回了455 KTY代币?随着对KTY代币需求增加,它们变得更昂贵。
代币价格的计算
假设每个代币最初价值1美元。因此,我们池中最初有价值5000美元的KTY代币和价值5000美元的PPY代币。
现在,计算用户用500 PPY代币兑换455 KTY代币后每个代币的当前价值。我们如何获得当前价格?(提示:再次使用相同公式)
k = 5000美元(保持其初始价值作为常数)
PPY代币 = 0.90美元(5000/5500)
KTY代币 = 1.10美元(5000/4545)
随着对KTY的需求增加,其价值上升。随着PPY代币在池中供应增加,其价值下降。
如前所述,我们的算法始终希望其持有的代币价值为50:50,即代币的当前价格乘以当前数量等于代币的初始流动性。
在交换和交易过程中,每个KTY代币的价格会变化,其在池中的数量也会变化,但总价值始终为价值5000美元的KTY代币和价值5000美元的PPY代币。
流动性池规模的重要性
当池规模较小时,单个交易者能够显著影响价格。随着池规模增长,单个大额交易对价格变化的影响减小,使其更稳定。因此,池越大越好。
您可以将流动性提供者视为池的投资者。当有两个流动性提供者时,他们各拥有池的50%,总奖励(流动性提供者费用)将平均分配给他们。
如果在一个价值5000美元资产的池中总共有5个流动性提供者,您每人贡献1000美元,您将拥有池的20%,并获得20%的总奖励分配。
随着越来越多人加入池,比例相应变化,计算变得更加复杂。
交易费用分配机制
每当交易发生时,会向交易发送方收取费用,该费用在交易完成后按比例分配给池中的所有流动性提供者,作为提供流动性的奖励。
不同去中心化交易所的流动性提供者费用各不相同,但通常保持在较低水平以吸引用户。
常见问题
什么是流动性池?
流动性池是由多个用户存入代币形成的资金池,用于支持去中心化交易所中的代币交易。它通过智能合约自动管理资产流动性和价格发现。
自动化做市商(AMM)如何工作?
AMM使用数学公式(如恒定乘积公式)自动设定资产价格。当交易发生时,算法会根据池中资产比例调整价格,无需传统订单簿匹配买卖双方。
提供流动性有哪些风险?
主要风险包括智能合约漏洞和临时损失。临时损失是指由于池中资产价格波动导致的暂时性资本损失,当代币价格剧烈波动时尤其明显。👉 深入了解风险管理策略
如何成为流动性提供者?
首先选择支持流动性挖矿的交易平台,然后选择代币对并存入等值的两种资产。完成后,您将获得LP代币作为凭证,并可分享该池的交易费用收益。
流动性池的大小为什么重要?
更大的流动性池能提供更好的价格稳定性,减少大额交易对市场价格的影响。这意味着交易者能够以更接近市场价的价格执行大额订单,滑点更低。
临时损失是什么?
临时损失是流动性提供者可能面临的现象,当池中代币价格比率发生变化时,相比简单持有代币,提供流动性可能带来暂时性的价值损失。不过,通过交易费用收益,长期可能抵消这部分损失。
结语
与任何其他投资一样,流动性池也有相关风险——智能合约漏洞和临时损失是主要风险,我们将在后续文章中详细讨论。
大多数DeFi项目在其协议中使用流动性池,但每个项目都有自己独特的创意和复杂性。我们将在未来的文章中探索这些项目及更多内容。