黑暗森林的故事越来越有意思,猎人在捕杀猎物的同时也是猎物。
最开始,三明治套利机器人猎杀普通用户。随后,三明治套利机器人遭被诱捕,那些自以为是猎人的人也可能是猎物。
4 月 11 日,有用户从三明治套利机器人手中掠取了超过 100 枚 ETH。随后,遭到掠夺的机器人察觉到了新的机会,并开始对猎杀此前的同行,获利 300 枚 ETH。
加密货币爱好者 Robert Miller 总结并记录了这一切,律动 BlockBeats 整理如下:
想要了解这一过程,需要了解一些关于 Flashbots 的知识。Flashbots 可以被视为用户通过「捆绑交易」直接向矿工传达自己的交易排序的一种方式。使用 Flashbots 的用户不支付 gas 费用(gas price)而是支付调用智能合约费用,该合约的调用能够使矿工捕获 ETH。
如下图所示,这是执行该操作的套利者,套利机器人向星火矿池支付了 0.075 ETH 智能合约调用费用,并且 gas price 为 0。
矿工可从交易用户身上获取捆绑交易(带来的较高转账费),其中包含能进行套利空间的交易。
机器人同样也喜欢捆绑交易,因为他们参与套利只为其中包含的交易付费,并且支付的费用可推测。
三明治套利机器人会监控参与 DEX 交易的 mempool,然后进行三明治套利:在受害人买入前买入拉高价格,在受害人买入时卖出获取利润。这三笔交易(TX:机器人买入,受害者买入,机器人卖出)组成了一套捆绑交易。(注:机器人卖出交易包含了向矿工支付智能合约费用)
三笔交易
向矿工支付智能合约费用
向矿工支付智能合约费用是非常重要的一步,这将是猎杀套利机器人的关键。因为只有机器人出售此前买入的代币并获得利润才会触发这一步。如果出售失败(即第三笔交易失败)则不会向矿工支付智能合约费用,因此也不会被打包为捆绑交易。
为了套利,机器人会在本地进行模拟交易。如果模拟顺利通过,机器人才会开始进行套利。
在 Nathan Worsley 发表沙门氏菌的文章之后,有一群人开始对三明治套利机器人进行诱杀。
(律动注:沙门氏菌是由 LocalCoinSwap 联合创始人 Nathan Worsley 创建的 ERC20 诱饵代币,详情可阅读《以太坊黑暗森林的一次猎杀:套利机器人惨遭套利 130ETH》、《摧毁三明治套利的乐趣和利润》)
正常的三明治套利中,如果没有赚钱 ETH,便无需付款。并且套利机器人也会进行模拟,以查看是否会在套利完成前被捕获。
但是,有两个聪明的人寻找到了套利机器人的弱点。
套利机器人的第一道防线是事前进行模拟,这是通过 ERC20 传输函数完成的。该函数通过检查该区块是否有 Flashbots 矿工开采。如果是,则减少交易,下图为我的伪装代码,本地模式看起来不错,但是可欺骗三明治套利机器人。
第二道防线为上文所描述的,套利机器人以向矿工付款作为判断条件。该条件可以通过使用 ERC20 代币向矿工支付从而绕开(通过代码实现)。
因此,即使套利机器人出售失败,矿工仍将获得报酬。
三明治套利机器人购买了 100 枚 ETH 的沙门氏菌代币。
代币所有者诱捕机器人后自动触发转移功能,该功能自动向矿工支付 0.1 ETH。
套利机器人的第三步交易「出售」无法进行。
由于套利机器人的三笔交易是捆绑提交的,因此三笔交易「套利机器人买入」、「诱捕买入」、「出售失败」都被区块网络收录了。
第一个实验的用户已通过该方法赚取了约 100ETH。详情:https://etherscan.io/token/0xe253a1f7d5818022661bfbd2cbe043b642b4eff9?a=0x01f8d5a4862d51d2cf0cf52ac900a4d60adaeee6
遭到猎杀的三明治套利机器人之一是一名优秀的 Flashbots 操作人员,在遭到猎杀后,他开始了一轮新的行动。
短时间,受害者变成了一个顶级的掠夺者。
他推出了类似但略有不同的 ERC20 代币(YoloChain),并成功诱捕了更多的三明治套利机器人。仅靠捕获套利机器人,他赚取了 300 ETH 的利润。
随后,获利 100 ETH 的沙门氏菌代币发行者注意到了这名遭到其猎杀并反手猎杀同类的机器人,他在 Flashbots 的 Discord 中使用加密邮件签名写下对这位机器人的敬意:
恭喜你 0x2,我的马虎使我失去了这些赚钱的机会。我尊敬你,没有多少人有你这样的反应。
有几名机器人在该事件中被榨干了。两名沙门氏菌代币发行者所捕杀的机器人的利润约为 400 ETH,当然,可能还有更多机器人被捕杀了。不过,目前捕杀已经结束了。套利机器人已经注意到了该事件并更新了程序。
事后,有三明治套利机器人的操作者表示,三明治套利并非永远安全.
黑暗森林是个危险的地方,正如 11 日所表现的,那些自以为是猎人的人也可能是猎物。