什么是 AMM?

新手11/21/2022, 9:49:21 AM
自动做市商(AMM)是基于智能合约的一种报价算法协议,允许任何人将加密货币存入流动池来创建市场并进行交易。

前言

自动做市商(Automated Market Maker,简称 AMM)是区块链领域的一大创新,它依靠自动执行的智能合约程序与算法来决定资产价格,除了大幅度地提升交易市场的流动性外,也开辟了全新的收益途径,并移除传统中心化交易所的信任与审查风险,使人们得以快速方便地进行价值交换,是推动加密货币市场的去中心化金融(Decentralized Finance,简称 DeFi)蓬勃发展的原动力,也成为当今多样化的衍生金融商品代币与收益耕作(Yield Farming)策略等的根基。

目前的去中心化交易所(Decentralized Exchange,简称 DEX)中,一般采用的都是自动做市商模式,交易者通过智能合约直接与流动性资金池进行代币买卖交易,成交的价格则是依据智能合约预先编程的数学公式自动化计算得出,与传统交易所需要等待与买家价格匹配的卖家出现才能实现交易的订单簿模式完全不同。

去中心化交易所通常也都鼓励用户充值资产至流动性池中,这些充值资产的用户会成为该交易对市场的流动性提供者,能够收取一定比例的手续费获得被动收入。任何人都可以成为使用流动池的交易者或充值资产的流动性提供者,因此 AMM 的出现为加密货币交易市场提供了大量流动性,并且显著提高了区块链上的交易效率。

在了解自动化做市商(AMM)之前先认识“做市商”

什么是做市商呢?一般来说在金融市场中有几种不同的参与者,分别是投资者 (Investor)、投机者(speculator / position trader 头寸交易者)、对冲者(hedger)和做市商(scalper / market maker)。投资者看好产业与购入标的物的升值空间,长期买入持有;投机者留意市场信息情报,寻找价格趋势做多做空交易;对冲者通常经营实体生产,不愿承担价格波动对冲风险;做市商则提供市场流动性,不断地与市场上的交易者快速反复交易来赚取价差(Spread)。

做市商是如何为市场提供流动性和赚取获利的呢?其实就是通过大量的交易买卖与订单簿挂单。作市商的目标很简单,有人想买,那就卖给对方;有人想卖,那就从对方手中买过来。每一次与做市商进行买卖交易的对象或许都不是同一人,但只要一买一卖之间有价格差异并且是买低卖高,做市商就能通过这种方式获取利润。

由于做市商需要不断为市场提供流动性,因此仅限于拥有庞大资金的个人或公司,为了保证交易速度,做市商在设备与技术方面也都有相当高的要求。虽然就名义上来说,任何一个交易者只要在市场上进行挂单,就是在为市场提供流动性而成为某种程度的做市商,然而要能频繁地挂单买卖提供流动性且持续获利,并不是普通人能做到的事情。

做市商的存在对于交易市场的运作非常重要,它们确保了任何人都能快速顺利地买入或卖出资产,而无须经历漫长时间的等待才有机会成交。如果没有做市商的协助,买方往往不愿意承担价格下跌的风险会挂很低的买单,卖方则不愿意付出价格上涨的风险而挂很高的卖单,交易成本将变得昂贵且资产流动性非常差。有些交易所为了鼓励做市商加入,也会提供减免手续费的优惠或是额外的佣金鼓励,使交易市场变得更为热络和效率更高。

什么是自动做市商(AMM)?

在去中心化金融发展的早期,许多去中心化交易所(例如 EtherDelta)也曾试图在区块链上以订单簿模式经营交易市场,然而它们很快就遇到了问题。首先是扩容性的限制,如以太坊网络最初的设计每秒钟仅能处理 12 ~ 15 笔交易,每个区块的生成时间大约在 10 ~ 19 秒,这种处理速度无法支持做市商要求的高速及频繁交易。另一方面区块链网络的使用成本也是一项考量,任何挂单与撤单即便没有成交,通通都要支付 Gas 费用,这使得挂单造市商无法灵活地撤单或是补单。

鉴于订单簿模式会导致较高的交易成本、昂贵的 Gas 费用、缓慢的交易速度和缺乏流动性等诸多问题,基于智能合约代码,无须从外部下达指令就能追踪市场价格,从而自动地进行买入买出,并提升资产流动性的自动做市商程序开发,成为了各去中心化交易所的当务之急。 AMM 的概念最早是于 2017 年由以太坊创办人Vitalik Buterin 提出的,随后其他知名的去中心化交易所如 Uniswap、SushiSwap、Balancer、Curve 等也进一步对 AMM 算法进行研究开发,成为如今我们所见的不同样貌。

