从两次被盗经历说起:我的钱包安全实操指南

· 钱包对比

2022年3月,我一位朋友在Opensea上挂了一笔NFT卖单,用的是一个用了快两年的钱包。签完名之后,他的钱包里价值约4.7 ETH的资产在12分钟内被清空。事后复盘,问题出在他之前点过一个钓鱼网站,授权了setApprovalForAll,自己早忘了。

另一个案例更离谱。去年11月,一位读者私信我,说他助记词抄在手机备忘录里,手机借给同事用了半天。三天后,钱包里的USDC被转走,损失约2800美元。这两个案例的共同点:不是私钥被破解,而是操作习惯出了漏洞。

钱包到底在管什么

很多人分不清钱包、地址、私钥的关系。说白了一句话:私钥是控制权,地址是收款账号,钱包是管理这两样东西的工具。

私钥本质上是一个256位的随机数,格式化成64个十六进制字符。你创建钱包时看到的那12个或24个单词(助记词),是私钥的人类可读版本。任何人拿到这组词,就等于拿到了你钱包的完全控制权。

这里有个常见误区:很多人以为“钱包里存着币”。不对。币在链上,钱包只是帮你签名交易的工具。你卸载App、换手机,只要助记词在,资产就在。反过来,助记词丢了,App还在也没用。

选钱包:热钱包和冷钱包怎么分工

我自己的配置是这样的:

  • 热钱包(联网) :MetaMask,装浏览器插件,专门用来交互DApp、领空投、做小额交易。里面常驻资金不超过500美元等值。
  • 冷钱包(离线) :Ledger Nano X,硬件设备,存长期持仓。私钥永远不出设备,签名在设备内完成。
  • 中间层 :一个手机端钱包(我用Rainbow),只用来收小额转账和日常扫码,私钥和热钱包分开。

为什么这么分?因为热钱包的风险面太大了。你每连接一个DApp,就可能产生一次授权。浏览器插件本身也可能被恶意扩展攻击。2023年9月,一个流行的MetaMask仿冒插件在Chrome商店上架了两周,下载量超过3000次,专门窃取助记词。热钱包放小钱,丢了不心疼;大钱放冷钱包,操作麻烦但安全。

助记词保管:别做那三件蠢事

我见过太多人在这上面翻车。三个绝对不要做的事:

不要拍照存手机相册。 手机相册会同步iCloud或Google Photos。2022年有个案例,攻击者通过泄露的iCloud账号拿到了用户相册里的助记词截图,直接清空钱包。

不要存微信收藏或备忘录。 这些平台的内容对平台方可见,而且账号被盗的风险远高于你想象。

不要用“助记词加密”类App。 市面上至少有两款所谓的助记词保险箱App被曝出把用户数据明文上传服务器。

我的做法:助记词手写在两张纸上,一张放家里保险柜,一张放父母家。用的笔是防水的记号笔,纸是防水的合成纸。听起来夸张?你丢一次就知道了。

授权管理:最容易被忽视的漏洞

回到开头那个朋友的案例。他损失的原因不是私钥泄露,而是代币授权。

当你使用Uniswap、OpenSea这类DApp时,会签署两类授权:approve(允许某个合约动用你某个代币的额度)和setApprovalForAll(允许某个合约操作你所有同类NFT)。很多人签完就忘了。

我建议每月做一次授权检查。具体操作:

  1. 打开 revoke.cash 或 etherscan.io/tokenapprovalchecker
  2. 连接你的钱包地址(只读,不需要签名)
  3. 查看所有活跃授权,把不认识的、额度为“无限”的、超过3个月没用的,全部撤销
  4. 每笔撤销需要付gas费,以太坊主网大概0.5-2美元一笔,Polygon上几乎免费

我自己的习惯是:每次用完一个DApp,如果确定不再用,当场撤销授权。多花1美元gas,比事后被盗4.7 ETH便宜太多。

转账前的三个检查动作

链上转账不可逆,转错了就是转错了。我每次转账前固定做三件事:

第一,核对地址前6位和后4位。 地址投毒攻击现在很常见——攻击者会生成一个和你常用地址前6位后4位相同的地址,往你交易记录里打一笔0金额的假交易,让你复制错地址。2023年12月,一位用户就因为复制了交易记录里的投毒地址,转丢了价值约120万美元的USDC。我的做法:地址全部手动输入前6位和后4位,中间部分从通讯录调取,双重核对。

第二,先发一笔测试小额。 转大额之前,先发一笔10美元等值的测试交易。确认到账了,再发全额。多花一笔gas,买的是确定性。

第三,确认链和代币合约。 我遇到过读者在BSC链上转USDT,结果填的是以太坊上USDT的合约地址,资产直接打进黑洞。转账前看清楚:链对不对?代币合约地址是不是官方那个?

一个真实的新手翻车场景

上个月有个刚入圈的朋友问我:为什么他在MetaMask里看不到刚买的某个代币?我让他把代币合约地址发我。一查,他在一个电报群里点了个链接买的,合约地址和官网公布的差了两位。买了假币,钱直接进了骗子口袋。

这个场景太典型了。新代币的合约地址,永远从官网或官方推特置顶获取,不要从电报群、微信群、陌生人私聊里点链接。哪怕那个群看起来有5000人,哪怕那个链接看起来和官网一模一样。

钱包安全这件事,说到底就是一句话:你的操作习惯,比钱包品牌重要一百倍。 Ledger也出过数据泄露事件,MetaMask也被人仿冒过。工具没有绝对安全的,但你把助记词管好、授权定期清、转账前核对三遍,能避开99%的坑。