术语表 /钱包与托管
热钱包
- 热钱包是什么?
- 热钱包将私钥保存在已联网的设备上,因此可以在几秒内签署一笔付款,但也可能被软件窃取。
速度是它的特点,暴露风险则是代价。密钥存放在一台同时运行浏览器的设备的内存中,因此任何能在该设备上执行代码的程序都可能接触到密钥。美国司法部认定2016年 Bitfinex 被盗数额为119,754枚比特币,同样的算术也适用于家庭规模的资金,只不过攻击者是剪贴板劫持程序,而非国家。
运作方式
热钱包将密钥材料加密存储在磁盘上,每当您解锁应用进行签名时,再将其解密到内存中。移动操作系统提供了一些帮助:iOS 和 Android 都提供硬件支持的密钥库、应用沙盒和全盘加密,设计良好的钱包会同时使用这三项。但如果攻击者已经以您的权限在设备上运行代码,这些保护都将失效。
区别的关键不在于应用,而在于签名环境。一把在通用计算机上解密过的密钥,会暴露给该设备将来运行的每一个进程、浏览器扩展和恶意更新,无论目前是否已经出过问题。“热”描述的是签名时刻的攻击面。
有些设计别无选择。闪电网络节点必须在您睡觉时响应通道更新,因此其通道密钥按定义始终在线,协议通过惩罚交易和瞭望塔(watchtower)来弥补,而不是让密钥离线。托管型应用则反其道而行之,把这种暴露风险变成别人的问题。
大多数实际损失来自四条途径,而且没有一条是罕见的。信息窃取恶意软件会扫描钱包文件和浏览器数据。剪贴板劫持程序会在您粘贴的瞬间,把地址替换成攻击者的地址。假冒客服和仿冒网站会诱使人们在网页表单中输入助记词。此外,FBI、CISA 和美国财政部在2022年4月发布的联合公告描述了朝鲜行动人员分发被植入木马的加密货币应用,这些应用运行正常,却悄悄窃取密钥。
购买比特币时为何重要
您能从中购买的每一家交易所都在运行热钱包,提币因此能在几分钟内完成,而不必按固定时间表处理。平台通常把大部分客户的币存放在冷存储中,只在线上保留一部分周转资金,所以大额提币可能因人工审核而暂停,小额提币则立即到账。当您读到某家交易所被盗空时,丢失的通常就是这部分周转资金。
您自己的资金分配遵循同样的逻辑,只是规模更小。热钱包里只放您丢了会心疼的金额,而不是丢了会让您破产的金额,积累到一定程度后再把其余部分转走。这个阈值因人而异,但它是一个具体的数字,提前确定它,就能避免手机钱包悄悄变成存放全部积蓄的账户。
手续费决定您转移资金的频率。一笔1个输入、2个输出的原生 SegWit 交易约为141虚拟字节,因此按每虚拟字节10聪的费率,把热钱包的资金转入冷存储大约需要1,410聪。相对于每月一次的转移,这微不足道;相对于每天一次的转移,则高得离谱,这正是让周转资金累积、而不是每次购买后都转移的实际理由。
购买习惯在这里同样重要。如果您设置了自动提币的定期购买,目的地应当是您冷钱包的地址列表,而不是充当中转站的手机钱包,因为中转站就是一个按您设定后便被遗忘的时间表不断增长的热钱包余额。
热钱包适合存放什么
从钱包的用途出发。手机钱包用于支付:酒吧账单、朋友、闪电网络发票,以及日常的小额支出,这类场景下等待硬件设备显得不合理。按实体钱包的标准来确定额度,大致相当于您实际用比特币花掉的一个月支出,这条规则经得起现实检验。
三个习惯带来了大部分好处。为热钱包单独设置一套助记词,绝不使用保护您积蓄的那一套,这样手机被攻破时损失的只是周转资金,而不是全部。只从供应商自己的域名安装和更新,因为钱包名称的搜索广告是已知的仿冒版本分发渠道。并且在接收设备本身上核对任何地址的首尾字符,因为剪贴板替换只有在没人再看第二眼时才会得逞。
如果热钱包余额超过了您设定的阈值,请把它当作转走资金的信号,而不是阈值定得过于保守的证据。
热钱包 vs 冷存储
热和冷描述的是密钥在签名时刻所处的位置,而不是软件的品牌。同一款钱包应用既可以是热的,也可以是冷的:运行在您日常使用的笔记本电脑上,它是热的;运行在一台从未联网的设备上,通过文件传入未签名的交易、传出已签名的交易,它就是冷的。两者并非竞争关系。几乎所有人都应该两者兼备,热的一侧按便利性确定额度,冷的一侧按后果的严重程度确定额度。