助记词丢了、交易卡住、授权被偷:钱包最常见的 7 个坑
助记词和私钥不是一回事
很多人把这两个当成同一个东西。其实不是。
助记词是 12 个或 24 个英文单词,来自 BIP-39 标准。12 个词对应 128 位熵,24 个词对应 256 位。它是种子,能推导出无限多个私钥,也就是无限多个地址。
私钥是单个地址对应的那串 64 位十六进制字符。一个私钥只管一个地址。
这意味着什么?如果你只备份了某个地址的私钥,那个地址之外的资产全丢了。助记词才是根。
截图备份等于没备份
我见过太多人把助记词截图存手机相册,或者拍照存微信收藏。
手机相册会被 iCloud 和 Google Photos 自动同步。云盘账号一旦被撞库,助记词就是别人的了。相册 App 还有 OCR,能直接识别图片里的文字。
正确的做法是手抄在纸上,抄两遍核对。更稳的是买块金属助记词板,几十美元,防火防水。家里遭火灾的案例不是没有。
还有个细节:抄的时候按顺序编号。12 个词的顺序错了,钱包要么打不开,要么打开一个空地址。有人把顺序抄反了,三年后才发现里面从来没进过币。
交易卡在 pending 不动
以太坊的账户有 nonce,就是你发起过的交易序号。第 5 笔没打包,第 6 笔就永远排在后面。
卡住的原因通常是 gas 给低了。网络拥堵时,你出的 15 gwei 可能连最低门槛都够不上。
解决办法是用同一个 nonce 发一笔新交易覆盖它。MetaMask 里点那笔卡住的交易,选「Speed Up」,把 gas 提到当前网络建议值的 1.5 倍以上。或者选「Cancel」,本质是给自己转 0 ETH,用同样的 nonce 把旧交易顶掉。
Solana 不一样。它没有 nonce,交易带 blockhash,大约 150 个 slot 后过期,也就是 60 到 90 秒。过期了重新签一次就行。
换手机后钱包打开是空的
这是导入助记词后最常见的困惑。
问题出在派生路径。同一个助记词,按不同的路径推导,出来的地址完全不同。
MetaMask 默认走 m/44'/60'/0'/0/0。有些钱包默认走 m/44'/60'/0'/0,少一层。你把 MetaMask 的助记词导入某个钱包,看到余额为 0,别慌,先去设置里找「派生路径」或「添加账户」,切到 MetaMask 那条路径。
还有一种情况:你确实有资产,但在第 8 个地址上。多数钱包默认只显示前 5 个地址,点「添加账户」往后翻。
无限授权:你签过多少张空白支票
在 Uniswap 上换币,第一步是 approve,授权合约动用你的某个代币。
很多 DApp 默认申请的是无限额度,也就是 uint256 的最大值,约 1.16 × 10⁷⁷。签下去之后,只要那个合约有漏洞,或者项目方跑路,你的代币随时能被转走。
去 revoke.cash 连上钱包,它会把你在各条链上的授权列出来。看到不认识的、额度是无限的、半年没用的,直接撤销。撤销本身要花 gas,以太坊上大概几美元,BSC 和 Polygon 上便宜得多。
Etherscan 也有 Token Approval Checker,但只覆盖以太坊主网。多链的用 revoke.cash 更省事。
养成习惯:每次交互完,隔一两个月查一次授权。
地址投毒和假钱包
地址投毒这两年很猖獗。手法是往你的地址转 0 个 USDT,伪装成一笔正常转账记录。你的交易历史里就多了一个陌生地址,尾号和常用地址很像,比如都是 ...a3f7。
下次你从历史记录里复制地址转账,很可能就复制到那个假的。根据 Cyvers 的统计,2024 年上半年这类攻击造成的损失接近 7000 万美元。
防的办法很简单:转账前核对地址的前 6 位和后 4 位,最好用地址簿,别从历史记录里复制。
假钱包 App 是另一个坑。App Store 和 Google Play 上搜 MetaMask,排在前面的经常是广告位,点进去是高仿的。它们会诱导你输入助记词,然后瞬间清空。
只从官网下载。MetaMask 官网是 metamask.io。
硬件钱包不是保险箱
硬件钱包的价值在于私钥不触网,签名在设备里完成。但助记词本身还是明文存在设备里。
2022 年 3 月,Ronin 桥被盗 6.24 亿美元。攻击者拿到的不是某个用户的助记词,而是 5 个验证者节点的私钥。2022 年 2 月 Wormhole 丢了 3.26 亿美元,同样是私钥层面失守。
2020 年 7 月 Ledger 的客户数据库被拖库,27 万用户的姓名、电话、住址泄露。之后两年,这些人收到大量定向钓鱼短信和邮件,有人冒充 Ledger 客服寄来「换新设备」,附带的初始化卡片上印着攻击者准备好的助记词。
买硬件钱包,初始化时一定自己生成助记词,永远不用别人给你的。设备丢了不可怕,助记词还在就能恢复。助记词丢了,设备就是块废铁。