Karura Swap 已上线第一个交易对 KSM-KAR 已经一周,结合 Karura Swap 的运行机制,对于社区提问比较多的无常损失问题进行讨论。
Karura Swap 是 Karura 网络中的一大 DeFi 功能,是去掉传统交易所一切可去除的中心化环节(包括撮合与清算)的链上资产互换功能。
Karura Swap 采用了 AMM(Automated Market Maker) 自动化做市商机制,做市商(Market Makers,MM)在金融市场中是指,为市场提供大量买卖挂单的个人或者机构,他们的主要目的不是为了在代币价格的涨跌中获利,而是为了获取价差(Spread),价差是指最高出价(买一)和最低卖价(卖一)之间的差异。做市商为整个市场提供了流动性(Liquidity)。流动性是指资产可以在市场买卖而不会遭受大额的损失或者溢价,即市场上有大量的订单,使得人们可以在市场价格快速的买入或卖出资产。所以,做市商又称作流动性提供者。做市商需要有大量的代币,才能形成大量的订单,并在市场价格波动的时候,确保自己的某一种代币不会消耗完。AMM (Automated Market Maker,自动化做市商)则是用算法代替了传统做市商的人工报价,将一个代币池作为用户的交易对象。代币池包含了两种或多种交易对,它们本身有一个算法,这个算法为用户提供实时的代币汇率。传统做市商仍然能参与其中,即将他们手中的大量代币添加进代币池。这个代币池因为汇聚了做市商的流动性,所以 AMM 也被称作流动性池(LP,Liquidity Pool)。AMM 的算法能提供市场价格的原因,在于市场上套利者(Arbitrager)的存在。AMM 提供的价格高于或低于市场,都有套利者到这里进行交易,获得偏离市场价格的差价作为回报,同时将 AMM 池子的价格带回到市场价格。
03
如何了解 Karura Swap 里的价格变化?
Karura Swap 所采用恒定乘积做市商模型与 Uniswap 类似,具体公式为:X * Y = K
其中 X、Y 代表不同加密资产的数量,两者乘积为 K,K 是恒定常数,K 的值由第一笔注入的流动性决定,但无论 K 值初始设定为什么,由于市场上存在套利者,使得 K 的值最终适应市场价格。以 KAR/KSM 为例,来说明 Karura Swap 的流程,假设初始价格为 1 KSM = 40 KAR,流动性池中的 KSM 储备量为 10,KAR 为 400,则 k 值为 4,000。用户用 1 个 KSM 购买 KAR 的流程为(在忽略交易手续费的情况下):用户发送 1 KSM 到流动性池;
流动性中的 KSM 数量更新为 10 + 1 = 11;
流动性池中的 KAR 数量更新为 4,000/11 = 363.63;
用户收到的 KAR 的数量为 400-363.63 = 36.36,即用户使用 KSM 购买 KAR 的价格为 1 KSM = 36.36 KAR;
此时,新的 k 值为 11*363.63 = 3999.93。
恒定常数 K 的存在是为了计算出兑换率,也就是当 X * Y = K,其中 X 变时,只有 K 不变才能求出 Y,在一笔交易发生前就会计算出这个恒定常数,根据新注入不同数量的代币才能去计算能够换出的代币数量。每次兑换之后,会产生新的流动池(新的 Xn、Yn),同时也会产生新的恒定常数 Kn。
在 AMM 的运作环境下,流动性提供商(LP)向 AMM 资⾦池提供流动性时,因资产外部市场价格波动⽽产⽣的损失。无常损失仅在 AMM 模式下存在,在资产价格恢复后可能消失。但在多数情况下,由于资产价格不能恢复到原位,无常损失实际是永恒的(Permanent),也因此被称为差异损失(Divergence Loss)。
当流动性提供者在将流动性提供给资⾦池后,获得资⾦池的部分所有权,即资⾦池资产的「股份」(LP Tokens)。套利者在修正链上价格的过程当中,其获得的利润便是资⾦池的损失,也因此使得 LP 和被动持有资产相比受到损失。若不计交易⼿续费和滑点,无常损失的具体发⽣步骤如下所示:假设 KAR/KSM 资⾦池拥有 10 个 KSM 和 400 个 KAR,内部价格 1 KSM = 40 KAR,初始市场价 1 KSM = 40 KAR。资⾦池内部价格和市场价相等,资⾦池平衡︔
假设 LP Alice 为上述资⾦池提供了 1 KSM/40 KAR,则 Alice 拥有上述资⾦池 10% 的「股份」;
KSM 外部市场价格上升至 240 $ 且 KAR 价格不变还是 4 $,1 KSM = 60 KAR,⽽资⾦池内部价格仍然为 1 KSM = 40 KAR,套利空间产生;
套利者 Bob 从资⾦池以 40 KAR 的价格买⾛1 个 KSM,资⾦池剩余 9 KSM 和 440 KAR,资⾦池失衡,KSM 储备减少且资⾦池内部 KSM 价格上涨,套利空间持续存在,直至 KSM 内部价格涨至 60 KAR(外部市场价格);
Alice 想在资⾦池为 9 KSM/440 KAR 时撤回资⾦,Alice 实际撤回的为 10% * 9 KSM/440 KAR, 即 0.9 KSM 与 44 KAR。那么 Alice 此时的资产价值为 0.9*240 + 44*4 = 392 $;
Alice 若被动持有 1 KSM/40 KAR,其资产价值应当为 1*240 + 40*4 = 400$ 。作为 LP,Alice 产生了 8 $ 的无常损失。
由上述无常损失的产⽣逻辑可知,无常损失的大小和资产价格波动程度正相关,并且所有采⽤资⾦储备对资产进⾏定价、依赖套利者调整链上资产价格模式的 AMM 都⼀定存在无常损失。取决于资产外部价格波动的大小,LP 产⽣的无常损失可能被交易⼿续费和流动性挖矿收益补偿。
点击下方链接关注 AcalaClub 公众号,一起玩转 Acala / Karura。