从两次被盗经历说起:钱包安全设置里最容易被忽略的四个细节
2023 年 3 月,我认识的一个 DeFi 老玩家在 Uniswap 上授权了一个来路不明的 NFT 合约,48 小时后钱包里的 12 个 ETH 和两枚 BAYC 被转走。同年 11 月,另一个朋友在 Telegram 里点了一个“空投领取”链接,助记词被钓鱼页面套走,损失 3.7 万美元。
两起事件有个共同点:他们的冷钱包都没出事,出事的都是那个“平时用来交互”的热钱包。这篇文章不聊“买什么币”,只聊钱包怎么设置、怎么用、怎么不把私钥交出去。
先搞清楚你在用什么钱包
钱包分两类:托管钱包和非托管钱包。交易所账户本质上是托管钱包,私钥在平台手里。你看到的余额只是平台数据库里的一个数字。FTX 暴雷时,大量用户连提币按钮都点不了,这就是托管的风险。
非托管钱包分两种形态。一种是热钱包,私钥存在联网设备上,比如 MetaMask、Rabby、Trust Wallet。另一种是冷钱包,私钥离线保存,比如 Ledger、Trezor。还有一类是 MPC 钱包,私钥分片存储,比如 OKX Web3 钱包的部分方案。
我自己的配置是:Ledger Nano X 存长期仓位,MetaMask 装在一个专门的老手机上只做小额交互,Rabby 用来跑多链测试。三个钱包的助记词从不放在同一处,也从不拍照存手机。
助记词不是“记在备忘录里”就完事
讲真,我见过太多人把 12 个单词截图存在相册里,或者写在微信收藏。2022 年有个链上分析师统计过,超过 30% 的被盗案例跟助记词泄露直接相关,而不是合约漏洞。
正确做法是物理介质。买一块钢板助记词板,几十块钱,把单词刻上去。或者用纸笔抄写,分开存放在两个物理位置。不要在联网设备上以任何形式保存助记词,包括加密笔记、云盘、邮件草稿。
有个细节很多人忽略:助记词的顺序就是私钥本身。有人抄写时把第 5 和第 6 个单词写反了,恢复钱包时直接变成另一个空地址。抄完必须当场验证一遍——用钱包的“恢复”功能走一遍流程,确认地址一致再收起来。
授权管理:比换钱包更重要的习惯
回到开头那个损失 12 ETH 的案例。问题不出在钱包本身,出在 ERC-20 授权。你在 Uniswap 上 swap 一次,实际上给了合约动用你某个代币的权限。有些恶意合约会申请无限授权(uint256 最大值),一旦你点了确认,它可以在你不知情的情况下转走该代币的全部余额。
操作步骤很具体。打开 revoke.cash 或者 Etherscan 的 Token Approvals 页面,连接钱包,逐条检查授权列表。看到不认识的合约地址、或者授权额度是“Unlimited”的,直接撤销。我每个月做一次,花不到 5 分钟。
有个真实数据:2023 年 Revoke.cash 处理了超过 120 万次撤销请求,其中约 18% 的授权指向已被标记为恶意的合约。你每撤销一条,就是关掉一扇没锁的门。
签名和授权是两回事,别乱点“确认”
钓鱼攻击现在很少直接要私钥了,太粗糙。常见手法是让你签一个 eth_sign 或者 personal_sign 请求,看起来像登录验证,实际上签名内容是一笔转账授权。你签了,钱就没了。
MetaMask 在 2023 年更新后会把 eth_sign 标红警告,但很多人不看内容直接点确认。我的习惯是:任何签名请求,先看三样东西——请求来源域名、签名内容里的合约地址、以及是否有“转账”“授权”“setApprovalForAll”字样。看不懂就不签,关掉页面。
Ledger 用户有个额外保护:交易详情必须在硬件设备屏幕上二次确认。但注意,如果你在电脑上被钓鱼页面替换了收款地址,Ledger 屏幕上显示的地址和你以为的不一样——这时候必须核对设备屏幕,而不是看电脑显示器。
多签不是机构专属
Gnosis Safe(现在叫 Safe)多签钱包的门槛比想象中低。创建一个 2/3 多签,三个签名人分别用不同设备,单笔交易需要两人确认。年费为零,gas 费按正常交易算。
我自己的大额资产放在一个 2/3 Safe 里,签名人分别是我主力电脑上的 Rabby、一台离线手机上的 MetaMask、以及一个 Ledger。任何一笔转出,至少需要两个设备同时在线确认。单点被攻破,资产不动。
设置步骤不复杂:safe.global 创建账户,添加三个签名地址,设定阈值为 2,部署合约(主网 gas 约 0.003 ETH,L2 上几乎免费)。之后每次交易发起后,其他签名人会在 Safe 界面看到待确认请求,用自己钱包签名即可。
一个容易被忽略的实战细节
换手机或重装钱包 App 之前,先在一台备用设备上用助记词恢复一次,确认地址和资产完整。我见过至少三个人在旧手机卖掉之后才发现助记词抄错了,资产永久锁死。
另外,钱包里的“隐藏资产”功能要慎用。有些恶意代币会自动空投到你的地址,显示在钱包里。你点开它、尝试卖出,就可能触发授权陷阱。MetaMask 和 Rabby 都支持隐藏代币,看到不认识的币种直接隐藏,不要交互。
钱包安全没有“一劳永逸”这回事。每一次交互都是一次判断,每一个签名都是一次授权。养成撤销授权的习惯、核对签名内容的习惯、以及用物理介质备份助记词的习惯,比买什么牌子的硬件钱包都管用。