自动做市商
自动做市商 Automated Market Maker,简称AMM,它是一种部署在区块链上的智能合约协议,通过数学算法(定价曲线),允许用户在无需传统订单簿和特定交易对手的情况下,直接与流动性池进行代币兑换,为代币提供流动性。
可以把 AMM 想象成一个永不停歇的“自动报价机”:它根据预设的数学公式(如 x * y = k)实时计算两种资产间的兑换价格。用户存入资产构成“资金池”,交易者直接与这个池子交互,用 A 资产换取 B 资产,整个过程由代码自动执行,无需等待买家或卖家匹配。
用户存入资产就是 Liquidity ProVider,即流动性提供者,简称 LP,他们不靠报价差赚钱,而是通过向交易池存入资金来赚取手续费。
AMM 是一个统称,它包含多种数学模型,比如 uniswap V2 的恒定乘积 x*y=k,稳定币的恒定总和 x+y=k。
无常损失
无常损失(Impermanent Loss, IL)是 DeFi 中 LP 面临的核心风险。它并非实际亏损,而是指将资产存入流动性池后,相较于直接持有这些资产,可能获得的价值的损失。
假设此时 ETH 价格为 $1000 /ETH,一个 LP 向 Uniswap V2 的 ETH/USDC 池存入价值 1000 美元的 ETH 和 1000 美元的 USDC,那么就是存入了 1 ETH 和 1000 U,恒定乘积 k = 1 * 1000 = 1000,假设他存入的资金占据池子 50%的份额。
当 ETH 翻倍至 $2000,套利者发现池内 ETH 价格低于市场价,于是用市场价 $2000 的 USDC 不断从池中买入便宜的 ETH。设新的 ETH 数量为 x,USDC 数量为 y,则新价格: $2000 = y / x => y = 2000x,联立 x*y=1000,得出池子新状态 0.7071 ETH / 1414.21 USDC。
此时 LP 的资产是:
- 新 ETH 数量: 0.7071 * 50% ≈ 0.3536 ETH
- 新 USDC 数量: 1414.21 * 50% ≈ 707.11 USDC
- 当前价值: (0.3536 * 2000)+707.11=707.20 + 707.11=$1414.31
如果 LP 没有存入 Uniswap 提供流动性,而是直接持有 1 ETH 和 1000 USDC,则当前会有$3000,无常损失 = 直接持有价值 - LP 价值 = 3000−1414.31 = $1585.69,损失率 = (1585.69/3000) * 100% ≈ 52.86%
简单来说就是套利者从交易池子中买低价的 ETH,再以正常价格卖出获利,导致 LP 资产损失.

池子深度和滑点
如果把交易池比作一个水池,深度就是池子里水的多少: 深水池: 往里扔一块巨石(大单交易),水位(价格)几乎没有波动。
浅水盆: 往里扔一块小石子(小单交易),水就会溅得到处都是,水位(价格)剧烈震荡。
深度的大小直接决定了滑点的大小。滑点是指“预期的执行价格”与“实际成交价格”之间的差额。深度好: 买入 100 万美元的资产,价格只上涨了 $0.1%$。深度差: 买入 100 万美元的资产,价格瞬间被拉高了 $10%$。这时意味着买到的成本比市场价贵了很多, uniswap 支持设置可接受的滑点范围,范围越小,个人损失就越少,但是相对的交易越难达成.
从 UniSwap V1 到 V4
币安 / OKX 是中心化交易所 CEX,而 Uniswap 是去中心化交易 DEX,Uniswap 基于智能合约自动运行,无需注册,资产自托管,就像一个自动售货机,交易者可以自由进行代币兑换。
UniSwap V1
奠定了恒积做市商 x*y=k 的基础,缺点是所有代币只能跟 ETH 配对,买 A 代币得先换成 ETH。
UniSwap V2
V2 增加了ERC-20 自由配对,ERC-20 是以太坊上创建和发行代币的技术标准,规定了代币转账、查询余额等基本功能。它就像代币的“通用接口”,任何两个符合 ERC-20 标准的代币都可以直接创建一个交易对池子,无需许可,让代币直接对换,不再强制经过 ETH。
此时 UniSwap V2 的 LP 的资产均匀分布在整个价格区间 (从 0 到无穷大),还无法像 V3 那样选择特定的价格区间,可以说是大水漫灌,价格控制被动,价格完全由市场交易和公式决定!
V2 还引加入了闪电贷 (Flash Loan)。闪电贷是一种无需抵押、但必须在同一笔区块链交易内归还的贷款。核心是利用区块链交易的“原子性”(要么全部成功,要么全部回滚)。如果借款人在交易结束前未能连本带利归还,整个交易无效,贷款从未发生。
UniSwap V3
在 V2 中,LP 提供的流动性会均匀分布在整个价格曲线(0 到无穷大)上,但大部分流动性可能永远用不到,而 V3 允许 LP 自定义价格区间,实现精准滴灌,这样可以让资金集中在交易活跃区,在自定义的价格区间内提供集中流动性。
比如如果我认为 ETH 价格会在 1800-2200 美元之间波动,那么我就可以只在这个区间投入资金,资金不会被均匀分布在整个价格曲线,定位更精准,流动性更高。
UniSwap V4
保留了 V3 的集中流动性核心,从“自动化做市商”向“可编程流动性平台 ”的范式转变. V4 新增了 Hooks,允许开发者在流动性池生命周期的关键节点(如初始化、添加/移除流动性、交易前后)注入自定义的智能合约逻辑,将 Uniswap 从一个固定的交易协议,转变为一个可组合的开发者平台。
在 V3 及更早版本中,每个流动性池都是一个独立的智能合约,创建和交互成本高昂。V4 采用了单例设计,将所有池子集中在一个合约中管理。 配合闪电记账(Flash Accounting)机制,交易过程中代币的转移被简化为合约内部的余额记录,仅在交易最终结算时进行一次外部转账。这使得创建新池的成本降低,跨池交易的 Gas 费用也大幅减少。