以太坊清扫机器人肆虐 三种解决方案了解一下

2021-04-20 19:57:58来源:陀螺财经编辑:居小桃

扫一扫

分享文章到微信

扫一扫

关注鹿财经网微信公众号

  原标题:以太坊清扫机器人肆虐 三种解决方案了解一下
 
  你是否遇到过这样的情况,当你发送一笔以太坊资金,然后就发现钱包里的钱立即被清空了,你可能被清扫器(sweeper)盯上了,这篇文章旨在帮你解决这个问题,原文作者是 MyCrypto 安全 & 反钓鱼工程师 Harry Denley。
 

  当你的秘密遭到泄露时,恶意方通常会给你的账户设置一个清扫器(sweeper),以利用将来该地址上所发生的任何事情,比如当用户存入 ETH 以尝试提取一些代币,发生空投或其它情况时。
 
  本文概述了用户的资金是如何被清扫走的,以及三种独特的方法来挽救任何未被清扫的资金(例如质押资金)。
 
  用户是如何被钓鱼的
 
  近期,我们看到有大量用户在冒充 Telegram 群管理员,这些假的管理员会向在主频道中请求帮助的用户提供帮助(尽管他们不是真正的管理员,他们复制了管理员简介信息,但用户名有一些小的差异)。这些冒名顶替者经常会说很多行话来迷惑用户,并分享一个看似合法网站的链接,但它最终会要求你输入助记词或私钥。
 
  然后,你的加密资产就不见了,上面有一个清扫器。
 
  这是这些假网站之一的示例:
 


  清扫器的工作方式
 
  清扫器是一些监控区块链(包括 txpool,从技术上讲,它没有在链上)的代码,其以编程方式对一组规则的特定事务进行签名的反应,要比人类更快。
 
  这意味着,对于你在区块链浏览器上查看你的地址或将其「连接」到 dapp 的 UI,清扫器(sweeper)是看不见的。只有在你签名并向网络广播交易后,清扫器(sweeper)才能看到你的活动。
 
  随着时间的推移,我们看到了清扫器(sweeper)和利用它们的活动的演变。
 
  清扫器的演变
 
  2017 年期间,有相当一部分活动利用了具有锁定功能(即,你无法成功调用 transfer() )但包含喂价的代币。Dave Appleton 发表了一篇关于这些活动的文章。
 
  恶意方利用这种骗局的方式是,他们会将私钥发布到这个地址(以某种看起来无辜或错误的方式),并等待人们将 ETH 存入该地址(以转移地址中的代币)。然后恶意方会有一个该账户的清扫器程序,以将存入该地址的 ETH 快速转移到他自己的账户。从理论上来说,锁定的代币被认为是毫无价值的,因此他们试图从那些毫无戒心的「贪婪」用户那里获取利润。
 
  如今,遭泄露的的地址基本被部署了 ETH 清扫器程序,一些组织则使用更高级的清扫器程序逻辑来清扫基于喂价的 ERC20 代币。
 
  今年早些时候,我对一个泄露地址做了一些侦察研究,发现清扫器在不断进化:
 
  清扫器偏爱美元价值最高的资产,即使这意味着需要花费更多的交易费用来清扫;
 
  清扫器将使用所有可用的 ETH 最大化清扫价值,同时也有很高的百分比是 nonce 的「获胜」交易。
 
  清扫器有一个匹配引擎,将质押代币(即:xKNCa=KNC)与其原生代币匹配,以便喂价反映在质押代币上。
 
  清扫器有自己的内部 nonce 计数器,如果其最高 nonce 随机数未在一个时间范围内得到确认(或被另一个丢弃 / 替换),则定期将 nonce 随机数重置为 eth.getTransactionCount ()输出。
 
  如果存在清扫器所针对的高价值资产,则有一些活动会建议运行者通过资助地址来「牺牲」一些 ETH,以尝试从账户中快速清扫高价值资产。
 
  如果美元价值低于某个阈值,则某些清扫器就不会清扫资产,这意味着你可能并不知道自己的账户被清扫器盯上了,这是很可怕的。
 
  描述清扫器的文章,第一次出现是在 2017 年,而现在我们观察到的清扫器已变得更加先进,它们的设计目的是最大化运行者的利润,同时对受害者造成最大的损失。
 


  如何击败清扫器?
 
  首先,作为人类,我们是无法比代码更快的,所以我们的解决方案只能涉及编码。你可以选择几条不同的路线,它们均无法提供 100% 的保证,但对我们而言是有利的。
 
  你需要创建一个想要尝试抢救的代币列表,按优先级排序,这样你就可以轻松地确定你的计划,你需要列出:
 
  代币合约地址;
 
  代币是否质押(以及解除质押是否是时间锁定的);
 
  代币是否可转让;
 
  代币价值(以美元计算);
 
  关键是你要有条不紊地完成这件事,这样你才能快速有效地执行。正如一句名言:「如果你疏于计划,那你就是计划走向失败」。
 
  使用 TAICHI
 
  清扫器的工作方式是监视 txpool 中转到其清扫地址的传入交易,而 TAICHI 允许你将签名的交易直接提交给矿工(SparkPool),而无需通过公共 txpool 进行广播,这意味着清扫器程序将是看不到的,并且很可能你的交易不会被清扫程序机器人抢先完成(至少以我的经验来看)。
 

  图片来自 TAICHI.NETWORK

  这里的方法是让你的所有交易预先以 nonce 顺序签名,并以编程方式提交给 TAICHI。大多数清扫器只监视公共 txpool/mempool 以获取传入的 ETH 交易,并且不在每个新区块上调用 eth_getBalance (以节省 CPU 周期和 RPC 方法调用的成本),这意味着它们将对通过专用 txpool 路由发送到帐户的 ETH 视而不见,也就不会对其进行清扫。

  这需要你做一些数学工作,如果正确执行了数学运算,则尝试抢先交易的清扫器程序可能会失败!(通常,我默认 gas 价格比 GasNow 上的「快速」类别高几个百分点,因此矿工将更有可能在下一个区块中确认你的交易。)

  你可以离线使用 MyCrypto 来生成已签名的交易,并在准备就绪时将其推送到 TAICHI,或者使用 ethers.js (或其他库)创建代码来创建已签名的交易。



  方法 2: 使用一个自毁智能合约

  就像使用 TAICHI 方法一样,我们可以使用智能合约让 ETH 进入账户,而不会在公共 txpool 中显示出来。我们通过从安全地址部署智能合约来做到这一点,然后在结构上将 ETH 发送到被泄露的地址(这将是一笔内部交易)。

  通过部署这个合约,我们可以在构造函数参数中发送 ETH 以及遭泄露的地址字符串。该合约通过在同一交易中创建合约并自毁来工作。使用 selfdestruct ()意味着我们清除了区块链状态(因为它是一次性使用合约),并且在一次交易中将 ETH 转发到了泄露地址。(示例)

  请注意,这种方法虽然有效,但它会增加额外的成本,因为我们要做的操作不仅仅是将 ETH 从一个帐户发送到另一个帐户。这种方法的成本约为 70,000 gas,在高昂的 gas 价背景下,使用这种方法的手续费成本就可能达到 0.0112ETH。



  方法 3: 使用 Flashbots
 
  一般而言,我们需要支付 ETH 才能让一笔交易被确认(因为交易费用是由发送方支付的)。然而,由于 Flashbots‌的出现,我们可以更轻松地从 EOA 中通过用另一个帐户中的资金「贿赂」矿工,以 0 gas 价格(即 0 美元交易费用)确认交易,这意味着我们可以将代币从泄露的地址中转移出来,而无需用 ETH 支付 gas 费用,是的,就是这样。
 
  该策略需要用到 2 个账户,一个是泄露账户,以及另一个贿赂矿工的帐户。
 
  Flashbots 小组已发布了一个名为 Flashbots / searcher-sponsored-tx‌的项目,其具有设置此策略以从两个帐户中确认你的交易的基本原理。
 
  由于我们将使用另一个帐户支付交易费用,因此不需要向受损害的帐户存入 ETH。
 
  为了确保泄露帐户中没有 ETH,我们强烈建议你运行一个 Burner 机器人。
 
  我们通常建议在每个实例上使用不同的 RPC 节点,在一台以上的计算机上运行这个 burner 机器人。例如,使用 Infura 在本地运行 burner 机器人,并在具有其他提供商(例如 Quiknode)的远程服务器上运行一个 burner 机器人。这样,你就有了一个备案计划,以防出现高网络延迟或节点问题(速率限制、同步问题)。
 
  Flashbots/searcher-sponsored-tx 中的代码需要根据你的特定需求进行修改,但这个引擎可以帮助你将代币从泄露的地址中解救出来。这个 Flashbots 引擎足够灵活,可支持单个 transfer() 调用,或者 unstake() 以及 transfer() 调用。

     投稿邮箱:lukejiwang@163.com   详情访问鹿财经网:http://www.lucaijing.com.cn

