VIEW THIS AS

Auto mode follows the Route Engine until you choose a viewpoint.

YOU ARE HERE

ROUTE CHECK

CONNECTED TO

WHAT NEXT

Use the canonical route for this room, or HELP if you are unsure.

自动化做市商算术:先读懂池状态,再谈价格

Three students in school uniforms work through open books at a classroom table, with textbooks and stationery nearby and study notes on the whiteboard behind them.

English version · 区块链学习导航 · 上一篇

区块链学习 · 文章 BC077

三名学生在教室桌旁一起阅读书本,身边放有课本和文具。
学习场景配图;不代表照片中的学生正在学习区块链。

一个双资产池可以在兑换前给出某个边际比率,在整笔兑换中产生不同的平均比率,并在结束时形成第三个边际比率。这些数字可能都正确,因为它们回答不同问题。

本文使用虚构单位X与Y,完成一项静态的恒定乘积模型练习。你将计算输出、检查兑换后的储备,并比较初始、平均与最终比率;然后检验观察状态与后来候选操作之间,池状态发生变化时会怎样。

这里没有真实交易所操作、钱包、资产推荐或交易策略。数字只是数学教学模型,不代表市场价值、投资回报或金融服务准入。

选择适合你的阅读路线

本篇目录

  • 先读第1至3节,确立池规则与单位。
  • 完成第4至6节,计算一次完整兑换并区分三种比率。
  • 读第7至9节,分析状态变化、输出条件与反向操作检查。
  • 使用练习与常见问题,验证算术并识别模型省略了什么。

返回目录 · 下一节

1. 规则化资金池是一种兑换机制

自动化做市商,简称AMM,依据指定规则,对提供的流动性进行兑换计算。恒定乘积池只是其中一种模型,不是所有AMM或去中心化交易所的定义。

2020年3月的Uniswap v2 Core论文描述一种明确的恒定乘积设计,并包含费用等其他实现特征。v2定价文档还区分定价计算与核心合约的不变量检查。

本例移除费用与实现细节,只隔离一种关系,不复现生产合约的精确输出。真实系统可能涉及其他曲线、流动性区间、整数舍入、代币行为及额外检查。

小模型的好处是每项状态变化都能在纸面核验。限制也同样重要:模型内计算正确,不证明真实交易安全、值得进行、获准开展或一定执行。

返回目录 · 下一节

2. 定义储备与不变量

令x表示池中的X储备,y表示Y储备。初始x为100,y为200,乘积为20000。

本练习中,被接受的兑换恰好保持x乘y等于20000。单位可拆分,必要时使用精确分数。除非后续案例明确加入,否则没有费用、储备捐赠、流动性增减、转移税、余额重基、整数舍入或外部操作。

这些排除条件很重要。在收费实现中,操作前后观察到的储备乘积关系,可能不同于这里的严格相等模型。不能没有真实规则就复制练习结果。

还要明确方向。首先向池中放入X,并从池中取出Y。因此,在正储备恒定乘积规则下,x增加时,y会减少。

池不能任意支付想要的Y数量。最终储备组合必须满足给定规则。决定本例数学输出的是这一条件,而不是屏幕报价看起来怎样。

返回目录 · 下一节

3. 写清比率名称与单位

在无费用模型中,用很小数量X兑换Y的初始边际比率为y除以x,即200/100,等于每X对应2 Y。边际指该状态附近无穷小变化的局部比率。

它不承诺任意大兑换中的每个X都能换得2 Y。随着X进入、Y离开,储备比例会变化,有限规模兑换沿着这种变化关系进行。

完整有限兑换的平均实现比率,是总Y输出除以总X输入。最终边际比率使用兑换后的储备。这些定义防止把三种不同测量压缩成一个模糊词。

也要注意方向。在指定边际状态,Y/X与X/Y互为倒数。没有方向的数字不完整。主要计算中,比较三种比率时统一使用每X对应多少Y。

没有给定外部市场价格。储备比例是虚构曲线隐含的局部比率,不是公允价值声明,也不预测其他市场价格。

返回目录 · 下一节

4. 从头计算25 X输入

从x100、y200开始,给定输入为25 X。没有费用或其他扣减,因此最终X储备为100加25,即125。

不变量要求最终Y储备为20000除以125,得到160。池初始有200 Y,最后有160 Y,所以输出为40 Y。