与传统的做市商相比,自动做市商是一项相对较新的技术。它基于智能合约成立不同的流动池和交易市场,根据流动池中不同资产的相对比例自动调节价格。就以太坊上的 Uniswap 为例,交易者并不使用传统的订单簿进行挂单买卖,而是直接在流动性池中交换代币。如果您想用 ETH 换取 USDT,您只需要找到一个 ETH/USDT 的流动池后,将 ETH 投入即可取出 USDT。您购买或是出售的价格系由 AMM 协议中的数学公式决定,交易过程中仅需支付手续费(一般为 0.3%)和区块链网络的 Gas 费用。

流动性提供者( LP )在 AMM 中的作用

使用自动做市商协议的去中心化交易所中,并没有财力雄厚的机构担任做市商,取而代之的是持有资产的所有用户共同建立交易市场。当人们持有的资产价格升值,或是发现其他更具成长潜力的资产时,会有诱因将手中的资产拿去市场上兑换,去中心化交易所设置了称为流动池的智能合约,让愿意提供资产的用户进行质押,使用户成为交易市场上流动性提供者(Liquidity Provider,简称 LP)。

在去中心化交易所中,有些用户会提供资产 A、有些用户提供资产 B、还有其他用户提供资产 C、或是同时提供多种不同的资产等。大量用户提供许多不同种类的资产就形成了交易市场,而 AMM 协议中的算法会依不同资产间的供需关系计算出相对价格。这使得在流动池中质押资产的所有用户集体成为了做市商,为不同资产之间提供了相互兑换的流动性。

作为流动性提供者的回报,他们可以向使用流动性池交易的用户收取一定比例的手续费。而去中心化交易所为了激励用户对流动性池提供流动性,除了交易手续费外也可能分发协议的治理代币。因此 AMM 中的流动性提供者都是某项资产交易对市场的做市商,去中心化交易所协议利用智能合约全天候地自动计算价格,并提供用户交易兑换,或是赚取收益的途径。

自动做市商(AMM)价格运行机制

在 AMM 中,您想要购买或出售的资产价格是由数学公式决定的,用户没有办法指定要在什么价格买入或卖出。流动池会提供一个报价,用户只能决定是否要以这个价格进行交易,因为智能合约会使用预先编程的数学公式,自动地根据流动池中不同资产的供应量来调整价格,并确保流动池中的两资产的比率保持一定的平衡。

自动做市商使用的报价演算法有非常多种,不同的去中心化交易所之间可能都存在着些微差异,但大体而言可以归类为以下较为常见的四种模型:

  1. 恒定乘积做市商( Constant Product Market Maker,简称 CPMM)

  2. 恒定总和做市商(Constant Sum Market Maker,简称 CSMM )

  3. 恒定平均值做市商(Constant Mean Market Maker,简称 CMMM )

  4. 混合常数函数做市商( Constant Function Market Makers,简称 CFMM )

我们以最常见的 CPMM 恒定乘积做市商为例,在这个模型中,流动池内两种资产 X 与 Y 的数量乘积为一固定值,因此 CPMM(Constant Product Market Maker)的数学公式可以写成

X * Y = K

图片:一种典型的自动做市商算法

以 Uniswap 作为范例,在使用 X * Y = K 算法进行报价的流动池中,X 指的是流动性池中一种代币的数量,Y 则是另一种代币的数量,而 K 是一个固定常数。由于 X 与 Y 的乘积始终等于相同的数值,当流动池中代币 X 的供应量增加时,Y 的代币供应量就会相对减少,以保持 K 固定常数不变,反之亦然。

比如,当交易者在 Uniswap 上利用 ETH/USDT 流动池购买 ETH 时,他们需将 USDT 添加到池子后才能从池子中取走 ETH。这将导致流动池中的 ETH 数量下降,而 USDT 数量增加,以实现 X * Y = K 的平衡效果,并促使 ETH 相对于 USDT 的汇率上涨。相反地,如果有更多的 ETH 被添加到流动池中时, ETH 数量会增加,而 USDT 数量减少,这导致了 ETH 的价格下跌。

为了更好地理解这个数学公式在实际状况是如何运作,我们再举另一个简化的例子说明:

假如在 AMM 交易所中有一个包含 100,000 颗橘子和 100,000 颗苹果的流动池。我们假设 X 代表橘子的数量,而 Y 则代表苹果的数量,根据 X * Y = K 的公式,可以计算出 K 值会等于

100,000 * 100,000 = 10,000,000,000

