DEX 滑点
我们在使用 DEX(去中心化交易所如 Uniswap)时,总会看到 Slippage 一词,中文译作“滑点”。
举例来说,就是你花 1000 块钱跟 DEX 说好买一百个鸡蛋,到手可能只有八十个。
Wow,让人惊叹。现实生活中如果发生这样的事,你应该早拉黑店家了。
所以为什么会发生这样的事?
要从 DEX 的 AMM 模型(Automated Market Maker)说起,摘一段无常损失文章里聊到的:
简单的说,这是 AMM(Automated Market Maker) 的定价方式导致的。拿 Uniswap v2 来说,x * y = k,a 币的数量 x 乘以 b 币的数量 y 等于一个常量 k,由此推导出 a、b 币的价格。比如我两天前在 Uniswap 池子存进一个价值 $20k 的 BTC,则要存入 2 万个价值相当的 USDC。20000 * 1 = 20000,即 k = 20000。你可以想像,池子里假如比特币数量变成 0.5 个,则 USDC 的数量就会变成 40000 个,即对池子来说,一个比特币价值 $80k。
是了,在你与 DEX 交易的同时,DEX 可能还跟另外一千个人交易,而这其中有人(或干脆是机器人)在你的交易完成之前花 10000 块钱买走一千个鸡蛋,池子里钱多了,鸡蛋少了,根据 AMM 模型的定价方案,一下就拉高鸡蛋的价格,导致你的 1000 块钱只能买八十个。
也因此,DEX 提供了滑点设置,允许你设定自己可接受的滑动区间 - 假如在你交易确认时,价格变动导致你能买到的数量滑出该区间,交易就会失败。这是一种 DEX 保护机制。