如何打败以太坊清道夫 挽救你的资产?

你没有过这样的经历:将一笔资金发送到某个账户后,这笔资金却不翼而飞?你可能是遭了“清道夫”的手。我们来帮你解除危机。

如果你的私钥被盗,作恶者通常会安排一个 “清道夫” 程序来监控你的账户,然后伺机吃掉你的账户中的资产 —— 无论你在这个账户中存入 ETH 或其它代币,还是收到了空投,或有任何类似情况。

本文概述了 “清道夫” 是如何吃掉用户资产的,并提供了三种方法来挽救还没有被吃掉的资金(如押金)。

我们最近看到有很多用户冒充 Telegram 群组的管理员,然后在这些合法群组的主要频道向用户提供 “帮助”(虽然他们不是真正的管理员,他们复制了正牌管理员的简介,只是略微改动了用户名)。冒牌管理员通常会利用专业话术来迷惑用户,向用户分享看似合法的网站(因为有品牌背书)的链接。这些网站会要求用户提供私钥或助记词。

然后你的代币就没了,而且会有 “清道夫” 开始监控你的账户。

这里有一个钓鱼网站的例子:

- 感谢研究员 @dubstard 发现了很多冒充 WalletConnect 的活动!-

“清道夫” 是一段用来监控区块链(包括交易池,从技术层面上来说,交易池不在链上)的代码。它有着比人类更快的反应速度,按照编好的程序为符合规则的特定交易签名。

也就是说,“清道夫”是看不到你的,它不知道你正在区块链浏览器上查看你的地址,或将你的地址 “连接” 到某个 dApp 的用户界面。仅当你签署某个交易并将其广播到网络时,它才会看到你的活动。

随着时间的推移,“清道夫” 连同利用 “清道夫” 的钓鱼局也在不断进化中。

2017 年有一类局非常流行,利用了具备锁定功能【即,无法成功调用transfer()】同时有喂价的代币。Dave Appleton 发文揭露了这类局。

在这类局中,子会先获取这类能够被锁定的代币,但是区块浏览器依然会提供这类代币【其中最流行的是 Minerum(MNE)】的价格。然后,子会(装作无意间)将存有这类代币的地址的私钥公布出去,引诱受害者来取走地址中的代币。为了取走代币,受害者会将 ETH 转到该地址上作为 gas 费。然而,子早就安排了 “清道夫”,以迅雷不及掩耳之势将受害者转入的 ETH 转移到自己的账户中。从理论上来说,被锁定的代币被认为是没有价值的, 因此子试图从没有戒心的贪婪用户那里收回一些锁仓价值。

香港房地产大亨郑志刚旗下C Capital计划筹集5亿美元投资区块链资产:9月21日消息,香港房地产大亨、周大福家族财富继承人郑志刚旗下基金C Capital计划在未来18个月内筹集5亿美元用于投资区块链资产、信贷和私募股权,押注私营公司和数字资产。知情人士称,该公司还由美银美林前银行家Ben Cheng共同创立,Cheng表示,其对冲基金策略主要专注于加密交易。(彭博社)[2022/9/21 7:10:14]

如今,被黑的地址已经被大范围放置了基础的 ETH “清道夫”。还有一些集团采用逻辑上更高级的 “清道夫” ,会基于喂价吃掉 ERC 20 代币。

前段时间,我对一个被黑的地址进行了研究,发现这些 “清道夫” 还在继续进化:

1)“清道夫” 喜食高价值资产,即使这意味着需要花更多交易费。

2)“清道夫” 会使用所有可用的 ETH 来窃取尽可能多的价值,而且其交易在同一 nonce 上获胜的概率很高。

3)“清道夫” 有一个配对引擎,将其原生代币与质押代币进行配对(即,xKNCa = KNC),以便获得质押代币的喂价。

4)“清道夫” 有自己的内部 nonce 计数器,如果其最高 nonce 在一段时间内没有得到确认(或是被丢弃/替换),就会定期将 nonce 重置为 eth.getTransactionCount() 的输出。

5)我们可以透过一些链上活动看出,如果某个高价值资产成了 “清道夫” 眼中的猎物,“清道夫” 甚至会向相关账户转入一些 ETH 作为 gas 费,以便迅速将该资产从账户中转出。

6)一些 “清道夫” 会为资产价值设置一个最低阈值。“清道夫” 不会吃掉低于该阈值的资产。这就意味着,你可能察觉不到你的账户里有 “清道夫”。细思极恐。

