2、做市协议基础:定义、常见类型与核心机制
做市协议,说白了就是一套写在区块链上的自动化做市规则。它不需要传统交易所里那些穿西装打领带的做市商,而是靠算法和资金池来提供流动性。
我个人习惯把做市协议理解成「一个不会偷懒的自动售货机」。你往里面放两种资产,它自动给你算价格,别人来交易,它自动成交。整个过程不需要人工干预,也不需要信任任何中介。
2.1 做市协议的定义
做市协议(Market Making Protocol)是一组部署在区块链上的智能合约。它定义了流动性提供者如何存入资产、交易者如何兑换资产、以及费用如何分配。
核心要素有三个:
- 资金池(Liquidity Pool):存放两种或多种代币的智能合约账户
- 定价算法(Pricing Algorithm):根据池内资产比例自动计算兑换价格
- 激励机制(Incentive Mechanism):向流动性提供者分配交易手续费
重要概念:做市协议 ≠ 去中心化交易所(DEX)。DEX是前端界面+路由聚合,做市协议是底层的流动性引擎。Uniswap是DEX,但它底层用的是「恒定乘积做市协议」。
我在项目中遇到过不少团队把这两个概念搞混。他们说要「开发一个DEX」,结果只做了个前端界面,底层流动性全靠硬编码。嗯,这其实是个坑——没有做市协议的DEX,就像没有引擎的跑车。
2.2 常见做市协议类型
目前主流的做市协议主要有三种。我按市场占有率排个序:
| 协议类型 | 代表项目 | 核心公式 | 适用场景 |
|---|---|---|---|
| 恒定乘积 | Uniswap V2/V3 | x * y = k | 通用代币对,波动性资产 |
| 稳定币专用 | Curve | 混合函数(乘积+线性) | 稳定币/锚定资产 |
| 加权池 | Balancer | ∏ xᵢ^wᵢ = k | 多资产组合,指数基金 |
2.2.1 Uniswap 与恒定乘积做市
Uniswap用的是最简单的公式:x * y = k。x和y是池子里两种代币的数量,k是常数。
举个例子:假设池子里有100个ETH和200,000个USDC,那么k = 100 * 200,000 = 20,000,000。如果有人用1个ETH换USDC,池子里ETH变成101个,那么USDC必须变成20,000,000 / 101 ≈ 198,019.8个。所以他能拿到200,000 - 198,019.8 = 1,980.2个USDC。
你想想看,这个机制有个特点:交易量越大,滑点越高。因为k是常数,你买得越多,价格就越往不利方向移动。
实战技巧:我建议在做市商策略中,对Uniswap V2池子设置最大滑点保护。曾经有个项目没设这个,被三明治攻击吃了十几万美金。嗯,那场面挺惨的。
2.2.2 Curve 与稳定币做市
Curve解决的是Uniswap的一个痛点:稳定币之间交易滑点太高。比如USDC换DAI,两者价格应该接近1:1,但用恒定乘积公式,稍微大一点的交易就会产生明显滑点。
Curve的公式是个混合体:
// 简化版Curve公式
// 当池子接近平衡时,接近线性函数(低滑点)
// 当池子严重失衡时,退化为恒定乘积(防止耗尽)
x + y + D = A * D * (x + y) / (x * y) // 实际公式更复杂,这是示意
说白了,Curve在价格接近1:1时表现像线性函数,滑点极低;在价格偏离时又像Uniswap,防止池子被掏空。
我记得2022年有个做市商朋友,在Curve的3pool(USDC+USDT+DAI)里做套利策略,年化收益能做到15%以上。但后来UST脱锚那次,Curve池子严重失衡,很多人亏惨了。所以你看,再好的协议也有风险边界。
2.2.3 Balancer 与加权池
Balancer允许池子里的资产权重不同。比如一个池子可以是80% ETH + 20% USDC,而不是Uniswap的50/50。
公式是:∏ xᵢ^wᵢ = k,其中wᵢ是权重。
这个机制有什么用?举个例子,你想做一个ETH的指数基金,80%仓位在ETH,20%在稳定币。用Balancer,你一个池子就能搞定,而且自动再平衡。
合规警告:Balancer的加权池在某些司法管辖区可能被认定为「集合投资计划」。我曾经帮一个客户做合规审查,他们用Balancer池子做指数产品,结果被SEC盯上了。嗯,这事后来花了大价钱请律师才摆平。
2.3 协议的核心机制
不管哪种做市协议,底层都有几个共同的机制。我挑三个最重要的讲:
2.3.1 自动定价机制(AMM)
AMM(Automated Market Maker)是核心中的核心。它用数学公式代替了订单簿。
传统交易所的订单簿,需要买卖双方挂单才能成交。AMM不需要——你直接跟资金池交易,价格由公式决定。
这里有个关键点:AMM的价格并不总是等于市场价。如果链下市场ETH涨到2000 USDC,但Uniswap池子里的价格还是1900,套利者就会来搬砖,直到价格回归。
说白了,AMM依赖套利者来维持价格准确。没有套利者,AMM就是个封闭的玩具。
2.3.2 流动性集中机制
Uniswap V3引入了一个革命性概念:流动性集中。流动性提供者可以把自己的资金集中在某个价格区间内,而不是均匀分布在0到无穷大。
举个例子:
// Uniswap V2:流动性分布在 [0, ∞)
// Uniswap V3:流动性集中在 [1800, 2000] USDC/ETH
// V3的资本效率可以提升几百倍
// 但代价是:如果价格跌出区间,你的LP头寸就变成单边资产
我在项目中遇到过最典型的坑:有个做市商把流动性集中在很窄的区间,结果ETH一天跌了20%,他的头寸全部变成ETH,而且因为价格跌出区间,一分钱手续费都赚不到。嗯,这就是「集中流动性」的双刃剑。
2.3.3 费用与激励分配
做市协议通常收取0.01%到1%的交易手续费。这笔钱全部给流动性提供者。
分配方式有两种:
- 按份额分配:你存了池子10%的流动性,就拿10%的手续费
- 按时间加权分配:考虑你提供流动性的时长,鼓励长期持有
Curve还有个特殊机制:veCRV锁仓投票。锁仓的人可以投票决定哪个池子获得更多CRV奖励。这其实是个治理博弈——我见过有项目方花几百万美金买CRV锁仓,就为了给自己的池子拉流动性。
核心总结:做市协议的本质是「用算法替代人工,用资金池替代订单簿」。理解了这个,你就能看懂所有DeFi做市产品的设计逻辑。
2.4 知识体系结构图
下面这张图展示了做市协议的核心知识体系。我建议你保存下来,后面几章都会用到。
这张图把做市协议拆成了三层:定义层、类型层、机制层。底层是应用层,也就是我们后面要讲的做市商策略和合规框架。每一层都依赖下一层,不能跳着学。
学习建议:我建议你先吃透Uniswap的恒定乘积公式,因为它是所有AMM的起点。Curve和Balancer都是在它基础上做的优化。搞懂了x*y=k,后面学什么都快。
好了,这一章就到这里。做市协议的基础打牢了,后面讲策略和合规的时候你才不会晕。记住:协议是工具,策略是手艺,合规是底线。三者缺一不可。