假设一位栽种橘子的农夫生产了 4,000 颗橘子,如果他想将这 4000 颗橘子换成苹果,他可以将这 4000 颗橘子存入流动池进行兑换。现在这个流动池中有了 104,000 颗橘子,流动池需要拿出多少颗苹果给橘子农夫呢?

104,000 颗橘子 * Y 颗苹果 = 10,000,000,000

Y = 10,000,000,000 / 104,000 = 96153.8

由于流动池中仅需要 96153.8 颗苹果就能维持 X * Y = K 的平衡,因此流动池会将原始的苹果数量 100,000 扣除掉 96,154 后,将剩下的 3,846 颗苹果从池子中拿出交给橘子农夫。

经过了这一次的交易,我们要如何计算市场上橘子跟苹果的价格呢?假如流动池一开始总共有 100,000 颗橘子和 100,000 颗苹果的时候,市场上每颗橘子和苹果的单价相同都是 1 美元。

由于橘子农夫的交易,使得流动池中两种水果的数量发生了变化,现在总共有 104,000 颗橘子和 96,154 颗苹果,橘子和苹果的价格也因为这笔交易而改变

苹果的单价 = 100,000/96,154 = 1.04 美元

橘子的单价 = 100,000/104,000 = 0.96 美元

在以上例子中,我们可以看出自动做市商的运作方式。当池中的橘子数量增加时,苹果的数量就会减少,因此苹果相对于橘子而言会变得更为稀有而价格上升。由此可知,流动池中只要任何一种资产的数量变多,它的价格就会下跌。

AMM 价格如何与外部市场价格一致?

可能会有人感到好奇,万一流动池的价格和外面市场不一样会发生什么事?听起来流动池就好像一个与世隔绝的化外之地,要如何确保流动池的价格不会与真实交易市场脱钩呢?

实际上流动池中的资产确实是使用自己的一套规则来决定价格,然而流动性的提供者并没有与外界市场独立,当人们发现流动池中的价格与外部市场有差异时,会产生套利空间让他们从流动池中兑换资产而获利。

比如,如果流动池中资产 A 的价格相对于外部市场更廉价时,套利者能以较低的价格购买流动池中的资产 A,并在外部交易市场以较高的价格抛资产 A 赚取差价。相反地,若流动池中资产 A 的价格相对于外部市场更昂贵时,套利者能从外部交易市场以较低的价格购买资产 A,并在流动池中以较高的价格抛资产 A 赚取差价。

通过市场上许多套利者赚取差价的行为,AMM 的算法能确保流动池中的资产价格将会逐渐恢复平衡,与外部市场价格趋向一致。

流动性提供者代币(LP Token)

在去中心化交易所中,流动性提供者可以获得 LP 代币,或称为流动性提供者代币(Liquidity Pool Token,简称 LP Token)。 LP 代币表示流动性提供者对于整个流动池的个人贡献资产量份额,持有 LP 代币的人可以从流动池中赎回资产,因此 LP 代币也是一种为流动池提供流动性的证明。

在以太坊上,LP 代币是一种 ERC-20 代币,它们可以被转移、出售,甚至是可以再存入另一个流动池中,来赚取更多收益。每当有用户与流动池进行交易时,LP 代币的持有者就可以依据其流动池中的占比收取相应的交易手续费用,获得的手续费总额则与 LP 代币的持有者在流动池中的贡献份额成正比。

比如,假设您向 ETH/DAI 流动池提供了价值 100 美元的 ETH 和 100 美元的 DAI (总计 200 美元),而流动池中的总资产价值为 20,000 美元,则您在流动池中的份额为 1%。如果当天 ETH/DAI 的流动池从交易中收取了价值 100 美元的手续费,您将会分得其中的 1%,也就是价值 1 美元的交易手续费。

另外,流动性提供者也可以质押 LP 代币以赚取更多回报,质押代币意味着将它们锁定在智能合约中一段时间,以获得协议的额外奖励。流动性提供者还能将 LP 代币存入不同的 AMM 协议流动池中以赚取更多的收益,通过将多种代币移入或移出不同的 DeFi 协议,可以提升用户的资金使用率让利润最大化。这类型向流动池提供流动性,利用闲置资产获得被动收入的方法,又称为流动性挖矿或是收益耕作(Yield Farming)。

什么是无常损失?

虽然成为流动性提供者可以赚取交易费用以及平台代币,但存入加密货币还是存在风险,其中一种风险称为无常损失。当您在流动池中的资产价格与您最初存入时的资产价格出现差异时,无论是上涨还是下跌,作为流动性的提供者都会承担无常损失。

图片:无常损失函数

