以太坊黑暗森林的一次猎杀:套利机器人惨遭套利130 ETH_UNT:pulltherug.finance

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

以下是CodeForcer撰写的内容:

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

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

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

以太坊Gas中位费用7日均值跌至23.97gwei,创近12个月新低:7月15日消息,据Glassnode数据显示,以太坊Gas中位费用7日均值跌至23.973gwei,创过去12个月新低,此前该指标曾在2021年7月25日跌至24.012gwei。[2022/7/15 2:14:56]

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

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

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

苏富比将接受比特币和以太坊支付:5月4日消息,奢侈品拍卖行苏富比(Sotheby's)首席执行官Charles F.Stewart宣布,苏富比将开始接受比特币和以太坊支付,艺术爱好者可以在下周以加密货币来竞标著名街头艺术家Banksy的“Love is in the Air”。

Coinbase将支持苏富比网站上八位数范围内的付款,此外还将帮助管理价格波动。苏富比将于5月12日的举办的拍卖以美元进行,但买家和艺术家可以选择以加密货币或法定货币进行交易。(U.Today)[2021/5/4 21:23:38]

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

动态 | 以太坊二层网络 Connext 2.0 已上线以太坊主网:以太坊二层网络 Connext 2.0 宣布经过两个多月的 Rinkeby 测试、审核和错误修复后,已经正式上线以太坊主网。根据其官方公告,Connext 表示其 2.0 版本的变化包括:进一步简化 Connext 集成,致力于更快的链上交易;将 Connext 重新架构为连接钱包端到钱包端的网络;简化了用户存提款功能,并集成 DApp;改善信任假设。此前消息,Connext 基于 Counterfactual 框架,这是一种全新的开发区块链应用的方式,让通道尽可能模块化和链上交易最小化的方案,在首次充值和最后提款的操作之间,其他的操作不需要依赖链上交易。Connext 在 Counterfactual 之外还扩展了一个(之后还会增加为多个)非托管的中间人角色,这样就不需要与每一个第三方应用建立不同的多签合约,而只需要一个多签合约就可以和多个应用交互。Connext 在今年 3 月基于以太坊主网推出 Dai Card,一款浏览器内的非托管钱包,允许用户进行即时、低成本、信任最小化的交易。[2019/9/24]

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

以太坊创始人提出Plasma的扩展解决方案:据coindesk,周五在巴黎以太坊社区会议EthCC上以太坊创始人Vitalik Buterin意外现身,他提出了旨在提高以太坊计算潜力的智能合约系统Plasma的扩展解决方案。[2018/3/10]

在撰写本文时,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:0ms0-3:750ms