鉴于我们第一次撰写关于 “清道夫” 的文章是在 2017 年,如今的 “清道夫” 早已今非昔比,可以帮助运营者实现收益最大化,同时让受害者的损失最大化。

如何击败 “清道夫”?

首先,身为人类的你是快不过代码的,因此我们的解决方案将涉及代码。这里为你提供了几个不同的方案,虽然不能保证 100% 有效,但是总有一款适合你。

你需要创建一个想要挽救的代币列表(按优先级排序),以便轻松制定计划。这张列表需要包含以下内容:

代币合约地址

该代币是否已用于质押(解锁是否有时间限制)

代币能否转移

代币价值(由用户主观判断或美元价值决定,以便确定优先级)

欧盟立法者投票否决绿色加密采矿研究:金色财经报道,欧盟立法者否决了一项绿党提案,该提案旨在研究支撑比特币 (BTC) 的工作量证明 (PoW) 采矿的替代方案。绿党的努力是在欧洲议会的一些成员试图对能源密集型 PoW 共识机制施加限制的尝试失败之后,一些人将其描述为比特币禁令。

议会绿色核心小组的西班牙成员Ernest Urtasun告诉经济和货币事务委员会,他对首席立法者Stéphanie Yon-Courtin决定通过撤回支持而有效地扼杀这一想法的决定感到 \"失望\"。

Urtasun 表示,绿色提案绝不会干涉被称为加密资产市场监管(MiCA) 的单独立法。Urtasun提出的修正案称,有证据表明,加密资产会对气候和环境造成重大损害,该修正案要求 80 万欧元的公共资金致力于开发一种科学的方法来衡量采矿对环境的影响并确定更环保的替代品。[2022/9/1 13:00:52]

最重要的是,你必须有条不紊,才能快速而有效的执行该方案。正如那句至理名言所说:“凡事预则立,不预则废。”

使用太极网络(Taichi Network)

“清道夫” 的运作原理是监控交易池中向 “猎物” 地址转账的交易。这样一来,“清道夫” 就可以抢在该交易确认之前签署好另一个交易并广播该交易,从而取走转入资金。

太极网络可以让你直接将已签名的交易提交给矿工(即,星火矿池),无需将其广播至公共交易池。这意味着,你的交易将进入 “清道夫” 的视觉盲区,也就不会被 “清道夫” 的机器人抢跑(至少以我的经验来看是这样)。

- 图源:TAICHI.NETWOR -

具体方法是,将你的所有交易预先按照 nonce 顺序签好名,并以编程方式提交给太极网络。大多数 “清道夫” 只监控公共交易池中等待打包的以太坊交易,不会调用每个新区块的 eth_getBalance(这是为了节省 CPU 循环和 RPC 调用)。也就是说,“清道夫” 是看不到通过隐私交易池发送至 “猎物” 账户的 ETH 的,也就不会吃掉它。

你需要做一些计算,确保发送到账户中作为 gas 费的 ETH 可以充分利用到每笔已签名交易上。如果你算得很准的话,“清道夫” 可能会抢跑失败!(通常情况下,我会默认将 gas 费设得比 GasNow 上的 “极速(Rapid)” 参考值高几个百分点,从而提高交易被打包进下个区块的概率。)

你可以在离线状态下使用 MyCrypto 生成交易签名,并在准备就绪时将它们发送至太极网络,或使用 ethers.js(或其它代码库)编写代码来创建已签名交易。

这个方法和使用太极网络差不多。我们可以使用智能合约将 ETH 转入账户,同时不会在公共交易池中暴露这笔交易。为此,我们可以通过一个安全的地址部署智能合约,并通过其构造函数将 ETH 发送到被黑的地址上(这将是一笔内部交易)。

通过部署该合约,我们可以将 ETH 和被黑地址的字符串发送至构造函数的参数。该合约会在同一笔交易中创建并自毁。其中,selfdestruct() 意味着我们会在同一笔交易中清除该合约的区块链状态(因此这个合约是一次性的),并将 ETH 发送至被黑地址。

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

请注意,这个方法虽然有效,但是会额外增加成本,因为我们要做的操作不只是将 ETH 从一个账户转移到另一个账户。这个方法需要大约 7 万 gas 的成本。当 gas 价格处于高位时,仅 gas 成本就高达 0.0112 ETH。

接下来,我们将通过太极网络广播来自被黑地址的已预先签署过的交易(这里也可以使用公共节点,请将账户中的全部 ETH 余额设为 gas 费,以免被 “清道夫” 抢跑(至少尽量降低这种可能性),因为在这种情况下, “清道夫” 必须发送更多 ETH 到被黑账户才能在 gas 费竞价中胜出)。