之所以会称为无常损失,是因为这种损失为暂时性的,会随着资产价格的波动而改变。唯有当用户从流动池中赎回资产时,这种暂时性损失才会兑现而成为永久性损失。也就是说,只要资产还在流动池中,无常损失就只是帐面上的亏损。资产价格越接近存入流动池时的初始价格,无常损失的比例就越小。

为什么流动性的提供者,不管价格涨跌都要面对无常损失呢?这是因为当资产价格出现变化时,流动性的提供者就是在扮演交易市场上的做市商,会卖掉一部分持有的资产,而买入其他用户抛售的资产。

以资产 A 与资产 B 交易对的流动池为例,当资产 A 的价格上涨时,会造成流动池中的资产 B 数量增加和资产 A 数量减少,这等同于流动性提供者在减仓价值上升的资产 A,并加仓价值下降的资产 B,此时流动性提供者在承担的就是资产 A 价值继续上涨的机会成本(风险)。

相反地,当资产 B 的价格上涨时,会造成流动池中的资产 A 数量增加和资产 B 数量减少,这等同于流动性提供者在减仓价值上升的资产 B,并加仓价值下降的资产 A,此时流动性提供者在承担的就是资产 B 价值继续上涨的机会成本(风险)。

由以上范例可知,无论价格朝哪一个方向波动,流动性提供者都承担了资产转换的风险,以换取获得交易手续费的报酬。价格的上涨或下跌幅度越大,承担的风险就越高,无常损失的比例也会增加。然而只要资金池中的两种代币之间涨跌幅差异不大,一般而言流动性提供者赚取的交易手续费或协议额外奖励收益能够完全覆盖无常损失的机会成本。

AMM 的优点与缺点

随着去中心化金融的发展和普及,人们对于自动做市商的原理和应用已有更深入的了解,而越来越多关于 AMM 的优点及缺点也正在浮现。

优点:

  1. 与传统交易所的限价订单簿模型相比,AMM 减少了交易市场上的买卖价差(Bid-Ask Spread)并开创用户新的收益管道,有效改善整体加密货币市场的流动性。

  2. 资产兑换方便迅速,去中心化交易所的用户不需经过账户验证或 KYC,任何拥有加密钱包的人都可以利用 AMM 协议进行交易。

  3. AMM 也为许多小市值的加密货币市场带来流动性,这些加密货币的发行方无须在传统中心化交易所付出高额的上架费,也能在区块链网络上实现代币的流通与买卖。

缺点:

  1. AMM 在处理大额订单时的表现远不及传统的订单簿交易市场。在订单簿交易市场中,用户可以设定一个价格挂单等待大量的买入或卖出。然而在 AMM 的状况是,每一单位的买入或卖出都会影响流动池中的资产比例使价格发生变化,大额的买入会变成越买越贵,大额的卖出则是越卖越便宜。这个现象称作价格滑点(Slippage),在深度较浅的流动池中越是明显。

  2. AMM 流动池的资本效率低下,因为大多数交易都发生在狭窄的价格范围内,这也表示流动池中大部分的资金其实是处在闲置状态,只为了在市场发生极端波动时能够继续提供流动性。

  3. 流动性提供者会面临一些其他风险,如先前所述的无常损失,或是智能合约代码漏洞和黑客的攻击等。

总结

AMM 是区块链技术在去中心化金融领域中已被证实可成功运行的一项重要创新。秉持着加密货币对于无须许可、无须信任、以及去中心化的初衷理念,AMM 通过自动执行的智能合约代码及数学公式,以简单、透明和高效的方式提供了用户兑换资产与价值交换的途径,免于遭受传统中心化交易所的审查甚至资产冻结所限制。

AMM 也是助长区块链领域快速发展的重要推手,它为冷门、无人问津的一级市场交易对带来大量流动性,并促成流动性挖矿、收益耕种、以及各种生息资产和金融衍伸品等的诞生,如今区块链上绝大多数的去中心化交易所如 Uniswap、Sushiswap 或 Curve 等都是基于 AMM 协议运作而非订单簿模式,可以说 AMM 是当今诸多区块链应用的根源之一。

然而 AMM 也并非毫无缺陷,在为流动性提供者开辟收益途径的同时也带来了无常损失的风险,而资金使用率低下和价格滑点等问题,也是 AMM 技术的限制之一,不过整体技术也在改进中,例如 Uniswap 推出的动态定价区间旨在改善资金使用效率、Curve 针对稳定币的低滑点兑换机制 。总而言之,AMM 带领了人们进入透明、去中心化、以及高效率的区块链交易时代,如何善用 AMM 的特长并克服缺点,将会是这门技术发扬光大的重要关键。

Author: Piccolo
Translator: binyu
Reviewer(s): Hugo、Edward、Ashely、Joyce
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.

什么是 AMM?

