
先理解钱包管理的是什么
比特币钱包可以指钱包程序,也可以指保存密钥及相关信息的钱包文件。理解冷钱包和热钱包时,核心是密钥在哪里保存、签名在哪里完成,以及这些环节与联网环境之间的关系。
Bitcoin Developer Guides 的钱包章节将钱包功能拆分为提供收款信息、签名和网络交互。NIST SP 800-57 第一部分则从通用密码学角度讨论密钥材料的保护与管理。前者帮助解释钱包结构,后者帮助理解安全边界;通用密钥管理原则不能作为某款钱包安全性的认证。
私钥、公钥与地址
私钥是生成交易签名所需的秘密信息;公钥与私钥存在数学对应关系,可用于验证签名。地址用于表达收款条件,在常见形式中涉及公钥或脚本的哈希,因此地址与公钥不能直接画等号。
这些术语对应不同能力:知道地址可以识别相关收款记录,持有适当私钥才能生成相应签名。把收款信息交给联网程序,并不必然意味着把签名能力也交给它。
冷钱包与热钱包的区别
热钱包通常指私钥可在联网环境中用于签名的钱包。冷钱包强调将私钥及签名环节与网络环境隔离。判断冷热属性,主要看密钥暴露于什么环境,不能只看软件界面是否显示联网。
只读钱包可以联网观察相关交易,却不持有完成支出签名所需的私钥。因此,“联网”与“能够签名”是两个问题。离线端负责签名、在线端负责广播时,两者共同组成钱包系统。
离线钱包、硬件钱包与签名
离线钱包把签名程序放在不连接网络的设备上;硬件钱包则使用专门设备承担签名功能。二者都可将签名职责与联网程序分开,但设备通信方式和隔离机制并不完全相同。
签名与广播也应分开理解:签名生成交易授权所需的密码学证明,广播负责把已签名交易传入网络。隔离方案的保护效果依赖签名环境未被攻破,以及交易内容得到可靠核对;它不能自动消除错误授权。
常见问题:加密是否等于冷存储
钱包文件加密不等于冷存储。加密主要保护文件处于锁定状态时的秘密信息;如果联网设备已被控制,解锁过程中使用的秘密仍可能遭到窃取。加密和隔离针对的是不同风险。
冷钱包也不意味着绝对安全。理解其适用条件,应同时考虑密钥生成、保存、备份和恢复环节。仅有一个离线设备,无法证明整套密钥管理过程可靠;某个环节的保护措施也不能替代其他环节的保护。