• 熟悉defi AMM机制(CSMM,CLMM,CMMM),uniswap等
dex去中心化交易所,自动做市商amm
- DEX(去中心化交易所) 定义与核心特征 去中心化架构:DEX通过智能合约在区块链上运行,无需中心化机构托管用户资产,用户通过私钥直接控制资金。
交易方式:支持用户间点对点交易,交易直接在链上结算,透明且不可篡改。
安全性:降低中心化交易所被黑客攻击或跑路的风险,但需用户自行管理私钥。
实现方式 订单簿模式(如dYdX、Serum):
模仿传统交易所,买卖双方挂单,由订单簿匹配交易。 依赖市场深度和流动性提供者挂单,可能面临流动性不足问题。
AMM模式(如Uniswap、PancakeSwap):
使用算法和流动性池自动定价,用户与资金池交易,无需对手方挂单。 通过流动性提供者(LP)存入资产构建资金池,交易费用奖励LP。
可能有两点缺点 无常损失:当池内资产价格波动时,LP可能面临相对于持币的损失。 依赖流动性深度:资金池规模小可能导致大额交易滑点高。
Uniswap(AMM模式)、dYdX(订单簿)
https://www.btcfans.com/zh-cn/article/68347 //这是dex三种主流做市商的介绍
- 自动做市商 AMM 模式
去中心化价有所值,AMM 模式由 Bancor 首先实践,由 Uniswap 率先实践成功,AMM 英文为 Automated market maker,意为自动做市商模式,它是相对于传统中心化交易所的做市商模式来说 的,AMM 相当于是去中心化的做市商模式,人人都可以成为流动性。
- 动态做市商 DMM 模式
Kyber 之前在 DeFi 中建立了第一个流动性聚合协议和链上端口(end point),同时 KyberPRO 框架 也迎合了专业的做市商。Kyber DMM 是专为散户流动性提供者和代币团队设计的新型流动性协议, DMM 解决了自动做市商(AMM)的两大关键问题:资本效率低下和无常损失。
- 主动做市商 PMM 模式
PMM 模式是 DODO 原创的做市商算法,英文为 Proactive Market Maker,意为主动做市商算法。它是一种具有通用性的流动性框架。这也是 DODO 跟其他 DEX 存在区别的重要原因。PMM 模式通 过引入价格参数获得某个代币的当前市场价格,这样可以将大量的做市资金聚集在市场中间价附近, 可以实现相对平缓的价 Tritium Ventures 格曲线,可以提供更充足的流动性。
而针对于amm来说, 有cssmm,Constant Sum Market Maker,恒定和做市商, x+y=k,线性关系,
特点 零滑点:无论交易量多大,价格始终保持线性关系,适合稳定币交易(如USDT/USDC)。
流动性枯竭风险:池中某一资产可能被完全耗尽(例如当价格偏离外部市场价格时,套利者会不断交易直至池内资产失衡)。(这个不是很理解)
无法适应价格波动:若资产价格波动较大(如ETH/BTC),池子会迅速失衡。
无常损失高:套利行为会导致流动性提供者(LP)损失。 2. CPMM(Constant product Market Maker 恒定积做市商) x×y=k x的价格p = y/x; y = 1/p = x/y , 同理于csmm
CPMM的核心公式为:
[ x \times y = k ]
- x 和 y 是流动性池中两种资产的数量,k 是恒定乘积值。
- 价格由资产比例决定:例如,资产X的价格为 ( P = y / x ),资产Y的价格为 ( 1/P = x / y )。
- 交易规则:用户购买一定数量的资产X时,必须支付对应数量的资产Y,使得乘积 ( x \times y ) 始终保持不变(忽略手续费)。
假设ETH/USDC池中有:
-
100 ETH(x)
-
200,000 USDC(y)
此时 ( k = 100 \times 200,000 = 20,000,000 ),ETH价格为 ( 200,000 / 100 = 2000 ) USDC。 -
用户购买10 ETH:
- 池中ETH减少为 ( 100 - 10 = 90 ),需满足 ( 90 \times y = 20,000,000 ),则 ( y = 20,000,000 / 90 ≈ 222,222.22 ) USDC。
- 用户需支付 ( 222,222.22 - 200,000 = 22,222.22 ) USDC,实际成交价为 ( 22,222.22 / 10 ≈ 2222.22 ) USDC/ETH(高于初始价格,体现滑点)。
- 简单且去中心化:无需订单簿,仅依赖数学公式自动定价,适合链上执行。
- 抗流动性枯竭:理论上,池中资产永远不会耗尽(但价格可能趋于无穷大或零)。
- 支持长尾资产:任何代币均可通过创建资金池快速上市交易,无需传统做市商。
- 高滑点:大额交易会导致价格显著偏离(尤其是低流动性池)。
- 无常损失(Impermanent Loss):当池内外资产价格波动时,流动性提供者(LP)的资产价值可能低于单纯持有。
- 示例:若ETH价格从2000 USDC涨至4000 USDC,LP的资产组合价值增长幅度低于单纯持有ETH。
- 资本效率低:资金分散在所有价格区间,大部分流动性未被有效利用(Uniswap V3通过集中流动性优化此问题)。
- 当价格波动时,LP的损失与价格变化幅度正相关。
- 举例:
- 初始池:1 ETH + 2000 USDC,总价值4000 USDC。
- ETH涨至4000 USDC后,池中资产变为 ( \sqrt{1 \times 2000 \times 4000} ≈ 44.72 ) ETH和 ( \sqrt{1 \times 2000 \times 4000} \times 4000 ≈ 178,885 ) USDC,总价值约 ( 44.72 \times 4000 + 178,885 ≈ 357,777 ) USDC。
- 单纯持有1 ETH + 2000 USDC的价值为 ( 4000 + 2000 = 6000 ) USDC。
- 无常损失率 = ( 357,777 / 6000 - 1 ≈ -40.37% )。
- Uniswap V3(集中流动性):
- LP可自定义价格区间提供流动性,提升资本效率(属于CMMM范畴)。
- 公式调整为分段函数,不同区间内仍遵循 ( x \times y = k )。
- Balancer(多资产池):
- 扩展为多资产池,公式为 ( \prod x_i^{w_i} = k ),支持自定义资产权重。
机制 | 公式 | 适用场景 | 核心差异 |
---|---|---|---|
CPMM | ( x \times y =k ) | 高波动性资产 | 简单通用,但滑点较高 |
CSMM | ( x + y =k ) | 稳定币(理论场景) | 零滑点,但易导致流动性枯竭 |
CLMM | 混合CSMM和CPMM | 稳定币/锚定资产 | 低滑点且抗枯竭(如Curve) |
- CLMM(Constant Liquidity Market Maker,恒定流动性做市商) 结合加法和乘法的特点,引入权重参数 χ,
特点 低滑点稳定币交易:在价格接近1时(如USDC/USDT),CLMM表现类似CSMM,滑点极低;当价格偏离时,切换为CPMM模式防止流动性枯竭。 高效资本利用率:相比纯CPMM,相同流动性下支持更大交易量。 依赖价格稳定性:若交易对价格波动大(如ETH/BTC),效率低于CPMM。 复杂性:模型参数需动态调整,对算法设计要求高。