你没有过这样的经历:将一笔资金发送到某个账户后,这笔资金却不翼而飞?你可能是遭了“清道夫”的手。我们来帮你解除危机。
如果你的私钥被盗,作恶者通常会安排一个“清道夫”程序来监控你的账户,然后伺机吃掉你的账户中的资产——无论你在这个账户中存入ETH或其它代币,还是收到了空投,或有任何类似情况。
本文概述了“清道夫”是如何吃掉用户资产的,并提供了三种方法来挽救还没有被吃掉的资金。
用户私钥是如何泄漏的?
我们最近看到有很多用户冒充Telegram群组的管理员,然后在这些合法群组的主要频道向用户提供“帮助”。冒牌管理员通常会利用专业话术来迷惑用户,向用户分享看似合法的网站的链接。这些网站会要求用户提供私钥或助记词。
然后你的代币就没了,而且会有“清道夫”开始监控你的账户。
这里有一个钓鱼网站的例子:
-感谢研究员
/img/20230515202758911821/1.jpg "/>
直播|KIKI >教你如何选择比特算力:金色财经 · 直播主办的《 币圈 “后浪” 仙女直播周》第10期,本期由58COIN TOP天团组成,20:00正在直播中,本期“后浪”仙女58TOP女团甜美担当 KIKI在直播间分享“教你如何选择比特算力”,请扫码移步收听。[2020/7/31]
住手吧!清道夫!
如何击败“清道夫”?
首先,身为人类的你是快不过代码的,因此我们的解决方案将涉及代码。这里为你提供了几个不同的方案,虽然不能保证100%有效,但是总有一款适合你。
你需要创建一个想要挽救的代币列表,以便轻松制定计划。这张列表需要包含以下内容:
代币合约地址
该代币是否已用于质押
代币能否转移
代币价值
最重要的是,你必须有条不紊,才能快速而有效的执行该方案。正如那句至理名言所说:“凡事预则立,不预则废。”
使用太极网络
“清道夫”的运作原理是监控交易池中向“猎物”地址转账的交易。这样一来,“清道夫”就可以抢在该交易确认之前签署好另一个交易并广播该交易,从而取走转入资金。
欧科集团徐明星对话全国政协委员 谈抗击疫情区块链如何发挥作用:3月20日,全国政协云上“小双周”座谈会今天举行。全国政协委员,中国证监会原主席肖钢等多位全国政协委员、业界专家代表出席。会上,欧科集团创始人徐明星发表“区块链+供应链抗疫期间‘扛大旗’”主题演讲。徐明星表示:“除了供应链外,区块链技术在其他领域也有重要应用。随着下一代高新技术产业的发展,区块链技术将展现出更大的应用潜力。”[2020/3/20]
太极网络可以让你直接将已签名的交易提交给矿工,无需将其广播至公共交易池。这意味着,你的交易将进入“清道夫”的视觉盲区,也就不会被“清道夫”的机器人抢跑。
-图源:TAICHI.NETWOR-
具体方法是,将你的所有交易预先按照nonce顺序签好名,并以编程方式提交给太极网络。大多数“清道夫”只监控公共交易池中等待打包的以太坊交易,不会调用每个新区块的eth_getBalance。也就是说,“清道夫”是看不到通过隐私交易池发送至“猎物”账户的ETH的,也就不会吃掉它。
你需要做一些计算,确保发送到账户中作为gas费的ETH可以充分利用到每笔已签名交易上。如果你算得很准的话,“清道夫”可能会抢跑失败!”参考值高几个百分点,从而提高交易被打包进下个区块的概率。)
Digital Asset建筑与技术战略首席技术官:对于智能合约 如何将资产与外部系统整合非常重要:据coindesk消息,区块链初创公司Digital Asset的建筑与技术战略首席技术官Shaul Kfir在Synchronize 2018会议上举例美国财政部的回购国债,表示1亿美元是一个小型交易,这是一个非常适合智能合同用例。在现实世界中,资产始终会被创造和摧毁。如何将资产与外部系统整合的问题非常重要。对于智能合约来说,最好的例子是“当人们想拥有这个逻辑上集中的IT系统,但是不希望它实际上是中心化的时候,任何时候在多个设备上都有一个工作流程。[2018/4/20]
你可以在离线状态下使用MyCrypto生成交易签名,并在准备就绪时将它们发送至太极网络,或使用ethers.js编写代码来创建已签名交易。
使用带有自毁功能的智能合约
这个方法和使用太极网络差不多。我们可以使用智能合约将ETH转入账户,同时不会在公共交易池中暴露这笔交易。为此,我们可以通过一个安全的地址部署智能合约,并通过其构造函数将ETH发送到被黑的地址上。
pragma?solidity?>=0.7.0?<0.9.0;
contract?MoveETH?{
????constructor(address?sendToAddress)?payable?{
????????address?payable?addr?=?payable(address(sendToAddress));
????????selfdestruct(addr);
????}
}
通过部署该合约,我们可以将ETH和被黑地址的字符串发送至构造函数的参数。该合约会在同一笔交易中创建并自毁。其中,selfdestruct()意味着我们会在同一笔交易中清除该合约的区块链状态,并将ETH发送至被黑地址。
请注意,这个方法虽然有效,但是会额外增加成本,因为我们要做的操作不只是将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()调用。
如果你不懂代码,也可以试试/img/20230515202758911821/6.jpg "/>
永远不要在联网设备以及任何网页上输入你的原始保密信息。
我们建议使用硬件钱包来确保私钥存放在独立设备上——如果你使用MetaMask与dApp进行交互,MetaMask最近发布了一个更新,可以让用户使用多个硬件钱包地址。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。