相关推荐
以太币再创新高,创始人成最年轻加密亿万富翁 以太币再创新高,创始人成最年轻加密亿万富翁

原标题:以太币再创新高,创始人成最年轻加密亿万富翁 5月4日报道,以太币

元宇宙2021-05-04

除了以太坊 这些公链悄然建 DeFi,一起来看看 除了以太坊 这些公链悄然建 DeFi,一起来看看

原标题:除了以太坊 这些公链悄然建 DeFi,一起来看看 截至4月21日,根据Coin

元宇宙2021-04-23

可视化以太坊的未来之路 一起来看看 可视化以太坊的未来之路 一起来看看

原标题:可视化以太坊的未来之路 一起来看看 以下内容改编自作者于4月9日(周

元宇宙2021-04-22

以太坊完成“柏林硬分叉” 问题来了:硬分叉到 以太坊完成“柏林硬分叉” 问题来了:硬分叉到

原标题:以太坊完成柏林硬分叉 问题来了:硬分叉到底是个啥? 继 缪尔冰川

元宇宙2021-04-16

以太坊 L2 站队很焦虑?让我们一起瞅瞅跨网络高 以太坊 L2 站队很焦虑?让我们一起瞅瞅跨网络高

原标题:以太坊 L2 站队很焦虑?让我们一起瞅瞅跨网络高速通道解决方案 Lay

元宇宙2021-03-22

受期待的以太坊2.0怎么样了?以太坊2.0进展 PoS 受期待的以太坊2.0怎么样了?以太坊2.0进展 PoS

原标题:受期待的以太坊2.0怎么样了?以太坊2.0 进展 PoS 时代何时到来?

元宇宙2021-03-19

加密市场的桥梁 稳定币如何在以太坊上助力 De 加密市场的桥梁 稳定币如何在以太坊上助力 De

原标题:加密市场的桥梁 稳定币如何在以太坊上助力 DeFi? 稳定币加固了传统金

元宇宙2021-02-02

用户数稳步上涨!以太坊10项指标数据创历史新高 用户数稳步上涨!以太坊10项指标数据创历史新高

原标题:用户数稳步上涨!以太坊10项指标数据创历史新高 下一站是星辰大海吗

元宇宙2021-01-18

以太坊黑暗森林中的“食肉动物”:抢跑机器人 以太坊黑暗森林中的“食肉动物”:抢跑机器人

原标题:以太坊黑暗森林中的食肉动物:抢跑机器人 以太坊的黑暗森林怪物并

元宇宙2021-01-03

以太坊生态系统解读:去中心化金融的一部分 以太坊生态系统解读:去中心化金融的一部分

原标题:以太坊生态系统解读:去中心化金融的一部分 DEX的风起 以太坊是一个

元宇宙2020-12-16