ETH:如何打败以太坊「清道夫」,这里有三种解决方案_LASH

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

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

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

用户私钥是如何泄漏的?

我们最近看到有很多用户冒充Telegram群组的管理员,然后在这些合法群组的主要频道向用户提供「帮助」。冒牌管理员通常会利用专业话术来迷惑用户,向用户分享看似合法的网站的链接。这些网站会要求用户提供私钥或助记词。

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

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

感谢研究员}`通过部署该合约,我们可以将ETH和被黑地址的字符串发送至构造函数的参数。该合约会在同一笔交易中创建并自毁。其中,`selfdestruct()`意味着我们会在同一笔交易中清除该合约的区块链状态,并将ETH发送至被黑地址。?`

例子:

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

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

接下来,我们将通过太极网络广播来自被黑地址的已预先签署过的交易,因为在这种情况下,「清道夫」必须发送更多ETH到被黑账户才能在gas费竞价中胜出)。

使用Flashbots

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

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

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

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

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

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

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

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

如何从根本上规避「清道夫」?

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

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

永远不要在联网设备以及任何网页上输入你的原始保密信息。

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

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

大币网

[0:15ms0-4:611ms