使用 Flashbots

一般来说,我们需要支付 ETH 才能让交易上链(因为交易费由交易发送方支付)。但是,有了 Flashbots,我们就可以在不支付 gas 费(即交易费)的情况下将来自外部账户的交易上链,只需使用另一个账户中的资金来 “贿赂” 矿工即可。也就是说,我们不需要向被黑地址转入一笔 ETH 作为手续费,就可以取走这个地址上的代币。没错,就是这样!

这个方案需要用到两个账户 —— 被黑账户和用来贿赂矿工的账户。

Flashbots 团队已经发布了一个名为 Flashbots/searcher-sponsored-tx 的项目,其中介绍了如何通过这个方案将交易上链的基本原理。

我们将使用另一个账户中的资金来支付交易费,因此不需要被黑账户中有 ETH。事实上,我们巴不得被黑账户里没有 ETH,毕竟我们最不想看到的,就是 子/“清道夫” 察觉到我们想要取走资金,使用账户内原有的 ETH 来抢跑我们。

为了确保被黑账户中没有 ETH,我们强烈推荐大家运行一个燃烧器机器人(burner bot)。

我们通常建议在一台以上的机器上运行燃烧器机器人,并针对每个实例使用不同的 RPC 节点。例如,使用 Infura 在本地运行一个燃烧器,并使用其它提供商(如 Quiknode)在远程服务器上运行一个燃烧器。这样就可以实现冗余,以防高网络延迟或节点故障等问题(例如,速率限制、同步问题等)。

Flashbots/searcher-sponsored-tx 中的代码需要根据你的具体需求进行修改,不过这里有个引擎可以帮助你挽救被黑地址中的代币。Flashbots 引擎具有很高的灵活性,可以支持单个 transfer() 调用,或 unstake() 和 transfer()调用。

如果你不懂代码,也可以试试 @kendricktan/flashbots.tools 网站提供的 Flashbots 功能 UI:https://flashbots.tools/。

打个广告:如果上述方案对你来说太难,你也可以向我们寻求帮助,我们会收取找回资金的 5% 作为报酬。虽然我们也想免费提供该服务,但是由于收到的请求太多,我们的时间实在有限。我们会将这项服务的收入所得用来促进区块链行业的安全发展!

感谢你的理解。

如果你想要获取该服务,请向 support@mycrypto.com 发送主题为 “Account Sweeper - Requesting Assistance!” 的邮件。

上述邮箱地址是寻求帮助的唯一渠道。我们不会在 Telegram、Discord 或其它地方宣传该服务,以免带来额外的风险。

最好的防范措施当然是保护好自己的地址不被 “清道夫” 侵入,也就不需要与 “清道夫” 斗智斗勇了。

近年来,我们已经在一些 app 的 UI 上看到了反面例子 —— 允许用户在 dapp 界面上使用原始保密信息。这是很不安全的做法,不应该被鼓励。

永远不要在联网设备以及任何网页上输入你的原始保密信息(私钥、key store 文件和助记词)。

我们建议使用硬件钱包来确保私钥存放在独立设备上 —— 如果你使用 MetaMask 与 dApp 进行交互,MetaMask 最近发布了一个更新,可以让用户使用多个硬件钱包地址。

购买 Ledger

购买 Trezor

如果你使用移动设备与 dApp 进行交互,我们建议使用 WalletConnect 签署消息(注:WalletConnect 永远不会要求你提供保密信息)。

原文链接:

https://blog.mycrypto.com/how-to-beat-an-ethereum-based-sweeper-and-recover-your-assets/

作者:  Harry Denley

翻译&校对: 闵敏 & 阿剑

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

区块分享

SAND晚间必读5篇 | 加密资产ETF扎堆上市 美国ETF或已不远

1.金色观察 | 加密资产ETF扎堆上市 美国ETF或已不远 据悉,近期,批量的比特币 ETF 申请已涌向 SEC,申请机构包括天桥资本、资产管理公司 WisdomTree Investments、加密投资公司Galaxy Digital、银河数码、富达等。业内人士表示,随着加拿大、巴西比特币ETF的申请接连通过,美国方面可能也会作出相应调整。

SOL4.21午间行情:震荡行情该如何操作

文章系金色财经专栏作者牛七的区块链分析记供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别,谨防上当。  据欧易OKEx的数据显示,当前BTC/USDT现货报价为55500美元,24小时涨幅1.2%。

[0:46ms0-0:484ms