Invariant是去中心化交易所AMM自动做市机制里的核心约束条件,中文常译作不变量,它是整套链上定价逻辑的数学根基,决定资金池内资产储备在交易发生前后需要维持的固定函数关系。在传统订单簿交易所中,价格由买卖挂单撮合形成,而DEX没有中心化撮合引擎,每一笔代币兑换,都会改变池内两种或多种代币的库存数量,Invariant公式会强制约束库存变化后的计算结果保持常数k不变,智能合约以此算出交易输出代币数量,完成链上swap兑换。不同DEX协议会设计差异化的不变量公式,衍生出恒定乘积、恒定和、加权多资产、稳定交换曲线等主流做市模型,适配波动率各不相同的加密交易对。
最广为人知的Invariant实现来自恒定乘积模型xy=k,也是早期UniswapV2的底层逻辑,x、y分别代表资金池内两种代币的储备数量,每一笔交易执行,k值在不计手续费的前提下保持恒定。当用户买入某类代币,池内该代币储备减少,另一种代币储备增加,曲线会自动推高目标代币的报价,交易规模越大,滑点也会同步放大。手续费会在代币进入资金池前扣除,不会参与不变量运算,手续费收益直接累积到资金池内,由流动性提供者LP按份额享有。这套不变量机制不需要外部价格预言机介入,完全依靠池内资产储备完成定价,保证合约可以在公链上独立运行,但也带来天然短板,在大额交易场景下滑点损耗会明显上升。
不同业务场景会对应完全不同的Invariant曲线设计,这也是DEX协议差异化竞争的关键点。针对稳定币这类价格锚定1美元、波动率极低的资产,Curve设计的StableSwap不变量,结合恒定和与恒定乘积两种曲线特征,在锚定价格附近可以实现极低滑点,适合大量稳定币互换交易。Balancer的加权不变量模型突破了双代币限制,可以支持三到八种代币同时存在于一个资金池,还能自定义各类资产权重,满足用户做市同时实现资产组合再平衡的需求。UniswapV3的集中流动性并没有抛弃Invariant,而是把不变量约束限定在用户选定的价格区间内,不在区间内的流动性不会参与交易运算,以此大幅提升资金使用效率,不过也要求流动性提供者主动管理价格范围,否则LP会完全无法赚取手续费收益。
理解Invariant,也有助于看清流动性提供者面临的无常损失风险,无常损失并非合约漏洞,而是不变量数学模型带来的固有博弈结果。外部市场代币价格出现大幅波动后,资金池内部价格会和外部市场价产生价差,套利者会进入池子开展交易,推动池内价格向外部市场对齐。套利完成之后,LP手里的资产配比会发生改变,资产组合的实际价值会低于当初单纯持有代币的收益,这部分差值就是无常损失。只有当代币比价回到提供流动性时的初始状态,不变量计算下的资产价值才会复原;如果LP此时撤出流动性,浮动的无常损失就会转化为实际亏损。流动性提供者的收益本质上是交易手续费和无常损失之间的博弈,高交易量带来的手续费收益,有可能覆盖价格波动带来的损失。
Invariant不是一套万能方案,各类不变量模型都存在取舍,交易者、流动性提供者都需要结合自身需求权衡。恒定乘积不变量适合主流高波动代币交易,缺点是小额资金做市资本效率偏低;稳定类不变量在稳定币兑换表现优异,但遇到锚定彻底破裂的脱锚事件,资金池资产会出现快速流失;集中流动性不变量显著提高资本效率,却增加了LP的操作门槛。DeFi持续迭代,也出现结合外部预言机辅助修正不变量曲线的改良方案,尝试平衡滑点、资本效率与无常损失,但外部数据源的引入,又会带来新的合约安全隐患。不管DEX产品如何迭代演变,Invariant作为AMM的底层数学骨架,依旧是理解去中心化交易所运行逻辑不可跳过的核心知识点。