新手11/21/2022, 9:49:21 AM
自动做市商(AMM)是基于智能合约的一种报价算法协议,允许任何人将加密货币存入流动池来创建市场并进行交易。

前言

自动做市商(Automated Market Maker,简称 AMM)是区块链领域的一大创新,它依靠自动执行的智能合约程序与算法来决定资产价格,除了大幅度地提升交易市场的流动性外,也开辟了全新的收益途径,并移除传统中心化交易所的信任与审查风险,使人们得以快速方便地进行价值交换,是推动加密货币市场的去中心化金融(Decentralized Finance,简称 DeFi)蓬勃发展的原动力,也成为当今多样化的衍生金融商品代币与收益耕作(Yield Farming)策略等的根基。

目前的去中心化交易所(Decentralized Exchange,简称 DEX)中,一般采用的都是自动做市商模式,交易者通过智能合约直接与流动性资金池进行代币买卖交易,成交的价格则是依据智能合约预先编程的数学公式自动化计算得出,与传统交易所需要等待与买家价格匹配的卖家出现才能实现交易的订单簿模式完全不同。

去中心化交易所通常也都鼓励用户充值资产至流动性池中,这些充值资产的用户会成为该交易对市场的流动性提供者,能够收取一定比例的手续费获得被动收入。任何人都可以成为使用流动池的交易者或充值资产的流动性提供者,因此 AMM 的出现为加密货币交易市场提供了大量流动性,并且显著提高了区块链上的交易效率。

在了解自动化做市商(AMM)之前先认识“做市商”

什么是做市商呢?一般来说在金融市场中有几种不同的参与者,分别是投资者 (Investor)、投机者(speculator / position trader 头寸交易者)、对冲者(hedger)和做市商(scalper / market maker)。投资者看好产业与购入标的物的升值空间,长期买入持有;投机者留意市场信息情报,寻找价格趋势做多做空交易;对冲者通常经营实体生产,不愿承担价格波动对冲风险;做市商则提供市场流动性,不断地与市场上的交易者快速反复交易来赚取价差(Spread)。

做市商是如何为市场提供流动性和赚取获利的呢?其实就是通过大量的交易买卖与订单簿挂单。作市商的目标很简单,有人想买,那就卖给对方;有人想卖,那就从对方手中买过来。每一次与做市商进行买卖交易的对象或许都不是同一人,但只要一买一卖之间有价格差异并且是买低卖高,做市商就能通过这种方式获取利润。

由于做市商需要不断为市场提供流动性,因此仅限于拥有庞大资金的个人或公司,为了保证交易速度,做市商在设备与技术方面也都有相当高的要求。虽然就名义上来说,任何一个交易者只要在市场上进行挂单,就是在为市场提供流动性而成为某种程度的做市商,然而要能频繁地挂单买卖提供流动性且持续获利,并不是普通人能做到的事情。

做市商的存在对于交易市场的运作非常重要,它们确保了任何人都能快速顺利地买入或卖出资产,而无须经历漫长时间的等待才有机会成交。如果没有做市商的协助,买方往往不愿意承担价格下跌的风险会挂很低的买单,卖方则不愿意付出价格上涨的风险而挂很高的卖单,交易成本将变得昂贵且资产流动性非常差。有些交易所为了鼓励做市商加入,也会提供减免手续费的优惠或是额外的佣金鼓励,使交易市场变得更为热络和效率更高。

什么是自动做市商(AMM)?

在去中心化金融发展的早期,许多去中心化交易所(例如 EtherDelta)也曾试图在区块链上以订单簿模式经营交易市场,然而它们很快就遇到了问题。首先是扩容性的限制,如以太坊网络最初的设计每秒钟仅能处理 12 ~ 15 笔交易,每个区块的生成时间大约在 10 ~ 19 秒,这种处理速度无法支持做市商要求的高速及频繁交易。另一方面区块链网络的使用成本也是一项考量,任何挂单与撤单即便没有成交,通通都要支付 Gas 费用,这使得挂单造市商无法灵活地撤单或是补单。

鉴于订单簿模式会导致较高的交易成本、昂贵的 Gas 费用、缓慢的交易速度和缺乏流动性等诸多问题,基于智能合约代码,无须从外部下达指令就能追踪市场价格,从而自动地进行买入买出,并提升资产流动性的自动做市商程序开发,成为了各去中心化交易所的当务之急。 AMM 的概念最早是于 2017 年由以太坊创办人Vitalik Buterin 提出的,随后其他知名的去中心化交易所如 Uniswap、SushiSwap、Balancer、Curve 等也进一步对 AMM 算法进行研究开发,成为如今我们所见的不同样貌。

