IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 以太坊清扫器盯上你了,如何预防与恢复资产 -> 正文阅读

[区块链]以太坊清扫器盯上你了,如何预防与恢复资产

什么是清扫器

清扫器是 sweeper 的直译,它主要工作在以太坊网络上(包括 EVM 兼容链,比如 BSC、Heco等),sweeper 持有一个私钥,这个私钥对应的钱包中有大量的 ERC20 通证,但是没有足够的 ETH 当 gas 费,所以无法直接从中转走 ERC20 通证。 为了从中取出价值连城的 ERC20 通证,你不得不往里面转 ETH,但有趣的是,一旦你往里面转 ETH,立刻会被 sweeper 卷走。

这个泄漏私钥的账户看起来像是这样:

这个私钥可能是一个黑客故意以看起来无意的方式暴露给你的,激发你的贪婪,让你试图从中取出资产。

也可能是由于你在参与一些空投时进入了钓鱼网站,它要求最终输入你的私钥,一旦这么做了,账户中的所有 ETH 会被瞬间转走,并为你挂上一个 sweeper。

一个 demo

在 Goerli 测试网络上(chainId 为 5,它是测试网络,因此你只需要到对应的 faucet 领取 token,即可测试),我设置了一个简单的 sweeper 去模拟你的困境,sweeper 会占用较多资源,我可能随时会关。如果你需要发起测试时,发现 sweeper 没工作,可以联系我开启。

被盗私钥的地址:0x166d78FE7a9e1De11aF1ef8aE5919fbBf3E81245

对应私钥就暂时不公布了,我可不想到时候你们使用我的解决方案来干掉我的 sweeper。

模拟的 USDT 地址:0x4734C809Cd59C87753Ebe95B494C0056513ceF85 ,这上面有 1000 USDT 你可以尽你最大的努力将它取出来。

但你会发现,一旦你转 ETH 到该地址,所有的 ETH 都会被立刻转移到黑客的地址中,就像下图这样:

image-20211211115343791

工作原理

目前的 sweeper 主要基于以太坊的交易池(也称 txpool、mempool)发现你发起的交易与新块产生调用 eth.getBalance() 获取你的余额。

交易池中包含了所有未被包含进区块的交易,当你试图直接将 ETH 通过转账发送到被盗账户时,你的交易就会被送入交易池,时刻监听交易池的 sweeper 就能够发现你的行为。

image-20211211200301235

并等到你的交易被执行后,立刻发起新的交易,这个新的交易将你转入的 ETH 扣除掉 gas 费后的剩余数量转入到黑客的地址中。

image-20211211200658869

然而根据公共交易池获取信息并不总是有效,很多方法可以规避交易进入交易池。

  1. 选择私有交易池。如果其中没有黑客,那么你的交易不会被黑客发现
  2. 选择内部交易(internal transaction)。简单的理解就是合约内部的逻辑调用,就是内部交易。对于外部来说,他们只能发现你调用了合约,无法获知合约内部具体的执行情况。例如,为了避免进入交易池,你只要对一个合约发起交易,执行合约的代码,而合约去将 ETH 转入你的被盗钱包即可。

sweeper 可能没有足够的成本去成为一个私有交易池的参与方,但有的 sweeper 会对内部交易进行预防。因为不论一笔交易会不会进入公共交易池,交易最终出现在链上的时候,一定会有状态的改变。也就是说通过内部交易转入的 ETH,会在新块产生时,能够被 sweeper 通过调用 eth.getBalance() 发现。

这是简单的工作原理,实际的 sweeper 拥有很复杂的逻辑,会让黑客的收益最大化,让你的损失最大化。更深的细节就不过多讲解,避免出现更加棘手的 sweeper 不是吗?

如何恢复你的资产

讲了原理,就容易理解如何应对它们了。

如果你的私钥已经泄漏,那么目前最有效的方案是通过私有交易池进行交易,而且是进行“批处理”交易,也就是说你可以将一批交易提交到私有交易池中,这个交易池中的矿工为你做以下担保:

  1. 如果决定在区块中包含你的交易,就一定将你的一批交易全部包含
  2. 你的一批交易全被包含进区块链后,才会广播到公共网络中

而矿工是根据利益关系做决定的,你需要更多的 gas price 支付,才能让矿工愿意打包你的交易,否则它为什么不直接打包公共交易池中的交易呢?

flashbots 是能够做到以上几点,但它目前只在以太坊主网与 Goerli 测试网络上工作,所以如果你的资产不在以太坊主网,将无法通过这种方式找回。

如何预防

  1. 不要随意将你的私钥泄漏,在任何时间,任何地点
  2. 考虑使用硬件钱包
  3. 有远见的批准一个“安全”的账户去能够转移你的 ERC20 通证,这样安全账户可以直接通过 transferFrom 转移你被盗账户中的 ERC20 通证
  4. 参与空头、活动等行为的账户与拥有大量存款的账户独立开
  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 15:59:44  更:2021-12-14 16:00:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:38:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码