中文 ▼
自选
我的自选
查看全部
市值 价格 24h%

免责声明:内容不构成买卖依据,投资有风险,入市需谨慎!

AMM 究竟如何为交易定价?x*y=k 的作用是什么

2026-08-25 00:22:38
收藏

自动做市商如何实际为交易定价?x*y=k 在做什么

自动做市商不会从买卖双方那里接收报价。它通过一个公式——最常见的是恒定乘积公式 x*y=k(根据Uniswap的开发者文档)——对包含两种代币的流动性池进行交易定价。池中的储备比例在交易前设定了价格,但由于交易本身会改变这一比例,当交易规模相对于池子不算小时,实际支付的价格会比最初报价的价格更差。

流动性池和公式的作用

根据Uniswap博客,流动性池是一个智能合约,持有两种代币的储备——例如 ETH 和 USDC——任何人都可以直接与之交易。流动性提供者存入等值的两种代币,为池子注入初始流动性,并设定常数 k 的初始值,k 是两个储备数量的乘积。从那时起,每一笔交易都必须保持 x 乘以 y 等于同一个 k。Uniswap的开发者文档将 k 描述为一个不变量,必须在每次交易后保持不变或增加。由于两个储备余额必须保持乘积为同一个数,从池中提取一种代币意味着另一种代币必须增加以补偿,而这一比例的变化正是价格变动的根源。

算术示例:从 10 ETH / 20,000 USDC 的池中购买 1 ETH

Uniswap博客提供了一个具体示例。从一个包含 10 ETH 和 20,000 USDC 的池子开始。常数是 10 乘以 20,000,即 200,000。在这一初始点,池子隐含的现货价格为 1 ETH 兑换 2,000 USDC。

现在,一位交易者买入 1 ETH。池中的 ETH 储备减少到 9。为了保持常数 200,000,USDC 储备必须增加到 200,000 除以 9,即大约 22,222.22 USDC(根据Uniswap博客的计算)。因此,交易者为了获得这 1 ETH,需要投入 22,222.22 减去 20,000,即 2,222.22 USDC。他们为所购 ETH 支付的实际价格是 2,222.22 USDC,而不是交易前池子报价的 2,000 USDC。

这个差距——实际支付 2,222.22 USDC 与初始报价 2,000 USDC 之间的差异——被称为滑点。这不是费用,也不是故障;而是公式在按预期运行,随着储备变化重新定价池子。Uniswap博客指出,相对于池子规模较大的交易会导致更大的滑点,而流动性更深的池子则能以更小的价格变动吸收同样的交易。Uniswap的开发者文档也提到了这一点,并将这种效应称为价格影响:相对于池子深度,交易规模越大,价格变动越大;交易规模越小,执行价格越接近当前现货价格。

Uniswap博客还给出了同一机制的一个更简单的零售视角:用户用价值 100 美元的 USDC 兑换 ETH,会看到由恒定乘积公式实时计算的汇率,智能合约在一次交易中收取 USDC 并返回 ETH,同时重新平衡池子。

简单公式的适用边界

上述 x*y=k 的算术描述的是 Uniswap v2 风格的池子,其中流动性分布在所有可能的价格区间内。Uniswap的开发者文档指出,在 v3 和 v4 中,该公式仅适用于每个流动性提供者所选定的价格区间内——这种设计被称为集中流动性。在 v3 中,提供者在区间内的头寸通过一个名为 NonfungiblePositionManager 的合约表示为 ERC-721 非同质化代币;在 v4 中,头寸通过 PositionManager 使用 ERC-6909 进行内部记账来跟踪,依据同一份文档。实际结果是,两个交易相同代币对的池子,如果处于不同的 Uniswap 版本,或提供者选择了不同的流动性区间,即使两者都运行恒定乘积公式,对于相同的交易,价格变动幅度也会不同。

Uniswap 和 Balancer 都属于一个更大的家族,Guillermo Angeris 和 Tarun Chitra 在 2020 年的一篇论文中将其称为恒定函数做市商(CFMM)——自动做市商的定价规则是池子储备的某个固定函数,x*y=k 是其中一个例子。同一篇论文指出,并非所有资产对都适合用该特定曲线定价。与美元大致挂钩但在窄幅区间内波动的稳定币,在接近挂钩时使用较平坦的曲线定价更有效,这样当交易对接近 1 美元时交易费用保持较低,而当价格偏离时费用上升——该论文将此方法归功于 Curve 的 StableSwap 设计。其基本思想与 Uniswap 相同——储备和不变量设定价格——但曲线的形状,以及交易者需要计算的算术,是不同的。

这个市场曾经有多大

Angeris 和 Chitra 的论文(日期为 2020 年 3 月)为当时所描述的 DeFi 格局提供了一些数据。该论文指出,当时去中心化交易所锁定的数字资产约为 1 亿美元,日交易量有时超过 1000 万美元。论文中一张引用自 DeFi Pulse 数据、日期为 2020 年 2 月 12 日的图表显示,CFMM 合约持有 1.297 亿美元,而基于 LMSR 的预测市场做市商(如 Augur 和 Gnosis)持有 72.1 万美元。同一篇论文还指出,Uniswap 是以以太坊基金会提供的 10 万美元资助建立起来的,相比之下,0x 通过首次代币发行筹集了 2400 万美元,Bancor 筹集了 1.53 亿美元,并指出截至论文撰写时,Uniswap 持有的流动性大约是这两个竞争对手总和的五到十倍。这些数据描述的是本页面创建前五年左右的市场状况,仅作为历史例证,说明一个设计简单的自动做市商如何迅速超越资金更雄厚、结构更复杂的替代方案——它们不代表这些协议当前任何规模的现状。

本页面未涵盖的内容

本页面根据 Uniswap v2 风格池子的文档解释了恒定乘积公式,并使用了证据中唯一一个带数字的工作示例。它没有涉及 Uniswap v3 或 v4 的集中流动性数学,或 Curve 使用的 StableSwap 曲线,因为所参考的资料中,对于这些情况没有提供带数字的示例——只有它们如何不同之处的描述。

上述 10 ETH / 20,000 USDC 的示例是不含手续费的。Uniswap的开发者文档指出,交易费用由池子和协议版本配置,并且当通过治理启用时可能适用协议费用,但本页面使用的任何来源都没有说明任何特定池子的实际费用百分比,因此上述计算出的 2,222.22 USDC 执行价格,在真实的收费池子中会略高一些。

Uniswap博客警告说,交易者的最终执行价格可能会与屏幕上显示的初始报价略有偏差,尤其是在流动性不足或活动激增的情况下,但没有给出具体数字。本页面使用的任何来源都没有解释诸如同文易(sandwich trading)等技术如何在实时交易中与这一差距相互作用,超出了一般性警告。

最后,2020 年关于锁仓总价值和首次代币发行融资的数据是市场历史上某个时间点的快照,锁仓总价值比较的日期为 2020 年 2 月 12 日,融资比较的日期为论文 2020 年 3 月发表时。不应将其视为 Uniswap、0x、Bancor 或更广泛 DeFi 市场的当前数据。

免责声明:

本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。币市通对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。币市通用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与币市通无关。币市通不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。

展开阅读全文
更多新闻
TOP

顶部