推特账号@BowTiedPickle分享了一个USDC恐慌下造成的「惨剧」。
一名用户使用聚合交易器KyberSwap卖掉价值208万美元的3CRV LP代币(注:Curve的流动性池凭证,内含DAI/USDC/USDT)),最后竟然只换成0.05USDT。
@BowTiedPickle解释,这个交易行为的合理性本来就值得讨论。因为他其实只需要提出3CRV LP代币流动性,承受6%的滑价就好了,但可能这名用户太焦躁了。他赶着兑换,就忘记正确设定滑价,就发出交易了。
故事中的另一个主角是Uniswap V2池中的「0x7d36fbd3」,提供3CRV/USDC的流动性。这个池子只有2美元的流动性,在过去251天都没人用过。
当两百万价值的3CRV LP代币,套用在Uniswap的定价公式上(x*y=k),悲剧就发生了。
由于这个流动性池严重失衡,MEV机器人就来抢下这笔交易交易。它花了45美元的Gas Fee,还有MEV节点贿赂费用39,000美元,最后得204.5万美元。这个机器人并不复杂,只有backrun、flashbots跟解包装3CRV LP代币而已。
@BowTiedPickle表示,这件事的原因是双重错误造成的,第一件事是用户没有正确理解并设定滑价,第二件事是聚合交易器KyberSwap的交易路径采用了一个没人用的Uniswap V2池进行了200多万美元的交易。流动性仅有两美元,MEV机器人也不是刻意发动,只是在清理交易而已。
事后,KyberSwap也做出回应,表示系统当时已经提示会有这样异常的交易结果,但用户仍选择接受。他们也将会改进界面,做好警示与区别。