与传统的做市商相比,自动做市商是一项相对较新的技术。它基于智能合约成立不同的流动池和交易市场,根据流动池中不同资产的相对比例自动调节价格。就以太坊上的 Uniswap 为例,交易者并不使用传统的订单簿进行挂单买卖,而是直接在流动性池中交换代币。如果您想用 ETH 换取 USDT,您只需要找到一个 ETH/USDT 的流动池后,将 ETH 投入即可取出 USDT。您购买或是出售的价格系由 AMM 协议中的数学公式决定,交易过程中仅需支付手续费(一般为 0.3%)和区块链网络的 Gas 费用。

流动性提供者( LP )在 AMM 中的作用

使用自动做市商协议的去中心化交易所中,并没有财力雄厚的机构担任做市商,取而代之的是持有资产的所有用户共同建立交易市场。当人们持有的资产价格升值,或是发现其他更具成长潜力的资产时,会有诱因将手中的资产拿去市场上兑换,去中心化交易所设置了称为流动池的智能合约,让愿意提供资产的用户进行质押,使用户成为交易市场上流动性提供者(Liquidity Provider,简称 LP)。

在去中心化交易所中,有些用户会提供资产 A、有些用户提供资产 B、还有其他用户提供资产 C、或是同时提供多种不同的资产等。大量用户提供许多不同种类的资产就形成了交易市场,而 AMM 协议中的算法会依不同资产间的供需关系计算出相对价格。这使得在流动池中质押资产的所有用户集体成为了做市商,为不同资产之间提供了相互兑换的流动性。

作为流动性提供者的回报,他们可以向使用流动性池交易的用户收取一定比例的手续费。而去中心化交易所为了激励用户对流动性池提供流动性,除了交易手续费外也可能分发协议的治理代币。因此 AMM 中的流动性提供者都是某项资产交易对市场的做市商,去中心化交易所协议利用智能合约全天候地自动计算价格,并提供用户交易兑换,或是赚取收益的途径。

自动做市商(AMM)价格运行机制

在 AMM 中,您想要购买或出售的资产价格是由数学公式决定的,用户没有办法指定要在什么价格买入或卖出。流动池会提供一个报价,用户只能决定是否要以这个价格进行交易,因为智能合约会使用预先编程的数学公式,自动地根据流动池中不同资产的供应量来调整价格,并确保流动池中的两资产的比率保持一定的平衡。

自动做市商使用的报价演算法有非常多种,不同的去中心化交易所之间可能都存在着些微差异,但大体而言可以归类为以下较为常见的四种模型:

  1. 恒定乘积做市商( Constant Product Market Maker,简称 CPMM)

  2. 恒定总和做市商(Constant Sum Market Maker,简称 CSMM )

  3. 恒定平均值做市商(Constant Mean Market Maker,简称 CMMM )

  4. 混合常数函数做市商( Constant Function Market Makers,简称 CFMM )

我们以最常见的 CPMM 恒定乘积做市商为例,在这个模型中,流动池内两种资产 X 与 Y 的数量乘积为一固定值,因此 CPMM(Constant Product Market Maker)的数学公式可以写成

X * Y = K

图片:一种典型的自动做市商算法

以 Uniswap 作为范例,在使用 X * Y = K 算法进行报价的流动池中,X 指的是流动性池中一种代币的数量,Y 则是另一种代币的数量,而 K 是一个固定常数。由于 X 与 Y 的乘积始终等于相同的数值,当流动池中代币 X 的供应量增加时,Y 的代币供应量就会相对减少,以保持 K 固定常数不变,反之亦然。

比如,当交易者在 Uniswap 上利用 ETH/USDT 流动池购买 ETH 时,他们需将 USDT 添加到池子后才能从池子中取走 ETH。这将导致流动池中的 ETH 数量下降,而 USDT 数量增加,以实现 X * Y = K 的平衡效果,并促使 ETH 相对于 USDT 的汇率上涨。相反地,如果有更多的 ETH 被添加到流动池中时, ETH 数量会增加,而 USDT 数量减少,这导致了 ETH 的价格下跌。

为了更好地理解这个数学公式在实际状况是如何运作,我们再举另一个简化的例子说明:

假如在 AMM 交易所中有一个包含 100,000 颗橘子和 100,000 颗苹果的流动池。我们假设 X 代表橘子的数量,而 Y 则代表苹果的数量,根据 X * Y = K 的公式,可以计算出 K 值会等于

100,000 * 100,000 = 10,000,000,000

假设一位栽种橘子的农夫生产了 4,000 颗橘子,如果他想将这 4000 颗橘子换成苹果,他可以将这 4000 颗橘子存入流动池进行兑换。现在这个流动池中有了 104,000 颗橘子,流动池需要拿出多少颗苹果给橘子农夫呢?

