从被盗 0.3 个 BTC 到安全使用钱包:我的血泪教训与实战指南

· 币种支持

2022 年 3 月,我认识的一个老哥在 Discord 上点了一个“空投领取”链接,钱包里 0.3 个 BTC 和 12 个 ETH 在 90 秒内被清空。他用的钱包是 MetaMask,私钥没泄露,助记词也没给过任何人——问题出在他之前对那个钓鱼合约签了一个 setApprovalForAll 授权。这个细节很多人到今天都没搞明白。

热钱包和冷钱包,不是“哪个更安全”的问题

先说结论:安全程度不取决于钱包类型,取决于你怎么用。

我另一个朋友,2021 年开始用 Ledger Nano X,到现在链上资产六位数美金,一次没出过事。他的操作习惯很“笨”:所有空投、mint、不明链接,一律用另一个单独的热钱包去交互,那个热钱包里永远只放 0.05 ETH 以内的 gas 费。冷钱包只做两件事——存资产、签名转账。

对比那个被盗的老哥,他所有操作都在一个钱包里完成,包括领空投、连 Uniswap、签 NFT 白名单。一个钱包走天下,等于把所有鸡蛋放在一个没有锁的篮子里。

具体怎么分:

  • 冷钱包(Ledger / Trezor):只存长期不动的资产,私钥永不触网。Ledger Nano X 官方售价 149 美元,Trezor Model T 约 219 美元。别买二手,别买闲鱼,官方渠道下单。
  • 热钱包 A(主力交互):MetaMask 或 Rabby,放日常用的少量资产,专门连 DApp。
  • 热钱包 B(垃圾场):随便建一个,专门领空投、点不明链接。里面最多放 0.01 ETH。

说到这,你可能会问:那助记词到底怎么存?我的做法是手写在两张纸上,一张放家里保险柜,一张放父母家。不拍照、不存云笔记、不发微信文件传输助手。2023 年有个案例,某用户把助记词存在 iCloud 备忘录里,Apple ID 被钓鱼后钱包被搬空——这种事每年都在发生。

MetaMask 创建钱包,有三个坑你大概率会踩

第一个坑:助记词顺序。 MetaMask 生成 12 个单词,抄的时候必须按顺序抄。我见过有人抄成字母排序,恢复时怎么都对不上。抄完当场验证一遍——MetaMask 会让你按顺序点选单词,这个步骤别跳过。

第二个坑:网络切换。 新手最容易犯的错是在 Ethereum 主网以外操作时忘了切网络。比如你在 BSC 上转 USDT,MetaMask 默认显示的是 ERC-20 的 USDT 余额,你看着有 1000 U,实际 BSC 链上可能是 0。转账前确认右上角网络名称,Gas 费显示的是对应链的代币。

第三个坑:授权管理。 这就是开头那个老哥踩的坑。每次你在 DApp 上点“Approve”,本质是给合约一个额度。setApprovalForAll 更狠——直接授权对方管理你所有同类 NFT 或代币。

操作步骤:打开 revoke.cash,连接钱包,看授权列表。我上个月查自己的主力钱包,发现 2022 年给三个已经跑路的项目留了无限授权。逐个点 Revoke,每笔 gas 大概 0.0005 ETH 左右。建议每季度查一次。

转账测试:一个 5 美元的习惯,省过 5000 美元的损失

2023 年 11 月,我要从交易所提 2 个 ETH 到一个新钱包地址。先转了 0.01 ETH 测试,到账后核对地址前六位和后四位,确认无误再转剩下的。结果那笔大额转账因为交易所风控审核卡了 40 分钟——如果没做测试直接转,我可能在等待期间以为地址错了,手忙脚乱做出错误操作。

具体流程:

  1. 小额测试转账(金额控制在 10 美元以内)
  2. 在区块浏览器(Etherscan / BscScan)上核对交易状态和收款地址
  3. 确认到账后再转大额
  4. 大额转账前再核对一遍地址——复制粘贴后检查首尾各 4 位字符

有个细节:现在很多钱包支持地址簿功能。把常用地址存进去,下次直接选,避免手动输入出错。MetaMask 的地址簿在设置里,Rabby 更直接,转账时自动显示对方地址的链上历史。

遇到“钱包被多签”怎么办

今年 1 月有个读者私信我,说他的钱包被莫名其妙加了多签,转不出资产。这种情况通常是私钥已经泄露,攻击者用 Safe 之类的多签合约控制了账户,但还没来得及转走资产。

应急步骤:

  • 立刻停止往该地址转入任何资产
  • 用另一台干净设备创建新钱包
  • 如果资产还在原地址且未被转走,尽快通过原钱包发起一笔转账到新地址(前提是你还能操作)
  • 如果已经被多签控制,基本无解——链上合约不可逆,只能报警备案

讲真,这种案例 90% 以上是私钥在某个环节泄露了:截图、剪贴板劫持、恶意插件、或者用了假钱包 App。App Store 和 Google Play 上都出现过假冒 MetaMask 的应用,下载量还不低。认准官网 metamask.io 的下载链接,别在搜索引擎里点广告位。

一个我用了三年的检查清单

每次操作前花 30 秒过一遍:

  • 当前钱包是不是专用交互钱包?(不是存大额的那个)
  • 网站域名对不对?(Uniswap 是 app.uniswap.org,不是 uniswap.org.co 之类)
  • 授权弹窗里的合约地址,在 Etherscan 上有没有历史记录?
  • Gas 费是不是异常高?(可能是恶意合约在薅你)
  • 转账地址首尾字符核对过了?

这些习惯不酷,但管用。钱包安全这件事,说到底就一句话:你不需要比黑客聪明,只需要比 90% 的用户谨慎。