结果状态为x125、y160。独立检查:125乘160等于20000。乘积保持不变,两项储备都为正,方向也符合操作:X增加25,Y减少40。

假想参与者付出25 X,收到40 Y。这不表示参与者获得了价值收益,因为没有给定外部估值、成本或偏好。它只是某条规则下的数量交换。

常见错误是把初始边际比率2乘以全部输入25,预测输出50 Y。如果池支付50,最后会是x125、y150,乘积为18750,违反严格保持20000的规则。

因此,错误结果不仅是对价格的另一种解释,它不满足模型的状态条件。

返回目录 · 下一节

5. 比较初始、平均与最终比率

初始边际比率为2 Y/X。实际有限输出为40 Y,输入25 X,因此平均比率是40/25,即1.6 Y/X。

在最终储备下,边际比率为160/125,即1.28 Y/X。因此,三个数字分别是初始2、完整兑换平均1.6,以及结束时1.28。

在这个方向和模型中,平均比率位于两个边际比率之间。池没有对全部输入采用固定比率。储备不断变化,正是有限兑换平均值不同于初始局部比率的原因。

现在进行两项明确参照点的比较。平均比率比初始2低0.4,相对于初始比率低20%。最终边际比率比初始2低0.72,相对于同一初始比率下降36%。

这些百分比描述不同对象。一个比较整笔兑换平均值与起始边际比率,另一个比较两个边际状态。如果不解释定义,就把两者都简称为“价格影响百分比”,很容易混淆。

它们也不是确定财务损失的百分比。我们没有给定市场估值或替代的可执行交易。它们只描述明确单位与分母下的虚构曲线比率。

返回目录 · 下一节

6. 分开兑换自身影响与后来状态差异

Uniswap Labs关于价格影响与滑点的说明更新于2025年2月11日,区分兑换自身造成的价格影响,以及预期与实际收到结果之间的差异。

术语可能随背景变化,所以本文明确写出数值比较,不只依赖标签。基线中,我们在考虑任何插入操作之前,就根据已知储备算出有限输出40。2与1.6之间的区别,已经由候选操作在初始曲线上的规模决定。

如果同一个候选操作在相同给定状态下、按相同规则执行,输出仍然是40。初始边际比率从未承诺输出50。

如果计算所依据的观察之后,另一个事件改变了状态,就出现独立问题:此前算出的输出可能不再可得。要计算这种差异,需要新的起点,不能仅因候选操作规模较大就推断它发生。

下一案例明确给出这种状态变化。它是一段数学序列,不是在说明真实网络如何排序交易,也不建议任何参与者如何影响顺序。

返回目录 · 下一节

7. 状态改变后,候选输出不同

把池重置为x100、y200。读者观察该状态,并像前面一样,为25 X候选输入算出40 Y。

在考虑候选操作前,另一项给定操作先向池中放入25 X,并取出40 Y。实际池现在是x125、y160。此前操作已经完成,与候选操作分开。

现在从新状态计算候选25 X输入。拟定最终X储备为150,对应Y储备为20000/150,即400/3 Y。输出因此为160减400/3,等于80/3 Y,约26.6667 Y。

候选潜在输出低于先前计算的40 Y,因为起始储备不同。其平均比率为(80/3)/25,即16/15 Y/X,约1.0667。

这不与基线公式矛盾,只是公式被应用到不同状态。报价或计算需要保留所用状态,其他读者才能复现。

分数值是模型中的精确数学数量,舍入小数只是解释用近似值,不是生产环境的代币基本单位计算。真实整数实现需要自己的舍入规则。

返回目录 · 下一节

8. 检验最小输出条件,不改变条件

为候选操作加入一条给定规则:只有计算出的Y输出至少为38,才能执行。这是练习中虚构的接受条件,不是对真实交易参数的建议。

如果起点是原始x100/y200,输出为40,数值条件通过。如果起点是改变后的x125/y160,潜在输出为80/3,小于38,条件失败。

模型拒绝候选操作,不应用该候选的任何储备变化。因此,池维持此前已完成操作留下的x125/y160。它不会回到x100/y200,因为拒绝候选操作不会抹去无关的先前操作。

池也不会变成x150/y400/3,因为那只是未被接受操作的拟定储备。计算出的提案与真正应用的状态必须分开。