104,000 颗橘子 * Y 颗苹果 = 10,000,000,000

Y = 10,000,000,000 / 104,000 = 96153.8

由于流动池中仅需要 96153.8 颗苹果就能维持 X * Y = K 的平衡,因此流动池会将原始的苹果数量 100,000 扣除掉 96,154 后,将剩下的 3,846 颗苹果从池子中拿出交给橘子农夫。

经过了这一次的交易,我们要如何计算市场上橘子跟苹果的价格呢?假如流动池一开始总共有 100,000 颗橘子和 100,000 颗苹果的时候,市场上每颗橘子和苹果的单价相同都是 1 美元。

由于橘子农夫的交易,使得流动池中两种水果的数量发生了变化,现在总共有 104,000 颗橘子和 96,154 颗苹果,橘子和苹果的价格也因为这笔交易而改变

苹果的单价 = 100,000/96,154 = 1.04 美元

橘子的单价 = 100,000/104,000 = 0.96 美元

在以上例子中,我们可以看出自动做市商的运作方式。当池中的橘子数量增加时,苹果的数量就会减少,因此苹果相对于橘子而言会变得更为稀有而价格上升。由此可知,流动池中只要任何一种资产的数量变多,它的价格就会下跌。

AMM 价格如何与外部市场价格一致?

可能会有人感到好奇,万一流动池的价格和外面市场不一样会发生什么事?听起来流动池就好像一个与世隔绝的化外之地,要如何确保流动池的价格不会与真实交易市场脱钩呢?

实际上流动池中的资产确实是使用自己的一套规则来决定价格,然而流动性的提供者并没有与外界市场独立,当人们发现流动池中的价格与外部市场有差异时,会产生套利空间让他们从流动池中兑换资产而获利。

比如,如果流动池中资产 A 的价格相对于外部市场更廉价时,套利者能以较低的价格购买流动池中的资产 A,并在外部交易市场以较高的价格抛资产 A 赚取差价。相反地,若流动池中资产 A 的价格相对于外部市场更昂贵时,套利者能从外部交易市场以较低的价格购买资产 A,并在流动池中以较高的价格抛资产 A 赚取差价。

通过市场上许多套利者赚取差价的行为,AMM 的算法能确保流动池中的资产价格将会逐渐恢复平衡,与外部市场价格趋向一致。

流动性提供者代币(LP Token)

在去中心化交易所中,流动性提供者可以获得 LP 代币,或称为流动性提供者代币(Liquidity Pool Token,简称 LP Token)。 LP 代币表示流动性提供者对于整个流动池的个人贡献资产量份额,持有 LP 代币的人可以从流动池中赎回资产,因此 LP 代币也是一种为流动池提供流动性的证明。

在以太坊上,LP 代币是一种 ERC-20 代币,它们可以被转移、出售,甚至是可以再存入另一个流动池中,来赚取更多收益。每当有用户与流动池进行交易时,LP 代币的持有者就可以依据其流动池中的占比收取相应的交易手续费用,获得的手续费总额则与 LP 代币的持有者在流动池中的贡献份额成正比。

比如,假设您向 ETH/DAI 流动池提供了价值 100 美元的 ETH 和 100 美元的 DAI (总计 200 美元),而流动池中的总资产价值为 20,000 美元,则您在流动池中的份额为 1%。如果当天 ETH/DAI 的流动池从交易中收取了价值 100 美元的手续费,您将会分得其中的 1%,也就是价值 1 美元的交易手续费。

另外,流动性提供者也可以质押 LP 代币以赚取更多回报,质押代币意味着将它们锁定在智能合约中一段时间,以获得协议的额外奖励。流动性提供者还能将 LP 代币存入不同的 AMM 协议流动池中以赚取更多的收益,通过将多种代币移入或移出不同的 DeFi 协议,可以提升用户的资金使用率让利润最大化。这类型向流动池提供流动性,利用闲置资产获得被动收入的方法,又称为流动性挖矿或是收益耕作(Yield Farming)。

什么是无常损失?

虽然成为流动性提供者可以赚取交易费用以及平台代币,但存入加密货币还是存在风险,其中一种风险称为无常损失。当您在流动池中的资产价格与您最初存入时的资产价格出现差异时,无论是上涨还是下跌,作为流动性的提供者都会承担无常损失。

图片:无常损失函数

之所以会称为无常损失,是因为这种损失为暂时性的,会随着资产价格的波动而改变。唯有当用户从流动池中赎回资产时,这种暂时性损失才会兑现而成为永久性损失。也就是说,只要资产还在流动池中,无常损失就只是帐面上的亏损。资产价格越接近存入流动池时的初始价格,无常损失的比例就越小。

