老周在 tpwallet 里点下确认时,屏幕只显示“预计节省 12% gas”。没有合约地址的风险标签。那天他正给社群团购客户退 USDT的,群里催得急。链接来自一个仿冒空投页面,域名只差一个字母。
确认后半小时,钱包里 4.2 万枚 USDT 被分成三笔转走。tpwallet 本地没有弹二次验证,交易已经上链。复盘链上记录的,第一笔是 approve,授权对象是一个刚创建 6 小时的合约。第二笔调用 transferFrom,把余额清空了。老周以为 tpwallet 会像交易所那样拦截异常地址,实际自托管钱包只负责签名和广播了。私钥在他手机里,资产也在链上的,tpwallet 没有冻结权限。
更没有回滚按钮。这里就是很多用户把“钱包”和“托管账户”混为一谈。我后来让他在 tpwallet 的授权管理里找记录,页面能显示已授权的 DApp,入口藏得深,普通用户很难主动点进去了。
更麻烦的是安卓机曾装过来路不明的 APK,剪贴板也被篡改过一次是他复制收款地址。粘贴后变成另一个地址。那次金额小的,没在意。tpwallet 的便利性让签名变成肌肉记忆,风险却集中在一次点击里。现在老周换了新手机,助记词手抄在铁盒里,大额资产转到硬件钱包。tpwallet 仍留少量 gas 和日常小额转账的。
他设了规矩,任何授权先查合约创建时间。再用 revoke.cash 定期清理;
陌生链接不在钱包内置浏览器打开。说白了,tpwallet 是工具,不是保险箱。链上没有客服能追回资产,能拦住那一下的。只有自己。