同一个助记词,为什么别人钱包是空的?聊聊我踩过的5个坑

2021年牛市最疯的时候,我朋友老陈在去中心化交易所买了个土狗币,三天翻了12倍。他兴奋得不行,把助记词抄在一张便利贴上,贴在显示器边框,说“这样最不容易丢”。

两个月后他家猫跳上桌子,连显示器一起带倒了。主机没事,显示器碎了,那张便利贴被猫爪子勾进了垃圾桶。等他发现的时候,垃圾已经倒了两天。

钱包里当时值4万多美金。没了。

助记词不是“密码”,别搞混了

老陈犯的第一个错,是把助记词当成了“备用密码”。他觉得反正每天用密码就能打开钱包,助记词只是以防万一。

实际情况是:助记词是私钥的另一种表达形式。谁拿到你的助记词,谁就100%拥有你的资产。密码忘了可以重置,助记词丢了就是永久丢失。

我后来养成一个习惯:助记词用金属助记词板刻下来,买两块,一块放家里保险柜,一块放银行保管箱。成本大概200块人民币,跟丢币的代价比起来可以忽略。

导入钱包后余额为零?90%是选错了链

上周有个读者私信我,说他把MetaMask的助记词导入到Trust Wallet,结果余额显示0。他以为币被偷了,急得半夜给我发语音。

我让他先别慌。问了三个问题:

  • 你的币是在以太坊主网还是BSC链上买的?
  • 导入的时候选了哪条链?
  • 原钱包里有没有添加自定义代币?

他答不上来第二个。这就是问题所在。

同一个助记词可以派生出无数条链上的地址。你在MetaMask里用的是以太坊地址,导入Trust Wallet时如果默认选了BSC,看到的当然是另一个地址,余额自然是0。

操作步骤:导入助记词后,先去设置里切换网络。Trust Wallet默认多链,点右上角切换图标,选以太坊。如果还没显示,手动添加代币合约地址。

我另一个朋友更离谱。他在Uniswap上买的币,导入钱包后死活找不到。折腾三天才想起来,那个币是他在PancakeSwap上买的,在BSC链上。切换网络后,币全在那儿。

授权陷阱:一次“确认”可能掏空钱包

2022年有个叫“Uniswap LP挖矿”的钓鱼网站,界面跟真的Uniswap一模一样。我另一个朋友点进去,连接钱包,点了“授权”。

那个授权请求不是转币,是授权对方无限量支配他的USDT。他当时没仔细看,以为只是普通的连接确认。

三分钟后,钱包里2300个USDT被转走。

这里有个关键点:授权和转账是两码事。授权是允许对方动用你某个代币,转账是直接打过去。很多钓鱼网站利用的就是用户不看授权详情。

怎么防?每次连接钱包后,弹出授权请求时,点开“查看详情”,看两样东西:

  • 授权的代币合约地址是不是你熟悉的
  • 授权数量是不是“无限”(Unlimited)

如果是不认识的合约,直接拒绝。如果已经授权了可疑合约,去revoke.cash输入钱包地址,撤销所有不认识的授权。我每个月会查一次,花两分钟,省心。

钱包地址复制粘贴也会出错

听起来很蠢,但真有人中招。我认识一个做OTC的,转账时复制了对方的地址,结果剪贴板被恶意软件劫持,粘贴出来的地址跟复制的完全不一样。

他转了1.5个BTC过去,对方说没收到。一查链上记录,币进了一个完全陌生的地址。

这种事现在少了,但没绝迹。我的习惯是:复制地址后,先核对前6位和后4位。大额转账先转0.001个币测试,确认到账再转剩下的。

还有个小坑:不同链的地址格式长得像。比如以太坊地址和BSC地址都是0x开头,但你不能把ERC20的USDT转到BSC地址上,除非走跨链桥。我见过有人把ETH转到BSC地址,币直接消失。

钱包备份不是“截图存手机”

去年有个用户把助记词截图存在手机相册,还开了iCloud同步。结果苹果账号被盗,黑客翻相册找到助记词,清空了他所有钱包。

手机相册、微信收藏、备忘录、邮箱草稿——这些地方都不安全。云端同步意味着你的助记词可能存在于你不知道的服务器上。

我自己的做法:

  • 助记词只手写,用金属板刻
  • 不拍照、不截图、不发微信
  • 如果非要数字化,用密码管理器(如1Password)的加密笔记功能,但前提是你的密码管理器主密码足够强

说到这,你可能觉得我太谨慎。但在这个行业待久了,见过太多“没想到”。老陈的猫、钓鱼网站、剪贴板劫持——每一件都是小概率事件,但发生在你身上就是100%。

钱包这东西,安全措施做再多都不为过。毕竟私钥在你手里,责任也在你手里。