关键字: AMM, Decentralized Exchange, Impermanent Loss, Slippage, DeFi
概述: 本文深入探讨了自动做市商(AMM)的机制,这是去中心化交易所(DEX)的基础。文章解释了 AMM 如何通过算法确定价格,而非传统的订单簿匹配,从而实现去中心化、自动化和持续运行。文章详细分析了 AMM 生态系统中的参与者、资产类型、奖励机制以及显性和隐性成本。此外,文章还深入探讨了 AMM 的数学模型,包括交换、滑点和无常损失的计算公式。最后,文章比较了不同的 AMM 协议,如 Uniswap V2/V3/V4、Balancer 和 Curve,并讨论了 AMM 中常见的安全风险,如闪电贷攻击、拉盘和三明治攻击,并提出了相应的缓解措施。
分节阅读:
- Introduction:
- 自动做市商(AMM)是去中心化交易所(DEX)的基础,通过算法确定价格,而非传统的订单簿。
- AMM 的优点是去中心化、自动化和持续运行,但缺点是可能出现高滑点和无常损失。
- Uniswap 引入了恒定乘积公式作为协议的基础,所有操作都必须满足一定的守恒函数不变量。
- Fundamental AMM Economics:
- AMM 生态系统中有四个关键参与者:流动性提供者(LPs)、交易者、套利者和协议/治理方。
- AMM 中有四种类型的资产:风险资产、基础资产、LP 份额和协议代币。
- AMM 使用流动性奖励、治理权和质押奖励等激励措施来鼓励参与和贡献。
- Formalization of mechanisms:
- 区块链通常被建模为状态转换系统,其中池的状态由代币数量、价格、守恒函数不变量和协议超参数描述。
- 代币价格在纯粹的流动性提供/提取时保持不变,而守恒不变量在纯粹的交换活动中保持不变。
- 代币的价格只有在资产以与当前储备比例成比例的方式存入时才能保持不变。
- Generalized Formulas:
- 交换可以分解为三个步骤:池接收代币并更新储备量,使用守恒函数计算新的储备量,并将差额发送给用户。
- 滑点衡量的是实际成交价格与交换发生前的现货价格之间的偏差。
- 无常损失衡量的是池中资产的价值与在池外持有时的价值之间的差异。
- Comparison of AMM protocols:
- Uniswap V2 的流动性池始终由两种资产组成,并使用恒定乘积公式作为守恒函数不变量。
- Uniswap V3 允许流动性集中在债券曲线的一部分,从而减少特定价格范围内的滑点。
- Uniswap V4 引入了 Hooks,允许开发者自定义 AMM 的逻辑。
- Balancer 允许每个池拥有两个以上的资产,并为每个资产分配权重,其守恒函数不变量是每个资产储备的加权乘积。
- Curve 支持两种或多种具有相似挂钩的资产,并使用放大系数来控制债券曲线的行为。
- AMM Security Considerations:
- 闪电贷攻击利用 AMM 作为价格预言机,通过操纵价格来获取利润。
- 拉盘是指项目方在吸引用户购买代币后,撤回流动性并抛售代币。
- 价格三明治攻击是指攻击者通过在用户交易前后进行交易来获取利润。
- 三明治 LP 攻击是指 LP 通过在用户交易前后提取和重新提供流动性来获取利润。
相关工具:
参考文献: