三明治攻击是什么?预防三明治攻击的方法详解

三明治攻击是一种吃你豆腐的抢先交易,据估计一年潜在获利超过百万美金,矿工可以看到所有未被打包的暂存交易,发现有利可图就可以在其中安插对自己有利的交易,透过贿赂的方式(提高gas 费) 让自己的交易优先被处理。考量到贿赂成本、交易手续费,只有在特定情况下有获利机会,这时候才会发动三明治攻击,三明治攻击大多是由MEV 机器人发现与发动,迷因币因为流动性低、交易快、高滑价的特性更容易被三明治攻击。预防三明治攻击的方法:设定滑价限制、使用防三明治攻击的服务(钱包、RPC)。

根据估计,交易者每年被三明治攻击赚走数百万美元

根据估计,每年从三明治攻击中获得的利润在百万到数百万美元之间,尤其常出现在低流动性的迷因币交易。

如果你不知道三明治攻击是什么?那你可能就是正在被攻击的新鲜韭菜

因应如此庞大的市场机会,抗MEV 也成为另一种领域赛道。2023 火热的Telegram BOT,其中就有多款机器人具备MEV 保护的功能,帮助你炒币不被扒皮。

或直接从DeFi 协议的层级来抗MEV,例如可以防止三明治攻击的去中心化交易所:

三明治攻击是什么-一种吃你豆腐的抢先交易

直接先看两张示意图:

在这个案例中,原本只要花$63.8 就能买到一千颗狗狗币,实际上却花了$64,因为被矿工抢先交易吃了豆腐。

差$0.2 似乎很少,但这只是个案例示意,真实情况中,差距达5%、10% 甚至以上都有可能,该笔交易金额愈大被赚走的愈多。

白话说明什么是三明治攻击:

其实就是插队

矿工发现有利可图的交易后,在该笔交易前后抢先安插其他交易,例如在你要买进之前先买进,价格拉高后倒卖给你;或反过来在你卖出之前先卖出,价格压低之后再跟你买回。

在你的交易之前抢先交易,吃豆腐占便宜。

为什么会发生三明治攻击?-基于区块链MEV 

之所以会发生三明治攻击,是基于区块链本身的运作机制。

当我们在链上发起一笔交易,这笔交易会先被送到公开的交易池暂存,这池被称为mempool,等到共识机制选出下一个要负责打包区块的矿工,该矿工就会从mempool 中选出交易打包成区块上链,一旦上链后交易就不能更改了。

在发送到mempool 之后,到打包成区块之前,这之间的时间差就让矿工有赚钱的机会,这被称为MEV (Miner extractable value) 矿工可提取价值。

一句话说明MEV 是什么

在发送交易到被打包成区块上链之间,矿工藉由调整交易顺序或在交易之间添加交易的方式能赚走的利润。

MEV 能赚的利润不只三明治攻击,还包含了套利与清算,原理都是在链上发现获利机会后,在交易打包之前添加对自己有利的额外交易来获利。

三明治攻击常见问答

为什么我的交易会被矿工看到?

因为mempool 是公开的,所有链上矿工、验证者都看的到。

为什么矿工可以安插额外交易?

因为处理交易的顺序取决于矿工,这可以透过提高gas 费来影响他们处理的顺序,也就是说可以透过提高手续费来贿赂打包区块的矿工,让他优先将交易安插进去。

三明治攻击实际流程是怎样?

有人发起一笔交易,根据区块链的运作流程,交易在被打包进区块前会先被发送到mempool 暂存池公开广播,某矿工侦测到发现有利可图,在这笔交易前后添加对自己有利的交易,把这几笔交易先打包成bundle(打包交易),贿赂负责打包区块的矿工处理接受这个bundle,区块打包上链,交易完成,赚走收益。

速度这么快人类怎么跟的上?

实际上是由机器人执行的,有许多MEV 机器人随时在监看有无赚钱机会,不只寻找三明治攻击机会,也做套利与清算。

为什么玩迷因币最怕被三明治攻击-低流动性+ 抢快

迷因币,根据维基百科的说明,指源自互联网梗图、搞笑图或有其他幽默元素特征的加密货币。2013 年底,一位软体工程师带着开玩笑的本意采用Doge 这个网络梗图来发行了狗狗币,就这样开启了迷因币的热潮。

尽管开创原因无厘头,但在市场中最容易因为「社群共识」而带来大幅流量进而导致FOMO 心态的币种也非迷因币莫属。迷因币动辄百倍、千倍的涨幅,造就了迷因币玩家「不怕买错,就怕错过」的心态。

但迷因币毕竟是小币居多,不是主流知名币种,通常还没上主流交易所,还在相对冷门的链或DEX 中才能交易,通常流动性都不够。

买卖迷因币时的两个特性:低流动性+ 怕错过的心态

怕错过就会抢快,没有耐性分批小额下单买卖,总是想快手一两笔买完,没有耐性细看交易设定,立刻就要下单成交,所以在交易时,交易者常常会调高滑价以让交易机率成功,能够最早买到。

低流动性让交易容易发生滑价,特定人士想要操控价格也相对容易。矿工更容易拉高价格,更容易拉高三明治攻击的利润。

综合起来,三明治攻击更容易发生在迷因币的市场,更有获利空间。某位链上匿名交易者,就靠着针对迷因币的三明治攻击,两天内赚了两百万美金。

预防三明治攻击的方法

下单时设定滑价限制

三明治攻击是一种链上交易的攻击,如果是在中心化交易所交易就不会有这问题。在去中心化交易所交易时,通常可以设定该笔交易可以接受的最大滑价,切记不要设定太高,滑价设定愈高+ 该笔交易金额愈大,愈容易遭受三明治攻击。

以交易所DODO 为例,在交易Swap 的介面右方小齿轮按下去可以做进阶设定,其中就可以设定最大滑价限制。

或Balancer 交易所,在Swap 右方小齿轮按进去也可以设定滑价限制。

这目前已经是多数去中心化交易所的基本功能,送出交易前务必要设定。切记:滑价设定愈高+ 该笔交易金额愈大,愈容易遭受三明治攻击。

但设定太低也会造成难以成交,关键还是不要在流动性不足的市场里做大额交易,宁可小金额分批买入。

使用防MEV 的服务(BOT、DEX、RPC)

直接使用提供MEV 保护的工具,例如文章前段提到的,2023 火热的Telegram BOT 中就有数个机器人提供MEV 保护功能。

或是直接在提供MEV 保护的去中心化交易所交易,例如CowSwap。

更进阶的方式是使用抗MEV 的RPC(Remote Procedure Call)。RPC 是区块链中的一种远端互动协议,用来将我们的交易发送到mempool 暂存池。某些抗MEV 的服务会提供不同的RPC,将交易直接发送给矿工处理,而不是发送到公开的mempool,以此来避免被三明治攻击。

做法上是找到对应的RPC 后,自行在小狐狸钱包Metamask 中设定更改。

可用的协议例如FlashBots,或知名去中心化聚合器1inch 推出的抗MEV 服务RabbitHole,都可以直接在Metamask 中添加它们的RPC 来做到抗MEV。

这就是相对进阶的方式了,需要对加密钱包有一定程度的理解,不建议新手使用。

本文链接地址:https://www.wwsww.cn/jishu/21277.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。