钱包助记词丢了、被钓鱼了、多签不会用——这几个坑我见一次说一次
上周又有个读者私信我,说钱包里的 12 个 ETH 被转走了,助记词没给过任何人。我让他把钱包地址发过来,链上一查,授权记录里躺着一个三天前签的 approve,额度是 unlimited。他自己都忘了什么时候点的。
这种事我每个月至少遇到两三回。钱包这东西,说起来简单——装一个、记个助记词、收币转币,但真正踩坑的地方全在细节里。今天挑几个问得最多的问题聊透。
助记词到底该怎么存
先纠正一个高频误区:助记词不是密码,它本身就是私钥的另一种写法。12 个单词,谁拿到谁就是钱包主人,不需要你的登录密码、不需要邮箱验证、不需要任何二次确认。
我见过有人把助记词存在微信收藏里,有人拍照存相册,有人抄在便签纸上贴在显示器边框。这三种做法等价于把家门钥匙插在锁上。
比较靠谱的做法是物理介质离线保存,而且至少两份、放在不同地点。抄写的时候注意:按顺序抄、核对三遍、别用连笔字(我见过自己都认不出自己写的单词的)。如果你想再稳一点,可以用钢制备份板把单词打上去,防火防水,成本不到一百块。
说到这你可能会问:那助记词丢了怎么办?答案很直接——丢了就是丢了,没有找回渠道,没有客服,没有申诉。链上没有“忘记密码”按钮。所以备份这件事,做一次不够,得确认备份真的可用。方法很简单:找个新钱包,用你的备份助记词导入一次,看地址对不对得上。对得上,说明备份有效;对不上,趁还没出事赶紧重来。
授权钓鱼:比盗助记词更隐蔽
回到开头那个读者的案例。他没泄露助记词,但他在某个“空投查询”网站上签了一笔交易。那笔交易表面上是“验证钱包”,实际调用的是 ERC-20 的 approve 方法,把他钱包里 ETH 的支配权授给了攻击者地址。
这类钓鱼现在占了钱包安全事件的很大比例。Revoke.cash 的数据显示,光是 Ethereum 主网上就有超过 50 万个地址存在高风险授权。攻击者不需要你的私钥,只需要你签一次名。
防的办法不复杂,养成两个习惯就行:
第一,签任何交易前看清弹窗内容。MetaMask 会显示“授权额度”,如果看到 Unlimited 或者一串很长的数字,停下来想想这个 DApp 是否真的需要无限额度。大部分场景下,手动改成你实际要用的数量就够了。
第二,定期清理旧授权。打开 Revoke.cash 或 Etherscan 的 Token Approvals 页面,连上钱包,把不用的授权逐个撤销。每笔撤销交易大概花几美元 gas,但比被搬空强。
多签钱包没你想的那么复杂
很多人一听“多签”就觉得是机构用的东西,个人用不上。实际情况是,如果你钱包里长期放着超过一万美元的资产,多签值得认真考虑。
原理不复杂:一个钱包需要 N 个签名者中的 M 个同意才能动钱。比如 2/3 多签,就是三个持有人里任意两个签名才能转账。好处是单点失守不会导致全盘损失——一个人助记词泄露,资产还在;一个人被钓鱼,交易签不出去。
现在用得比较多的是 Safe(原 Gnosis Safe),部署在 Ethereum 和十几个 EVM 链上,创建钱包的 gas 费大概几美元到十几美元,取决于网络拥堵程度。操作步骤:
- 打开 app.safe.global,连接一个现有钱包
- 点“Create new Safe”,添加签名者地址,设定阈值(比如 2/3)
- 确认部署,支付 gas
- 之后所有转账都需要收集足够签名才能执行
老实说,多签的日常体验比普通钱包麻烦,每笔交易要多几步协调。但它解决的是一个根本问题:你不需要信任任何单一个人,包括你自己。
硬件钱包不是万能药
最后说个常见误解。有人觉得买了 Ledger 或 Trezor 就万事大吉了。硬件钱包确实能把私钥隔离在离线环境里,但它防不住你在电脑上签一笔恶意交易——设备屏幕上显示什么,你就得核对什么。
我见过最离谱的案例:用户用 Ledger 签了一笔交易,设备屏幕上显示的收款地址被剪贴板劫持替换了,他没仔细核对后六位,直接确认,资产转进了攻击者地址。硬件钱包签了名,但签的是攻击者构造的交易。
所以硬件钱包的正确用法是:每次签名时,设备屏幕上显示的地址、金额、合约交互内容,必须和你预期的完全一致。不一致就拒绝。多花十秒钟核对,能省掉后面所有的麻烦。
钱包这件事,说到底是一套操作习惯。工具再好,习惯不对照样出事。助记词离线存、授权定期清、大额上多签、签名前核对——这四条做到,能挡掉九成以上的常见风险。