数一数:你手上到底有几个钱包
假设你的家当是这样:电脑浏览器里装着一个扩展钱包;手机上有一个 App 钱包;抽屉里有一台硬件钱包;保险柜里有一块刻着 24 个词的钢板,是那台硬件钱包的备份;另外还有一个交易所账户。
问题来了:这算几个钱包?
按装了钱包软件的设备数,是三个;按能看到余额的入口数,是四个,钢板不算入口;按「独立的一组钥匙」数,自己保管的是三组,因为钢板和硬件钱包是同一组,而交易所账户的钥匙根本不在你手上。
数不清楚,是因为「钱包」这个词被用来指四样东西:App、设备、账户,还有那串助记词。有人说「我的钱包丢了」,得先问清楚丢的是哪一样。下面把钱包按两个问题重新归类:私钥在谁手上,签名时私钥所在的设备联不联网。归完类,再回来数。
钱包里存的是币吗
钱包不存币。币在区块链上。区块链是一张人人可查的账本,你的余额只是账本上某个地址名下的一条记录。钱包替你保管的,是能动这条记录的那把钥匙,也就是私钥。
所以钱包更准确的说法是私钥管理器:生成私钥、保存私钥、用私钥给交易签名、把签好的交易发到网络上。从头到尾,币没有离开过区块链,钱包经手的只是钥匙。
分清这一点有什么用
它决定了「丢钱包」时你到底丢了什么。手机摔坏了,上面的钱包 App 没了,但只要助记词还在,换一台设备用助记词恢复,币就还在。反过来,手机好好的,助记词却被人看到了,币可能已经在别人的地址里。
决定资产归谁的,是私钥或者说助记词在谁手上;设备、App、扩展程序都只是中间层。私钥、公钥、地址、助记词之间是怎么算出来的,见私钥和助记词是什么关系。
托管钱包和非托管钱包有什么区别
第一个问题:私钥在谁手上。
托管钱包:钥匙在平台手上
私钥由某个机构保管。你登录它的网站或 App,看到一个余额,可以买卖、可以提币,但余额对应的私钥从没经过你的设备。中心化交易所的账户就是这一类:你在交易所里的「钱包」,是这家公司给你开的一个内部账户。
好处是省心:没有助记词要保管,忘了密码可以走平台的找回流程。代价是你和币之间隔着一家公司。这家公司可能被盗,2014 年的 Mt. Gox 是例子;可能倒闭,2022 年的 FTX 是例子;也可能按它的规则冻结你的账户。
非托管钱包:钥匙在自己手上
私钥由你自己保管。浏览器扩展钱包、手机 App 钱包、硬件钱包都属于这一类:钱包在你的设备上生成一组助记词,之后只有你知道。没有哪个后台能替你重置,没有哪家公司能冻结这笔钱,当然,助记词丢了也没有人能帮你找回。
常听到的那句 Not your keys, not your coins,说的就是这个区别。它的意思不是托管钱包不能用,而是用的时候要清楚:账户里显示的,是这家公司欠你的币。公司正常运转时两者看不出差别,出事的时候差别就是全部。
要买卖、要换成法币的那部分钱留在交易所,是合理的。要当心的是那笔「反正放着、懒得提走」的大钱。平台一旦暂停提现,就没有补救的窗口了,能做的事只在暂停之前。
热钱包和冷钱包怎么分
第二个问题:签名的时候,私钥所在的那台设备联不联网。联网的是热钱包,不联网的是冷钱包。本站讲冷热,都用这一个定义。
热钱包
私钥存在一台联网的设备上,签名也在这台设备上完成。手机上的 App 钱包、电脑浏览器里的扩展钱包都是。好处是打开就能用;代价是这台设备上的恶意软件、被动过手脚的浏览器扩展,都有机会碰到私钥。
冷钱包
私钥存在一台不联网的设备里,签名在这台设备内部完成,传出来的只有签好的交易。硬件钱包是最常见的做法;一台从不联网的电脑也算。
硬件钱包接在联网的电脑上,还算冷吗
算。硬件钱包自己不上网,它通过 USB、蓝牙或者二维码,从电脑或手机那里接收一笔「待签名的交易」,在设备内部签好,再把签名传回去。私钥始终留在设备里,联网的那台电脑拿不到。
但有一半风险还在:待签名的交易是那台联网的电脑准备的。电脑如果被动了手脚,递进来的可能不是你以为的那笔交易。硬件钱包保得住私钥,保不住你亲手确认一笔错的交易。
设想电脑上装了一个恶意的浏览器扩展。你在网页上填好收款地址,点了发送;扩展在中途把地址换成了攻击者的。电脑弹窗里显示的仍是你填的地址,硬件钱包屏幕上显示的才是真正要签的那一个。
这时按下确认,钱就发去了攻击者的地址。设备没有任何故障,是你自己签的名。
所以每次签名都要看设备自己的屏幕,逐位核对完整的收款地址和金额,对得上再确认。设备屏幕上看不到交易内容、只让你确认一串看不懂的数据时,先停下,弄清楚这笔交易是什么再说。
冷和热的更多细节,以及怎么把钱分成几个仓,见冷钱包和热钱包的区别。
按形态分:八类钱包各是什么
上面两个问题能给任何钱包定性。实际挑的时候,人们更习惯按形态来说,下面按这个习惯分成八类。
1. 浏览器扩展钱包
装在浏览器里的扩展程序,MetaMask、Rabby 都是这一类。它是热钱包,私钥加密后存在浏览器的本地存储里。
它最需要防的是钓鱼授权:你打开一个仿冒的网站,网页弹出一个授权请求,你点了确认,某种代币就被授权给了对方的合约,对方随后可以把它转走。授权怎么查、怎么撤,见怎么查看和撤销代币授权。
2. 手机 App 钱包
装在手机上的钱包应用,Trust Wallet、imToken、Phantom 的手机版都是。它也是热钱包。方便在随身、能扫码;风险在手机本身:会丢,会被偷,也会被装上不该装的东西。
有一处设置要专门看一眼:钱包有没有把助记词备份到云端。有的钱包提供云备份功能,备份用你设的密码加密。密码弱、又开着云备份,助记词的安全就落在了你的云账号上。换手机时备份怎么处理,见换手机时钱包怎么迁移。
3. 桌面钱包
装在电脑上的独立应用,不依赖浏览器,比特币用户常用的 Electrum、Sparrow 属于这一类。单独用是热钱包;它们也能只当界面,接一台硬件钱包来签名,这时私钥在硬件钱包里。
4. 硬件钱包
一台专门的小设备,私钥存在设备里,签名在设备内部完成。它属于非托管加冷钱包。连接方式各家不同:有的插 USB,有的用蓝牙,也有只用二维码和存储卡传数据的。各型号的规格见硬件钱包对比表。
它挡得住的,是联网设备上的恶意软件直接读走私钥;挡不住的,是你在设备上亲手确认一笔错的交易。什么时候该买:持有的金额到了丢不起的程度。
5. 纸钱包
把私钥直接印或抄在纸上,就是纸钱包。它现在很少有人用,问题在用的时候:想花掉里面的币,就得把私钥导入某个软件钱包,这把私钥从此就在联网设备上了。现在的做法是用助记词加硬件钱包,平时签名不需要把私钥拿出来。
注意别把它和「把助记词抄在纸上做备份」混为一谈。后者只是备份的介质,见助记词怎么保存。
6. 多签钱包
一笔交易要多把私钥里的几把共同签名才能发出。比如 2-of-3:三把钥匙,任意两把签名即可。好处是没有哪一把钥匙能单独决定一切:丢一把,剩下两把还能动用;被偷一把,对方也转不走。代价是设置麻烦,每笔交易要多签一次,多签配置还得另外备份,见助记词怎么保存里讲多签的一节。
它适合两种钱:一年只动几次的大额长期持有,和几个人共同管理的资金。中小金额的日常资金,一台硬件钱包就够。
7. 智能合约钱包与账户抽象(ERC-4337)
普通钱包的地址是「外部账户」,由一对公私钥控制。智能合约钱包把账户本身做成一个合约,谁能动用、怎么动用,由合约里的规则决定,比如可以设每日限额,可以要求多方批准,也可以更换钥匙。
按 ethereum.org 对账户抽象的说明,EIP-4337 让以太坊在不改动核心协议的前提下原生支持智能合约钱包,它的 EntryPoint 合约于 2023 年 3 月 1 日部署到以太坊主网。对用户来说,多出来的是灵活,也是一层合约代码的风险。
8. 社交恢复钱包
智能合约钱包的一种用法。按 Vitalik Buterin 2021 年那篇文章的定义:平时用一把签名钥匙批准交易;另设至少三位守护人,其中多数人合作,可以把账户的签名钥匙换成新的。守护人可以是你自己的其它设备、亲友,或者核验身份的机构。
它解决的是「钥匙丢了就全完」这个问题。代价是要选好守护人,并且相信他们中的多数不会合起伙来对付你。
一张表:每类钱包的私钥存在哪
把各类钱包按「私钥存在哪、签名时所在设备联不联网」排在一起。表里加进了前面托管一节说的交易所账户,社交恢复并进智能合约钱包那一行,所以还是八行。以后遇到一款没见过的钱包,先问这两个问题,就知道它该归在哪一行。
| 钱包类型 | 私钥存在哪里 | 签名时所在设备是否联网 | 例子 | 主要风险 |
|---|---|---|---|---|
| 交易所账户 | 交易所的系统里,不在你手上 | 由交易所决定 | 各中心化交易所的账户 | 平台被盗、倒闭、冻结账户 |
| 浏览器扩展钱包 | 浏览器本地存储(加密) | 是 | MetaMask、Rabby | 钓鱼授权、恶意扩展 |
| 手机 App 钱包 | 手机本地存储;开了云备份的,云端还有一份 | 是 | Trust Wallet、imToken | 手机丢失、云账号被盗 |
| 桌面钱包 | 电脑硬盘上的加密文件 | 是 | Electrum、Sparrow | 电脑上的恶意软件 |
| 硬件钱包 | 硬件钱包设备内 | 否(设备不上网,待签交易经 USB、蓝牙或二维码传入) | Ledger、Trezor、OneKey 等 | 确认了错的交易、助记词备份泄露 |
| 多签钱包 | 多把私钥,分开保管 | 看每把钥匙各自放在哪 | 2-of-3 等配置 | 配置出错、凑不齐签名 |
| 智能合约钱包(含社交恢复) | 规则在链上的合约里,签名钥匙在你的设备上 | 看签名钥匙放在哪 | ERC-4337 钱包、社交恢复钱包 | 合约漏洞、签名钥匙被钓鱼 |
| 纸钱包 | 一张纸 | 纸不联网,但花币时要把私钥导入联网设备 | 现已少用 | 损毁、被人看到 |
钱少、钱多、钱很多,各该用哪几种
选钱包不看哪款最好,看这笔钱对你的分量,和你多久动它一次。下面分三档说。
刚开始,钱不多,还在熟悉操作
这个阶段先把操作练熟,把助记词备份做对:
- 交易所账户里的钱,用强密码加验证器 App 或通行密钥保护,短信验证能关就关;
- 装一个扩展钱包或手机钱包当练习用,放一小笔钱进去熟悉转账、授权、撤销授权;
- 助记词手抄两份,放在两个不同的地方,不拍照、不截图、不存网盘。
硬件钱包不必急着买。等持有的金额到了丢不起的程度再买;到了那个程度,就别再拖。
长期持有,这笔钱已经是积蓄里像样的一块
这一档建议把钱按用途分开放:
- 长期不动的大头:硬件钱包,助记词另做一份金属备份;
- 日常链上要用的少量:扩展钱包或手机钱包,用一组单独的助记词;
- 要买卖、要换成法币的少量:交易所账户。
三处之间只按需要转。比如从硬件钱包往热钱包转,每次只转最近要用的数,不把全部资金都放到热钱包里。这样任何一处出事,损失只限于那一处。
占了身家的大头,或者几个人共同管理
到这一档,要管的不只是设备,还有流程:
- 主体资金放进 2-of-3 这类多签;
- 几把钥匙放在不同的地点,尽量由不同的设备保管,不让一处失窃或一场火灾同时拿走两把;
- 每年做一次恢复演练:假设其中一把钥匙丢了,实际走一遍恢复流程;
- 写一份不含助记词的说明,让家人知道有这笔资产、出了事该找谁。
长期层:一台硬件钱包,24 个词刻在金属板上锁好。长期持有的大头放在这里,平时不动。
日常层:一个手机钱包或扩展钱包,用自己单独的一组助记词,不和硬件钱包共用。给它定一个金额上限,超出的部分转回长期层。
交易层:交易所账户,只放买卖和出入金要用的部分,开好验证器或通行密钥、提币地址白名单和防钓鱼码。
层与层之间走固定的路径。大额转账可以给自己定一条规矩:隔一晚再发。它的用处是挡住一时冲动。
关于钱包的五个想当然
| 想当然 | 实际情况 |
|---|---|
| 有了硬件钱包就安全了 | 硬件钱包管的是私钥不被读走,管不了你确认一笔错的交易。被替换的收款地址、伪造的授权请求,对硬件钱包用户同样有效。每次签名都要看设备屏幕。 |
| 冷钱包就是硬件钱包 | 冷,指签名时私钥所在的设备不联网。硬件钱包是其中一种做法,一台从不联网的电脑也是。硬件钱包接在联网的电脑上用,私钥仍在设备里,仍然是冷的;要当心的是那台电脑递进来的交易内容。 |
| 助记词存网盘很方便,加密一下就行 | 网盘里那份文件的安全,取决于你的云账号和你设的加密口令。云账号被人登录,文件就到了对方手里,剩下的只是口令能撑多久。详见助记词能不能拍照、存网盘。 |
| 我不交易,币放交易所最省心 | 长期不登录,账户出了异常你也看不到;平台出了问题,你也是较晚知道的那一批。长期不动的钱,更应该提到自己保管的钱包里。 |
| 多签太麻烦,一个人用不上 | 金额不大时确实用不上。但占了身家大头的钱只靠一把钥匙,这把钥匙丢了或被偷了就没有退路。个人用多签要选 2-of-3,不要选 2-of-2:2-of-2 丢掉任何一把,钱就永远动不了了。 |
回头再数一遍
回到开头的那份家当:一个扩展钱包、一个手机钱包、一台硬件钱包、一块钢板、一个交易所账户。
现在可以说清楚了:自己保管的钥匙有三组,扩展钱包一组,手机钱包一组,硬件钱包和钢板是同一组;交易所账户是托管的,钥匙不在你手上。前两组是热的,第三组是冷的。
数字本身不要紧,要紧的是每一组钥匙你都说得出它是干什么用的、备份在哪。照这个办法数一遍自己的。数的时候如果发现哪个钱包想不起来为什么建的、里面还剩多少、助记词在哪,就把里面的钱转到说得清的钱包里,然后不再用它。