纸面模型排除了交易费用、网络费用及全部其他状态。“没有变化”只涉及候选操作的池储备更新,不能理解为所有被拒绝的区块链交易都在任何地方没有成本或影响。

不能因为条件失败,就默默放宽它。证据练习的任务是报告给定规则为何拒绝候选,而不是设法让操作通过。

返回目录 · 下一节

9. 反向操作检查一致性

回到成功基线状态x125/y160。独立于前面的状态变化拒绝案例,假设某项操作把40 Y放回这个无费用池。

Y储备变成200。为保持乘积20000,X储备变成100。因此,池输出25 X,恢复原始x100/y200状态。

这是理想算术的一项有用一致性检查。精确反向数量能够恢复原储备,是因为模型排除了费用及全部中间变化。

它不是真实世界的往返兑换承诺,也不是利润来源。实际系统可能收费、使用离散单位,而且在两次操作之间变化。模型没有包含这些条件,也没有提供执行任一方向的机会。

反向操作还改变了比率单位。此时输入是Y,输出是X,整笔操作平均值为25/40,即0.625 X/Y。对于这组精确反向数量,它是1.6 Y/X的倒数。要写明单位,避免把看似较小的数字变成误导比较。

返回目录 · 下一节

10. 不变量没有确立什么

保持储备乘积是一项数学条件,不证明资产可信、外部价格公允或实现没有漏洞,也不能决定金融服务在法律上是否可用。

池可以满足本地规则,同时用户误解报价单位或所用状态。反过来,正确计算的候选操作可以不满足另一项接受条件。这些是不同问题,需要不同解释。

官方兑换概念文档描述最小输出等集成层保护条件。本文只使用这个狭义概念;虚构阈值与拒绝轨迹来自自己的给定模型,不代表每个版本或界面。

对于中国内地读者,2026年2月6日银发〔2026〕42号通知提供相关虚拟货币业务限制。本文是技术教育,不暗示可以使用或运营交易所。

此前的Liquidity文章说明更广泛的交换摩擦。本练习增加的是可复现的储备状态计算,不建议提供流动性或进行交易。

返回目录 · 下一节

11. 练习与答案

练习一:检查拟定输出

从x100/y200开始,有人提出输入25 X、输出50 Y。是否满足规则?

答案:不满足。拟定储备125/150的乘积为18750,而不是20000。依据给定无费用规则,接受的输出为40 Y,留下125/160。

练习二:写出三种比率

成功基线的初始边际、整笔兑换平均和最终边际比率分别是什么?

答案:分别是2、1.6和1.28 Y/X。它们回答不同问题,不能没有解释就相互替代。

练习三:谨慎比较百分比

为什么同时出现20%与36%?

答案:平均比率1.6比初始2低20%,最终边际1.28比初始2低36%。一个比较使用有限兑换平均值,另一个使用终点边际状态。

练习四:应用新状态条件

先前操作留下125/160后,候选输入25是否达到最小输出38?

答案:潜在输出为80/3,约26.6667,因此失败。候选被拒绝,池保持125/160。先前已完成操作不会撤销。

练习五:反向检查理想基线

从125/160开始,在同一无费用规则下输入40 Y,会怎样?

答案:Y变成200,X变成100,输出25 X。这只检查虚构算术,不保证生产环境中的往返结果。

返回目录 · 下一节

12. 常见问题

所有AMM都是恒定乘积池吗?

不是。这只是一个明确模型。其他机制与实现需要自己的规则和证据。

与初始边际比率差距很大,是否证明算错?

不能。有限兑换会改变储备,所以平均比率可以不同于起始局部比率。应检查状态方程与所述比较。

最小输出条件是否保证执行?

不能。在模型中,它是一项必要接受条件,候选可以失败;真实系统还可能有其他要求。条件不是承诺期望数量一定会出现。

不变量是否使报价资产安全?

不能。它约束模型内的兑换算术,不涵盖全部技术、经济、保管或法律风险。

返回目录 · 下一节

13. 来源与延伸阅读

来源核对于2026年10月12日。全部数量均为虚构;精确有理数与无费用假设是刻意简化。

当起始状态、输入、规则、输出、比率定义和接受条件全部清楚时,池计算才清楚。先固定这些细节,“价格”一词才有具体用途。

返回目录