为什么流动性的提供者,不管价格涨跌都要面对无常损失呢?这是因为当资产价格出现变化时,流动性的提供者就是在扮演交易市场上的做市商,会卖掉一部分持有的资产,而买入其他用户抛售的资产。

以资产 A 与资产 B 交易对的流动池为例,当资产 A 的价格上涨时,会造成流动池中的资产 B 数量增加和资产 A 数量减少,这等同于流动性提供者在减仓价值上升的资产 A,并加仓价值下降的资产 B,此时流动性提供者在承担的就是资产 A 价值继续上涨的机会成本(风险)。

相反地,当资产 B 的价格上涨时,会造成流动池中的资产 A 数量增加和资产 B 数量减少,这等同于流动性提供者在减仓价值上升的资产 B,并加仓价值下降的资产 A,此时流动性提供者在承担的就是资产 B 价值继续上涨的机会成本(风险)。

由以上范例可知,无论价格朝哪一个方向波动,流动性提供者都承担了资产转换的风险,以换取获得交易手续费的报酬。价格的上涨或下跌幅度越大,承担的风险就越高,无常损失的比例也会增加。然而只要资金池中的两种代币之间涨跌幅差异不大,一般而言流动性提供者赚取的交易手续费或协议额外奖励收益能够完全覆盖无常损失的机会成本。

AMM 的优点与缺点

随着去中心化金融的发展和普及,人们对于自动做市商的原理和应用已有更深入的了解,而越来越多关于 AMM 的优点及缺点也正在浮现。

优点:

  1. 与传统交易所的限价订单簿模型相比,AMM 减少了交易市场上的买卖价差(Bid-Ask Spread)并开创用户新的收益管道,有效改善整体加密货币市场的流动性。

  2. 资产兑换方便迅速,去中心化交易所的用户不需经过账户验证或 KYC,任何拥有加密钱包的人都可以利用 AMM 协议进行交易。

  3. AMM 也为许多小市值的加密货币市场带来流动性,这些加密货币的发行方无须在传统中心化交易所付出高额的上架费,也能在区块链网络上实现代币的流通与买卖。

缺点:

  1. AMM 在处理大额订单时的表现远不及传统的订单簿交易市场。在订单簿交易市场中,用户可以设定一个价格挂单等待大量的买入或卖出。然而在 AMM 的状况是,每一单位的买入或卖出都会影响流动池中的资产比例使价格发生变化,大额的买入会变成越买越贵,大额的卖出则是越卖越便宜。这个现象称作价格滑点(Slippage),在深度较浅的流动池中越是明显。

  2. AMM 流动池的资本效率低下,因为大多数交易都发生在狭窄的价格范围内,这也表示流动池中大部分的资金其实是处在闲置状态,只为了在市场发生极端波动时能够继续提供流动性。

  3. 流动性提供者会面临一些其他风险,如先前所述的无常损失,或是智能合约代码漏洞和黑客的攻击等。

总结

AMM 是区块链技术在去中心化金融领域中已被证实可成功运行的一项重要创新。秉持着加密货币对于无须许可、无须信任、以及去中心化的初衷理念,AMM 通过自动执行的智能合约代码及数学公式,以简单、透明和高效的方式提供了用户兑换资产与价值交换的途径,免于遭受传统中心化交易所的审查甚至资产冻结所限制。

AMM 也是助长区块链领域快速发展的重要推手,它为冷门、无人问津的一级市场交易对带来大量流动性,并促成流动性挖矿、收益耕种、以及各种生息资产和金融衍伸品等的诞生,如今区块链上绝大多数的去中心化交易所如 Uniswap、Sushiswap 或 Curve 等都是基于 AMM 协议运作而非订单簿模式,可以说 AMM 是当今诸多区块链应用的根源之一。

然而 AMM 也并非毫无缺陷,在为流动性提供者开辟收益途径的同时也带来了无常损失的风险,而资金使用率低下和价格滑点等问题,也是 AMM 技术的限制之一,不过整体技术也在改进中,例如 Uniswap 推出的动态定价区间旨在改善资金使用效率、Curve 针对稳定币的低滑点兑换机制 。总而言之,AMM 带领了人们进入透明、去中心化、以及高效率的区块链交易时代,如何善用 AMM 的特长并克服缺点,将会是这门技术发扬光大的重要关键。

Author: Piccolo
Translator: binyu
Reviewer(s): Hugo、Edward、Ashely、Joyce
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.
Start Now
Sign up and get a
$100
Voucher!