同一个助记词,为什么别人钱包是空的?聊聊钱包的7个真实坑
我见过最惨的一个哥们,2021年牛市里把 12 个 ETH 转进了一个新下载的 MetaMask,然后助记词手抄在一张便利贴上,贴在显示器边框。三个月后便利贴不见了——他妈妈打扫卫生时撕掉扔了。当时 ETH 大概 4000 刀一个,五万美金就这么跟着一张纸进了垃圾桶。
这事让我意识到,大部分人对钱包的理解,其实停留在“下载一个 App”这个层面。今天把常见的坑捋一遍,每个都带血。
助记词和私钥,不是一回事
很多人以为助记词就是私钥,其实助记词是种子,私钥是从种子推导出来的。一套 12 个单词的助记词,能生成几乎无限个私钥和地址。
这里有个要命的点:同一个助记词,在不同钱包里导入,出来的地址可能不一样。
去年有个用户找我,说他在 Trust Wallet 里有一笔 USDT,导入到 imToken 后地址变了,币不见了。他以为被盗了。实际情况是——Trust Wallet 默认用 BIP44 的 m/44'/60'/0'/0/0 路径,imToken 早期版本走的是 m/44'/60'/0'/0。路径差一个层级,地址完全不同。币没丢,只是在另一个地址上。
怎么避免: 换钱包导入助记词后,先核对第一个地址是不是和原来一样。不一样就说明派生路径不同,去设置里找“派生路径”或“地址类型”选项切换。
助记词截图存手机 = 把钥匙插在门上
我统计过身边 30 多个玩币的朋友,至少有 8 个人干过这事:助记词截图存相册,或者存微信收藏。
听起来方便,实际上你的相册同步到 iCloud、Google Photos,微信收藏同步到腾讯服务器。这些云端一旦被撞库或者内部泄露,你的钱包就是别人的提款机。
真实案例:2023 年有个 NFT 玩家,助记词存在手机备忘录里,手机送修时被维修人员翻到,当天晚上钱包里价值 8 万刀的 NFT 被转走。报警也没用,对方用的是混币器。
正确做法: 助记词只用手写,写两份,分两个物理位置存放。不要拍照、不要存云、不要发给任何人(包括你自己微信文件传输助手)。
授权(Approve)才是隐藏杀手
大部分人换钱包、转币都很小心,但栽在“授权”上。
你在 Uniswap 上换一次币,需要给合约授权。这个授权默认是无限量的。也就是说,你授权了 USDC,那个合约理论上可以转走你钱包里所有的 USDC。
2022 年有个典型案例:一个用户在某钓鱼网站授权了 USDT,当时钱包里只有 100 U,他没在意。半年后他往这个钱包转了 5 万 U 准备抄底,转进去 3 分钟内被全部划走。因为那个授权一直有效。
操作步骤:
- 每隔一两个月去 revoke.cash 或 Etherscan 的 Token Approval 页面
- 连接钱包,看哪些合约还有授权
- 不用的全部 Revoke,每笔撤销大概花 1-5 刀 gas
别嫌麻烦,这笔 gas 比你丢币便宜太多。
硬件钱包不是万能,盲签一样出事
买了 Ledger 或 Trezor 就高枕无忧?不一定。
硬件钱包的核心价值是私钥不触网。但你签名的时候,如果屏幕上显示的信息你看不懂,直接按了确认,那和热钱包没区别。
2023 年有个 DeFi 老玩家,用 Ledger 连接一个恶意 dApp,Ledger 屏幕上显示的是一串十六进制数据,他看不懂但还是确认了。结果签的是一笔 setApprovalForAll,把他整个钱包的 NFT 全部授权给了攻击者。损失 20 多个蓝筹 NFT。
记住: 硬件钱包屏幕上如果显示的不是你预期的操作(比如你以为是 swap,但屏幕显示的是 approve),立刻拒绝。看不懂就不签。
多链钱包的“同名代币”陷阱
你在 BSC 上看到一个叫 USDT 的代币,合约地址是 0x55d3...,那是真的。但有人会部署一个也叫 USDT 的假币,合约地址不同。
有个用户在某 DEX 上看到“USDT”价格特别便宜,以为捡漏,花 2000 U 买了 5000 个假 USDT,结果卖不出去。因为那个池子是他自己建的,流动性是他自己加的,就等着人上钩。
检查方法: 永远核对合约地址。真 USDT 在以太坊上是 0xdAC17F958D2ee523a2206206994597C13D831ec7,在 BSC 上是 0x55d398326f99059fF775485246999027B3197955。不确认地址就别交易。
钱包“升级”可能是钓鱼
你可能会收到邮件或推特私信,说你的钱包需要“升级”或“验证”,点进一个和你常用钱包长得一模一样的网站,输入助记词。
这就是最经典的钓鱼。MetaMask 官方永远不会主动问你要助记词。任何要你输入助记词的网站,100% 是骗子。
有个数据:2023 年全年,因为钱包钓鱼损失的金额超过 3 亿美元。大部分受害者都是输入了助记词。
铁律: 助记词只在你第一次创建钱包、或者在新设备上恢复钱包时输入。其他任何场景,一律不给。
钱包里的“零 gas”转账是假的
有些链上会出现“0 gas 转账”的说法,尤其是某些新公链。实际上 gas 只是被项目方代付了,或者用其他代币结算。
有个用户看到某链上“免 gas”转 USDT,转了 10 次,每次金额不大。后来发现每次转账都被扣了等值的项目方代币,而这些代币他根本不认识,是从他钱包里其他余额里扣的。
看清规则: 任何“免费”的操作,都要看它扣了什么。钱包的资产页面如果突然多出你不认识的代币,别乱动,更别拿去授权或交易。
最后说一个最容易被忽略的
你的钱包地址是公开的,别人给你转币只需要地址。但别人给你转 NFT 或代币,不需要你同意。
有人会往你钱包里空投一个看起来很像知名项目的假 NFT,你一旦去它的网站查看或交易,就会触发授权,钱包被清空。
不认识的空投,不碰。不看。不授权。
钱包这东西,说到底就是一句话:私钥在谁手里,资产就在谁手里。 所有操作之前,先问自己一句——我这一步,有没有可能把私钥或授权交出去。