助记词截图、无限授权、假钱包 App:我见过的 7 个钱包翻车现场

助记词存在备忘录里,等于把私钥发到了群里

12 个英文单词,来自 BIP-39 规定的 2048 个词表。这 12 个词的组合熵是 128 位,暴力破解需要 2^128 次尝试,用现在的算力挖到太阳熄灭都挖不完。

问题从来不在密码学上,在人的操作上。

我见过最多的翻车方式:助记词截图放手机相册、存微信收藏、记在备忘录、传到 iCloud 或百度网盘。这些地方全都会同步到云端。手机丢了、账号被盗、云盘被撞库,助记词就跟着走了。2022 年 8 月 Solana 那波钱包被清空事件,将近 8000 个钱包被盗,损失约 800 万美元,事后追查下来,一部分原因就是用户把私钥存在了 Slope 钱包的云端同步里。

正确做法就三条:手抄在纸上、买块金属助记词板刻上去、分两个物理位置存放。别拍照,别打字,别联网。

有个细节挺关键:BIP-39 的最后一个词是校验位,你输错了钱包会直接提示"无效助记词"。所以别以为随便乱序也能恢复。

同一个助记词,换个钱包恢复出来是空的

这个坑踩的人特别多,而且最吓人,因为你以为钱没了。

原因在派生路径。同样一组助记词,用 m/44'/60'/0'/0/0 这条路径(BIP44,最早的标准)和 m/44'/60'/0'/0/1、m/49'/60'/0'/0/0、m/84'/60'/0'/0/0 生成出来的地址完全不一样。

MetaMask 默认用 BIP44,Trust Wallet 也是。但一些老钱包、或者从其他链迁移过来的钱包,默认路径可能不同。你在 A 钱包里地址是 0x1234...,导入到 B 钱包后变成 0x5678...,里面当然没钱。

解决办法:在恢复钱包时找"高级选项"或"派生路径",挨个试。或者用离线版的 BIP39 工具(比如 Ian Coleman 那个开源页面,下载到本地断网运行)输入助记词,看不同路径下哪个地址能对上。

还有个更隐蔽的:passphrase。有些钱包支持在 12 词之外再加一个自定义的第 13 个词。加了这个词和没加,是两套完全独立的钱包。如果你当年设过但忘了,恢复出来的就是空地址。

无限授权,比转错账危险十倍

转账转错了,损失的是那一笔。授权授出去了,损失的是整个代币余额,而且随时可以被拿走。

ERC-20 的 approve 机制本来是为了方便 DEX 交互。你授权 Uniswap 可以动用你的 USDC,它才能帮你 swap。但很多 DApp 图省事,直接要无限额度(uint256 最大值)。你点了确认,就等于告诉这个合约:我这辈子的 USDC 你随便拿。

撤销的工具很简单:revoke.cash,或者 Etherscan 上的 Token Approval Checker。连上钱包,能看到所有授权过的合约和额度,逐个 revoke。每笔撤销要花 gas,以太坊主网大概 0.002 到 0.005 ETH,L2 上几分钱。

我的习惯是每次交互完,隔天就去 revoke.cash 扫一遍。花几块钱 gas,买个安心。

比 approve 更阴的是 Permit 和 Permit2 签名。这种签名不花 gas,页面看起来就像登录一下,很多人以为是安全的。签完之后攻击者拿着这个签名就能转走你的代币。判断方法:钱包弹窗里如果写着"签名"而不是"发送交易",而且内容里出现了金额和 spender 地址,就要停下来看清楚。

假钱包 App 真的上过应用商店

2023 年 Google Play 上出现过好几款冒充知名钱包的 App,图标和名字做得几乎一样,下载量刷到几万。用户导入助记词的那一刻,助记词就传到了攻击者服务器。

下载钱包只从两个地方:官网,或者官方 GitHub 的 release 页面。App Store 和 Google Play 也要核对开发者名称,MetaMask 的官方开发者是 ConsenSys,不是别的什么公司。

还有个变种是假网站。域名差一个字母,比如 metamask.io 变成 metamaskk.io。收藏官网书签,别每次靠搜索引擎找。

转账时选错链,钱就找不回来了

USDT 在至少 10 条链上都有:以太坊 ERC-20、波场 TRC-20、BSC 的 BEP-20、Solana、TON……从交易所提币的时候,提币网络要和接收钱包支持的链一致。

提错了链,币不会凭空消失,但会躺在一条你没在用的链上。想找回来,得用对应链的钱包导入同一个私钥,前提是那个地址在目标链上有效。ERC-20 和 BEP-20 地址格式一样,这种情况还能救。TRC-20 和 ERC-20 地址格式不同,转过去基本就是给交易所或合约送钱了。

还有个高频错误:往交易所充值 XRP、XLM、ATOM、TON 这类带 memo/tag 的币,忘了填 memo。币到了交易所账户,但系统不知道是谁的。得开客服工单,等几天到几周,有些交易所还收手续费。

顺便提一下地址大小写。以太坊地址遵循 EIP-55 校验和,大小写不是随便写的,写错一个字母钱包就会拒绝。看到全小写的地址,说明那个平台没做校验,多留个心眼。

转账前多花 10 秒:先转一笔最小金额测试,确认到账再转大额。这个习惯能省掉 99% 的麻烦。

硬件钱包解决的是私钥不联网,不是所有问题

硬件钱包的价值在于私钥永远不出设备,签名在设备内完成。但它不是护身符。

Ledger 在 2020 年 7 月泄露了 27.2 万个用户的邮箱、电话和姓名,后来营销数据又追加到 100 万级别。泄露的不是私钥,但给了钓鱼者精准的靶子。之后大量用户收到冒充 Ledger 的邮件,说"固件需要更新,请访问某链接输入助记词"。真 Ledger 永远不会问你要助记词,任何情况下都不会。

还有一点:硬件钱包的助记词,还是那 12 或 24 个词。设备丢了可以买新的恢复,助记词丢了设备就是块砖。

大额资产我现在的做法是 Safe 多签,2/3 或者 3/5。单个私钥泄露不会导致资金损失。在以太坊主网部署一个 Safe 合约的 gas 大概 0.01 ETH 左右,L2 上几毛钱。对于六位数以上的仓位,这个成本可以忽略。

几个我一直在用的小习惯

热钱包只放日常要用的量,比如几百美元。大额放硬件钱包或者多签。

每个 DApp 用独立的钱包地址。这样万一某个地址被钓鱼,其他地址不受影响。

授权至少一个月检查一次。

助记词抄两份,分开存。一份在家里的保险箱,一份在父母或者律师那里。

看到任何要你输入助记词、私钥、或者"验证钱包"的页面,直接关掉。没有例外。