常在河边走,哪有不湿鞋。在区块链的世界行走,有时候一不小心就踩进坑里,最危险的情况,莫过于钱包私钥泄露那些讨厌的黑客总会想尽办法盗取你的资产,所以当我们的钱包私钥泄露是该怎么尽量减少你的损失呢?
当你的钱包私钥泄露时,有经验的黑客会立即使用提前写好的脚本,检索你钱包里的资产并转移到自己的钱包,当然黑客并不是你钱包的原主人,所以它们并不会百无一漏,所以你的钱包在被黑客洗劫后,总会藏有一些没被黑客发现的资产,比如:未被领取的airdrop、不知名的代币、锁在合约中的资产等等。在你以为黑客离开后,你向你的钱包转移一笔gas,想要领取剩余的资产时,却发现,你刚转入的gas,下一瞬间就被黑客转走了,没错你的钱包黑客监听了。
这就放弃了吗?当然不会。黑客转移你转入的gas的原理是:黑客部署机器人,不断监听当前的交易内存池,一旦发现你转入gas之后,会立即在下一个区块发送一笔交易转移你的Gas,而你的速度当然不会快过机器人。所以要想挽救你的资产,你必须在黑客发现之前,一次性在一个区块完成多笔交易:1. 转入gas 2. 调用合约领取资产 3. 转移资产到安全钱包
Flashbots是一个常用在MEV领域的工具,不过我们今天不探讨这个,长话短说,Flashbots就是这么能够帮你一次性在一个区块完成多笔交易的工具,并且还能为你提供隐私保护,由flashbots提交的交易是不会出现在内存池的,所以等到邪恶的黑客发现你的时候,它只能看到你的历史交易记录了
Flashbots官方文档 https://docs.flashbots.net/flashbots-auction/quick-start
前段时间我的钱包私钥泄露,并且被黑客监听,于是我打算用flashbots挽救我的资产,我在网上查了很多资料,包括官方文档,遗憾的是由于区块链技术太过新颖,查找资料非常麻烦且简略,碎片化,所以费了很大的劲才达到我的目的,为了避免初学者像我一样耽误很多时间,所以本仓库提供了一个使用Flashbots捆绑交易示例。
需要下载Node.js, vscode(集成开发环境)才能使用
Node.js下载地址:https://nodejs.org/en/download
vscode下载地址:https://code.visualstudio.com/download
安装时遇到问题,请自行百度或者谷歌搜索
先输入npm install下载相关依赖
然后启动脚本:node .\script\rescue.js