织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 区块链

科学家在行动:捕猎以太坊黑暗森林中的抢跑机器人(4)

时间:2021-01-06 15:50来源:未知 作者:admin 点击:
https://etherscan.io/tx/0x5b8221dea090c630e056e7160f065a590138eea8680c634c9134b2c37c7c394a 植入追踪器 既然我们的陷阱已经成功地俘获了一个机器人(我们也付出了一定的代价

https://etherscan.io/tx/0x5b8221dea090c630e056e7160f065a590138eea8680c634c9134b2c37c7c394a

植入追踪器

既然我们的陷阱已经成功地俘获了一个机器人(我们也付出了一定的代价),我们可以提炼出一些有趣的洞察。

首先,交易显示未直接执行对智能合约的调用。该机器人不是复制了交易并从其拥有的帐户中盲目发送,而是还通过代理智能合约传递了该交易,其代理智能合约充当了执行这些交易的智能钱包。

我们现在可以追踪之前和未来的交易,仔细看一下这个机器人到底有多大神通,以及其如何运行。

 

 

 

 

这个机器人使用其自有的代理合约

 

 

 

 

反向编译

 

(https://etherscan.io/bytecode-decompiler?a=0xc798d5ed657adef1ca7bc6090c590319dffe8979)该合约,显示了两个主要函数:

 

「Withdraw」主要是将该合约中的所有资金发送给机器人的运营者。另一个函数接受部分参数:要调用的合约,参数清单并传递价值参数。

有了这个函数,这个代理合约扮演了机器人运营者的智能钱包。除了能执行调用外部函数的功能外,它还可以确保交易开始时的余额至少等于结束时的余额,否则可以还原交易,从而避免在调用未知合约时可能造成的资金损失(当然不包括 Gas)。

利用 Dune Analytics 工具,我们可以看到这个机器人自 2018 年 5 月开始运营以来收获颇丰。

假设这个机器人一直使用同一个智能代理和收款地址来发起抢先交易,我们可以估计其共赚到了约 17 ETH。

 

 

 

 

该机器人不同时间段赚到的资金 (以 ETH 为单位)

 

 

第三轮:这些机器人有多智能?

既然我们已经确信这个机器人程序是主动对我们发起攻击,那么我们想测试是否可以通过第二个合约(代理合约)混淆我们对合约的调用,从而从合约中成功提取诱饵资金,该代理将调用一个函数来从诱饵合约(giver)中提取诱饵资金。(该合约还具有「收款」函数,可将资金退还给我们)。

我们部署了 ProxyTaker 合约,调用适当的函数,试图提取资金。由于通过代理的行动的成本比之前略高一些, giver 合约的余额又上调至 0.055 ETH。结果是我们的交易立刻被另一个机器人抢先交易 。

链闻注:

ProxyTaker 合约地址为

https://etherscan.io/address/0x68b1b608034e9f4d34e777e1529bc157e17f60c8

调用地址为

https://etherscan.io/tx/0xf4b8b57a6e61e97b954da6f9c6b66494aa764bdf0b3a4643e3beb8b276fd7b07 (责任编辑:admin1)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容