
钱包不等于资产容器
数字离线钱包相关术语如何理解,可以先从“钱包”入手。比特币开发者指南区分钱包程序与钱包文件:前者承担相关功能,后者保存密钥等信息。以太坊账户文档则强调,账户不是钱包,钱包是与账户交互的工具。
因此,“离线”描述的是密钥保存和签名所处的环境,不是把链上的资产记录下载到设备里。本文讨论的是上述区块链语境,不涉及其他数字支付产品的离线支付机制。
私钥、公钥与地址
私钥用于生成签名,应当保密;公钥与私钥存在密码学关系,可用于验证签名。地址用于标识接收目标,但不应直接等同于公钥,不同网络的构造方式也有区别。
知道地址不代表拥有签名权限。同样,钱包界面能够显示余额,也不意味着它持有相应私钥。把“看得见”和“能授权”分开,是理解钱包功能的基础。
只读钱包与离线签名
比特币开发者指南介绍了功能分离的设计:联网端观察相关链上记录、构造未签名交易并负责广播;离线端保管私钥并签名。只读钱包在这种分工中不持有用于支出的私钥。
未签名交易是等待授权的数据;签名后的交易也不等于已经得到网络确认。“准备”“签名”“广播”是不同环节,离线签名并不意味着整个网络处理过程都能脱离联网环境。
硬件钱包与离线钱包
离线钱包强调签名环境不连接网络;硬件钱包强调由专用设备承担签名功能。专用设备可以与联网端通信,因此“硬件”不能直接理解为“完全没有数据连接”。
两者都涉及把签名权限与联网功能分离,但不能仅凭名称判断安全性。离线设计减少部分攻击入口,并不能消除设备缺陷、数据传递或交易内容核对方面的风险。
账户、加密文件与常见误区
以太坊文档区分由私钥控制的外部账户与由代码逻辑控制的合约账户。不能把“每个账户都有对应私钥”当作适用于所有账户类型的规则。
加密密钥文件是用密码保护密钥数据,不是把密码变成私钥,也不等于离线隔离。理解一个钱包时,应分别辨认它保存什么、能否签名、是否联网,以及服务于哪一种账户或网络,而不是只看产品名称。