以太坊黑暗森林的一次猎杀:套利机器人惨遭套利130 ETH_NCE:END

注:针对近期频繁发生的以太坊三明治套利交易,开发者CodeForcer创建了一种名为“沙门氏菌”的ERC20诱饵代币,通过这种方式,其在24小时内实现盈利130ETH,而这也告诉了我们关于以太坊网络Mempool黑暗森林的对抗性。

以下是CodeForcer撰写的内容:

那些追踪以太坊mempool行动的人已意识到了三明治交易的突然兴起,对于不了解这一概念的读者来说,三明治交易是一种非常有趣的策略,其原理就是在受害者交易前后进行交易,并通过产生的滑点实现套利。

比方说,当有人进行一笔资产交易,套利者便抢在他之前购买同一资产,然后等到对方成功买入后,套利者再卖出后即可获利。

这种策略在过去是非常高风险的,因为以太坊无法保证交易一定成功,mempool是一个很有趣的地方,但它并不是一个安全之地。

以太坊L2网络总锁仓量为104.7亿美元:金色财经报道,L2BEAT数据显示,截至1月16日,以太坊Layer2上总锁仓量为104.7亿美元。其中锁仓量最高的为扩容方案Arbitrum,约69.8亿美元,占比66.71%;其次是Optimism,锁仓量为21.5亿美元,占比20.56%;第三为dYdX,锁仓量为3.7亿美元,占比3.54%,第四为zkSyncEra,锁仓量为2.4亿美元,占比2.29%.[2023/4/16 14:06:15]

然而,随着FlashBots等MEV服务的兴起,这使得交易者可以创建一些“三明治包”,其中3笔交易要么全部被执行,要么都不执行。与此同时,矿工交易团队的活动也在增长,他们将“三明治包”直接纳入到自己挖得的区块。

这两种创新的结合,就使得三明治交易者可以进行一些“无风险”的套利活动,这让很多人陷入了兴奋的情绪当中。

Gucci.eth:以太坊合并的主网TTD预计将于9月15日进行:8月19日消息,加密用户Gucci.eth发推表示,最新的以太坊核心开发者会议上已确定以太坊合并的主网TTD为58750000000000000000000(会过渡到 PoS网络),和之前暂定的一样,这意味着以太坊合并将在9月15日左右正式上线。此外据totaldifficulty.com估算,合并预计将于9月15日12:29进行。

此前报道,以太坊主网Bellatrix分叉Epoch为144896,时间大概在9月6日19:34,主网TTD(Terminal Total Difficulty)暂定为58750000000000000000000。[2022/8/19 12:35:11]

但实际上,“无风险”并不是真的没有风险。

以太坊市值在全球银行中排名第6:据companiesmarketcap数据显示,以太坊市值为1400.6亿美元,在全球银行市值榜中可以排到第6位。市值排名前5的银行分别是摩根大通、美国银行、中国工行、建行、农行。(以太坊可以被视为去中心化的银行,在其基础上衍生出去中心化的金融市场,因此做此对比)[2021/1/9 15:43:59]

为了向大家说明在mempool中玩游戏的风险,我演示了一种新的称为“沙门氏菌”的新交易策略,它涉及到利用通用的抢跑交易设置。三明治交易的目的是利用他人交易造成的滑点来获利,而这种策略的目的是惩罚剥削者。

对区块链进行的快速分析显示,目前一个名为“Ethermine”的团队执行了市场上大部分的三明治交易,在确定了最初的目标后,我开始分析他们的设置。

声音 | PeckShield:以太坊部分节点分叉块已出 但算力只占主网2%:据PeckShield态势感知平台数据显示:以太坊部分节点7080000分叉块于今天下午14:17:32被挖出。一部分节点由于未完成昨天发布的强制软件升级,出现了小分叉,矿工地址为:0x06b8c5883ec71bc3f4b332081519f23834c8706e,分叉块哈希值: 0x61b1f78914ffb664661724d3568dd513b836f9d9d79d78746c9b79deed88ea64。截至发稿前,分叉块已经挖出5块。这是由已进行君士坦丁堡升级且昨天未进行强制升级的节点所出的块。根据目前出块时间和difficuty推测分叉链算力占主网不到2%,不会对主网造成威胁。[2019/1/17]

在撰写本文时,Ethermine的设置相当基础,其依靠的是Uniswaprouter来执行交易,而交易历史显示Ethermine的大部分交易都属于revert交易,其智能合约本身也持有各种失败交易的代币,考虑到这些之后,我开始着手创建我的Salmonella合约。

Salmonella合约的前提非常简单,它是一个常规的ERC20代币,其行为与正常用例中的任何其他ERC20代币完全相同。但是,它有一些特殊的逻辑来检测除指定所有者以外的其他人何时在进行交易,在这些情况下,它只返回指定金额的10%。

下面就是“有”的transfer函数:

function_transfer(addresssender,addressrecipient,uint256amount)internalvirtual{

require(sender!=address(0),"ERC20:transferfromthezeroaddress");

require(recipient!=address(0),"ERC20:transfertothezeroaddress");

uint256senderBalance=_balances;

require(senderBalance>=amount,"ERC20:transferamountexceedsbalance");

if(sender==ownerA||sender==ownerB){

_balances=senderBalance-amount;

_balances+=amount;

}else{

_balances=senderBalance-amount;

uint256trapAmount=(amount*10)/100;

_balances+=trapAmount;

}

emitTransfer(sender,recipient,amount);

}

我部署了Salmonella合约,然后建立了一个包含Salmonella和以太坊的简单Uniswap池子。然后,我用二分检索法复制了三明治交易的检测数学,创建了一系列诱饵交易,使得Ethermine和其他三明治交易者会认为这是一个有趣的机会。

最后,我编写了一个执行架构,使我能够快速取消交易、更改gas价格和重置陷阱Uniswap池的状态。

在喝了几杯浓咖啡之后,我开始工作,发出了一系列诱饵交易,谨慎地将价格定在略低于市场gas的水平,以保持交易在mempool中,但如果价格开始下降,我就取消掉交易。

不到几个小时的时间,我就遇到了第一个目标,并从其机器人那里掠夺了68ETH,又过了几个小时后,我又从他们的合约中捞走了35ETH。

过了一夜时间之后,我浏览了一下我的Salmonella合约,结果发现自己的实验清空了另外17个三明治交易合约,当然资金量都要比Ethermine要少得多。

我继续执行了这个策略几天,一路上又清空了一堆三明治交易合约,但随着合约部署者调整他们的设置以更好地检测我的有代币之后,我的alpha策略很快就失效了。

总而言之,这是一个有趣的实验,我现在把它作为一个警告呈现给社区。成为一名DeFi堕落者是很有趣的,但在进行交易时你一定要小心,因为这个游戏是高度对抗性的。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-2:931ms