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

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

当你的秘密遭到泄露时,恶意方通常会给你的账户设置一个清扫器(sweeper),以利用将来该地址上所发生的任何事情,比如当用户存入ETH以尝试提取一些代币,发生空投或其它情况时。

本文概述了用户的资金是如何被清扫走的,以及三种独特的方法来挽救任何未被清扫的资金(例如质押资金)。

近期,我们看到有大量用户在冒充Telegram群管理员,这些假的管理员会向在主频道中请求帮助的用户提供帮助(尽管他们不是真正的管理员,他们复制了管理员简介信息,但用户名有一些小的差异)。这些冒名顶替者经常会说很多行话来迷惑用户,并分享一个看似合法网站的链接,但它最终会要求你输入助记词或私钥。

然后,你的加密资产就不见了,上面有一个清扫器。

这是这些假网站之一的示例:

清扫器是一些监控区块链(包括txpool,从技术上讲,它没有在链上)的代码,其以编程方式对一组规则的特定事务进行签名的反应,要比人类更快。

这意味着,对于你在区块链浏览器上查看你的地址或将其“连接”到dapp的UI,清扫器(sweeper)是看不见的。只有在你签名并向网络广播交易后,清扫器(sweeper)才能看到你的活动。

随着时间的推移,我们看到了清扫器(sweeper)和利用它们的活动的演变。

Crypto.com的EVM兼容链Cronos将集成Chainlink:加密货币交易所Crypto.com推出的EVM兼容链链Cronos宣布将集成去中心化预言机 Chainlink,作为平台推荐的预言机选择。Cronos使用Cosmos基于以太坊智能合约语言Solidity开发的Ethermint语言编写,以Crypto.com原生代币CRO作为结算货币,通过跨链通信(IBC)与Crypto.com进行互操作,并可以与其他启用IBC的公链(例如Cosmos)进行互操作。[2021/7/28 1:21:05]

2017年期间,有相当一部分活动利用了具有锁定功能(即,你无法成功调用transfer()?)但包含喂价的代币。Dave Appleton发表了一篇关于这些活动的文章。

恶意方利用这种局的方式是,他们会将私钥发布到这个地址(以某种看起来无辜或错误的方式),并等待人们将ETH存入该地址(以转移地址中的代币)。然后恶意方会有一个该账户的清扫器程序,以将存入该地址的ETH快速转移到他自己的账户。从理论上来说,锁定的代币被认为是毫无价值的,因此他们试图从那些毫无戒心的“贪婪”用户那里获取利润。

如今,遭泄露的的地址基本被部署了ETH清扫器程序,一些组织则使用更高级的清扫器程序逻辑来清扫基于喂价的ERC20代币。

今年早些时候,我对一个泄露地址做了一些侦察研究,发现清扫器在不断进化:

清扫器偏爱美元价值最高的资产,即使这意味着需要花费更多的交易费用来清扫;

清扫器将使用所有可用的ETH最大化清扫价值,同时也有很高的百分比是nonce的“获胜”交易。

清扫器有一个匹配引擎,将质押代币(即:xKNCa=KNC)与其原生代币匹配,以便喂价反映在质押代币上。

清扫器有自己的内部nonce计数器,如果其最高nonce随机数未在一个时间范围内得到确认(或被另一个丢弃/替换),则定期将nonce随机数重置为eth.getTransactionCount()输出。

Uniswap社区发起V3流动性挖矿提案 建议分配165万UNI作为初始奖励:官方消息,DAO财库聚合平台Llama创始人ShreyasHariharan在Uniswap社区提出流动性激励计划框架的0.1版本,UniswapLiquidityProgram(ULP)框架的目标是加速流动性向UniswapV3的迁移,鼓励新的市场参与者尝试提供流动性,并进一步分配UNI代币。该计划建议以165万UNI作为初始的最高预算,作为流动性奖励分配到两个季度,并分为三类交易对:稳定币交易对、中尾交易对(比如DeFi治理代币)、存款凭证类代币(比如cToken或aToken)。[2021/7/17 0:58:50]

如果存在清扫器所针对的高价值资产,则有一些活动会建议运行者通过资助地址来“牺牲”一些ETH,以尝试从账户中快速清扫高价值资产。

如果美元价值低于某个阈值,则某些清扫器就不会清扫资产,这意味着你可能并不知道自己的账户被清扫器盯上了,这是很可怕的。

描述清扫器的文章,第一次出现是在2017年,而现在我们观察到的清扫器已变得更加先进,它们的设计目的是最大化运行者的利润,同时对受害者造成最大的损失。

首先,作为人类,我们是无法比代码更快的,所以我们的解决方案只能涉及编码。你可以选择几条不同的路线,它们均无法提供100%的保证,但对我们而言是有利的。

你需要创建一个想要尝试抢救的代币列表,按优先级排序,这样你就可以轻松地确定你的计划,你需要列出:

代币合约地址;

代币是否质押(以及解除质押是否是时间锁定的);

代币是否可转让;

代币价值(以美元计算);

关键是你要有条不紊地完成这件事,这样你才能快速有效地执行。正如一句名言:“如果你疏于计划,那你就是计划走向失败”。

清扫器的工作方式是监视txpool中转到其清扫地址的传入交易,而TAICHI允许你将签名的交易直接提交给矿工(SparkPool),而无需通过公共txpool进行广播,这意味着清扫器程序将是看不到的,并且很可能你的交易不会被清扫程序机器人抢先完成(至少以我的经验来看)。

图片来自TAICHI.NETWORK

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

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

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

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

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

https://goerli.etherscan.io/tx/0x82ccb222eae55aaea73dd0efee1ea6ed7320f880889f280d4a343b8823f86692

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

一般而言,我们需要支付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()调用。

如果你不太熟悉代码,你也可以尝试使用@kendricktan/flashbots.tools ?网站。

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

金宝趣谈

DAI最易于小白读透的POW和POS概念详解(内含波卡)

有点长,收藏慢慢看,这篇没配图。 工作量证明最早是一个经济学名词,指系统为达到某一目标而设置的度量方法。简单理解就是一份证明,用来确认你做过一定量的工作。早在比特币出现之前就已经有人探索。

币安下载Visor为UNI V3打造 提供NFT保险库服务

UNI V3 版本在 5月5日发布,对于 V3 的上线,市场还是有不少期待。 UNI  V3 的核心内容有:粒度控制的聚合流动性,多级费率、范围订单、历史预言机和软件许可保护 总的来说,V3 重点是改善资本效率,一切服务资本效率,把同质化的 LP 变成了非同质化的 NFT LP,成了不可替代的流动性。

USDC比特币暴跌后引发抄底潮?

注:原文作者是glassnode数据分析师CHECKMATE。 上周比特币经历了大幅波动,在备受期待的Coinbase直接上市之前,BTC价格一度创下了64717美元的历史新高,然而这是短暂的,到了周日,比特币在短时间内暴跌至52829美元低点,下跌幅度达到了-18%。

AVAXNFT流动性解决方案一览 如何用衍生品破“次元壁”

NFT可以用来代表数字艺术品、收藏品、游戏资产等的所有权,单个NFT可能具有极高的价值。但因为不能分割,NFT资产缺乏流动性,往往需要通过拍卖等手段才能流通,也很难有大家公认的价格。ShardingDAO、Unicly、Alchemy各自尝试通过衍生品的形式,将不可分割的NFT抵押生成易于流通的ERC20代币,降低用户进入NFT市场的门槛。

[0:0ms0-7:179ms