CSMM(Constant Sum Market Maker)恒定和做市商,是零滑动的理想选择,但是不能提供无限的流动性。恒定和做市商的定价模型是X+Y=K,K为常数,在这个模型中,X和Y的兑换关系永远是1:1,所以会存在其中一种资产被另外一种资产全部兑换完的情况,从而丧失流动性。这种情况将摧毁流动性池的一方,迫使流动性提供者承受损失,并使得交易者不再有流动性。因此,恒定和做市商(CSMM)并不是一个常见的AMM模型。图2. CSMM的资产定价模型来源:Dmitriy Berenzon
CMMM
CMMM(Constant Mean Market Maker)恒定平均值做市商,它允许创建可拥有两个以上代币,并在标准50/50分布之外加权的AMM。在这种模型中,每个储备资产的加权几何平均数保持不变。对于有三种资产的流动性池,它的公式如下:(X*Y*Z)^(⅓)=K。CFMM对于两个代币的交易对,不管是CPMM还是CSMM,都存在固有的弊端,CPMM虽然可以提供永久的流动性,但是交易滑点会比较明显,CSMM虽然是零滑点的理想选择,但是不能提供无限的流动性,所以将两者优点相结合的混合CFMM模型出现了。CFMM(Constant Function Market Maker)混合恒定函数做市商,结合了多种函数和参数,以实现特定的行为,如调整流动性提供者的风险敞口或减少交易者的价格滑点。如图3,Curve AMM就是结合了CPMM和CSMM两者的优势,在给定范围内,X和Y遵循CSMM,这样在交易过程中就会减少滑点,当X或者Y一方供给量大幅增加或者减少时,X和Y的价格关系遵循CPMM,以保证流动性的存在。图3. 混合CFMM定价模型来源:Curve白皮书━━━━━AMM的三大固有问题及改进方案阻碍AMM发展的主要因素有无常损失(Impermanent Loss)、多代币敞口风险以及低资本效率。无常损失无常损失IL是指流动性提供者将代币存入AMM中与简单地将代币存入钱包中存在价值差异。造成无常损失的原因主要是因为某个代币的市场价格发生变化时,在AMM系统中未能及时反映价格的变化,套利者卖出被高估的代币或者抄底被低估的代币,使得流动性提供者的利益受损。当代币的价格在AMM中恢复至市场价格时,套利者将不再通过买卖套利,从而无常损失及时停止。在AMM设计的模型中,代币的价格是根据流通占比以及既定的函数模型自动得出的,并不能及时反映代币的市场价格,所以会有套利者的出现。那么如果让AMM中代币的价格与其市场价格锚定,是不是就没有利差,从而降低无常损失呢?答案是肯定的。为了让AMM中代币的价格更加及时贴近其市场价格,Defi领域诞生了预言机(Oracle)。预言机提供定价更新来调整AMM的权重,使内部汇率与外部市场价格相匹配,而不是套利者来修复汇率。这样做的好处是,套利者不再以无常损失的形式从流动性提供者手中夺走价值。