Twitter:@0xCike
Web3 黑暗森林处处都是狩猎场,钱包被盗的事件每天都在发生,最近的 $ARB 空投领取,各路科学家也在对泄露的私钥进行争夺实现零元购。只要你钱包里有钱,或者未来可能有钱(空投),那就得注意钱包的安全。本文介绍三种防护方案,新老玩家均可食用。
很多人钱包被盗之后都不知道原因,其实一般也就两种情况,很容易辨别。
授权是指,用户通过 Approve,赋予某个智能合约支配钱包内某项代币的权力。例如在 Uniswap 支付 USDT 购买 ETH 时,需要先将 USDT 授权给 Uniswap 的合约,让其有权调走你钱包里的 USDT,才能进行交易。NFT 也一样,在 Opensea 出售 NFT 时,必须先将钱包内该系列 NFT 的支配权授给 Opensea。
授权时默认是无限额度授权,但也可以自行设置额度。例如当下准备使用 500 USDT 购买 ETH,那么只授予其 500 USDT 的额度即可,下次再用的时候重新授权新的额度。
授权陷阱,即引导你授权钱包内某项或多项代币给骗子的合约。例如在访问某些钓鱼网站时(来源于假推特/假空投/被黑的 DS 等),会弹出小狐狸授权提醒,让你授权 USDT 给某合约,只要你授权了,那骗子就能通过调用合约拿走你的 USDT。
可以在 Revoke 查看你钱包授过哪些权,假如曾经授权给了不眼熟的合约,记得及时取消授权。
授权陷阱只能盗走你授权过的代币,例如只授权了 USDT 给骗子的合约,那骗子只能拿走 USDT,钱包里的其他代币拿不走。但私钥或助记词的泄漏就比较严重了,作为钱包的最后一道安全防线,拿到你的私钥/助记词,钱包里的资产全部可以转走。
综上,钱包安全的两个要点是:
不要随意授权,不能确定安全的合约/非主流项目的合约一律不授权,如果参与一些土狗项目时必须要授权,就用一个新钱包,只放少量资产。即使是主流项目的合约,也不要无限额度授权,当下用多少就授权多少。
保护好你的私钥/助记词,不要放在带有云服务功能的软件中(例如 WPS 办公套件、微软 Office 套件、网盘等),更不要通过微信/QQ 等社交软件传输。
本文推荐三种策略,从新手到大佬层层递进。冷/热/硬件钱包大家应该都懂,这里简单说一下:
热钱包是平时触网的钱包,比如在小狐狸里创建的钱包。
冷钱包是完全不触网的钱包,用完全断网的设备(如没有网络连接的新手机/电脑)创建钱包,如果要从该钱包转账,需要使用离线签名。
硬件钱包属于冷钱包,能和电脑/手机连接进行使用,比自己 DIY 的冷钱包方便很多。如果要用冷钱包,那就直接买硬件钱包。
对于资金量不大,且不想付出多余成本的用户,最好的方式是把币安作为资产交易和存储的主阵地,依赖币安的安全性,不要觉得币安不安全,其实比你自己的热钱包安全多了。
如果某项资产(例如 XXX 币)币安没有上线,必须要在链上交易和存储,那就将交易钱包和存储钱包分离,可参照下列流程:
从币安转 U 或 ETH 到 A 钱包,并在 A 钱包里购买 XXX 币,A 钱包留一些 Gas;
新创建一个 B 钱包,把 XXX 币存到 B 钱包里,B 钱包不要放 Gas,也不要做其他操作;
想卖的时候,从 A 钱包给 B 钱包转入 Gas,卖完换成 U 或 ETH 转入币安,B 钱包弃用。
这样做的好处是,A 钱包长期留存少量 Gas 以应对紧急需求(例如需要紧急卖出 XXX 币,临时从币安提 Gas 可能会比较慢),B 钱包仅作为存储,即使 A 钱包遭遇授权陷阱也不会影响 B 钱包的安全性。当然,A 钱包也要经常换,所有的钱包私钥/助记词都要保存在安全的地方(我的热钱包助记词一般以文本文档的形式存在多个 U 盘,仅供参考)。
另外,可以使用手机版 Zerion 监控 B 钱包地址,如果 B 钱包私钥被盗,骗子想要把 XXX 币转走,需要先转入 Gas,Zerion 将第一时间推送消息给你(实测比其他工具快),此时你可能有几十秒的时间赶在骗子之前将 XXX 币转走。当然,这样做的成功率很低,但总归有点机会。
硬件钱包是最方便的冷钱包方案,可以从源头上解决私钥/助记词触网的问题。在硬件钱包里创建钱包时,会离线生成助记词,需要你手动抄写助记词。要将助记词放在安全的地方,比如你家保险柜,市面上也有卖助记词钢板的,防火防爆。
现在硬件钱包已经很成熟,除了能够通过数据线/蓝牙/扫码等方式连接自家的电脑或手机客户端外,绝大部分还可以连接小狐狸,可以像热钱包一样使用小狐狸进行链上交互,只不过每笔交互都要在硬件钱包上多确认一步。
硬件钱包本质上是对私钥/助记词的加固,并不能防授权陷阱,所以也可以结合上一种方案,将硬件钱包作为 B 钱包,仅供存储,不做交互。如果你恰巧财力雄厚,那就买俩,给交易钱包和存储钱包全都换成硬件钱包。
由于市场的成熟,硬件钱包的价格也在一路走低,几百块 RMB 就能有很多不错的选择了,我自己试用过很多款硬件钱包,最早的是 18 年别人送的库神钱包,那时候贼贵,好几千块,后来买过币安投资的 SafePal,(空投了 $SFP 还赚了)。
现在我主要用的是两款 OneKey ,OneKey 用的是老牌开源钱包 Trezor 的架构,还是比较好用的。这不是广告,当时本来想买 Ledger,但被海关拒了,后来买了 OneKey,感觉性价比/体验感似乎更好(OneKey 官方看到记得打钱)。
OneKey 可以在国内顺丰发货,下方扫码可以进入官方的微店小程序。目前主力款有两款,Touch 是触屏,设计好看,使用方便,价格 1699 RMB;Classic 是传统的按键设计,超薄,价格 599 RMB。还有款更便宜的,不支持蓝牙,不推荐。
P.S. 所有的硬件钱包都要从官方渠道买,不要找代购和第三方商家! BlockGM 网站上收录了主流的硬件钱包厂商官网,可以参考。
无论是上文提到的热钱包还是冷钱包,其实都有一个问题——私钥/助记词泄漏就完犊子,这是普通钱包账户本身自带的问题。
我们平时使用的钱包都属于 EOA 钱包,不懂意思没关系,简单来说就是完全靠私钥控制,功能单一。与 EOA 相对的是智能合约钱包,即钱包账户本身是一个合约,可以实现更丰富的功能,比如可以用任意代币支付 Gas、社交恢复、多签等。当年 EOS 时代知名的钱包软件 MYKEY 就是智能合约钱包。
多签的意思是,该合约钱包可以绑定多个 EOA 钱包作为签名人,进行链上操作时,需要其中部分 EOA 钱包进行共同签名才能完成。例如可以创建一个三人多签的合约钱包账户,每次操作钱包资产时,都需要其中两个钱包的签名确认(具体用几个钱包多签可以自行设置),这样可以避免单点故障,即使一个 EOA 钱包的私钥/助记词泄漏或丢失了,也不会影响多签钱包内的资产。
创建多签最少需要三个 EOA 钱包,可以使用一个热钱包+两个硬件钱包,平时用热钱包+一个硬件钱包完成签名,另一个备用。也可以三个都用硬件钱包。
目前最知名的多签钱包管理平台是 Safe ,也是当年的空投必撸项目之一,操作很简单,此处不赘述。多签方案比较适合有大量资产的玩家,主要用于资产存储。
钱包被盗不是小概率事件,时刻注意防护是必要的。如果是资金量小的新手,那么币安是你存储资产最好的选择,链上热钱包非必要不存储资产,钱包记得经常更换,助记词别乱放,不要瞎点各种授权,不要相信各种天上掉馅饼的好事。资产量较大/链上交互频繁的用户,硬件钱包是最好的选择。资金量很大且对 CEX 信任度较低的玩家,直接多买几个硬件钱包搞多签,助记词分散在不同的安全位置,基本就没啥好担心的了。