
钱包与账户:工具不等于链上记录
钱包通常指管理密钥、查看链上记录及处理签名的软件,也可能指保存密钥等信息的钱包文件。账户则是另一层概念。以太坊账户存在于链上状态中,钱包是与账户交互的工具,不能把软件、账户和资产记录混为一谈。
比特币开发者指南的相关说明侧重钱包功能的拆分:提供收款信息、签名和网络通信可以由不同程序承担。以太坊账户文档则区分由私钥控制的外部账户与由代码逻辑控制的合约账户。这些区别决定了术语的适用范围。
私钥、公钥与地址:用途各不相同
私钥是用于生成数字签名的秘密数据,不是钱包软件的登录密码。公钥由私钥通过密码学运算得到,用于验证相关签名;在正常安全假设下,不能从公钥实际反推出私钥。地址用于标识收款目标等链上对象,也不等同于公钥。
理解三者时,可以分别关注签名权限、验证依据和目标标识。但这只是帮助理解的分类,不代表所有地址都对应一把私钥。例如,以太坊合约账户没有自身的私钥,其行为受合约逻辑约束。
签名:证明授权,不是公开私钥
数字签名把密钥持有者的授权与特定数据关联起来。网络可以验证签名,而不需要取得私钥。签名也不是把交易内容加密隐藏;授权是否有效与内容是否保密是两个不同问题。
签名程序与广播程序可以分离。因此,能够连接网络、展示余额或发送已签名数据的软件,不一定持有私钥;能够展示某个地址的信息,也不意味着拥有该地址相关资产的支配权限。
钱包文件、WIF与密码:保存方式不等于权限本身
钱包文件是存储载体,可能包含私钥及其他钱包信息。比特币的WIF是私钥的一种编码表示,带有校验机制,便于发现部分抄录错误。编码并不等于加密,换成WIF形式不会使私钥失去敏感性。
文件加密密码用于保护存储中的密钥,与用于签名的私钥作用不同。加密可以降低文件直接泄露带来的风险,却不能保证密钥解密使用时仍不受恶意程序影响。
常见问题:只读与硬件钱包意味着什么
只读钱包是否能签名?如果它仅掌握地址、公钥等观察信息,而没有相应签名权限,就不能独立完成签名。离线钱包和硬件钱包则强调将签名放在隔离或专用环境中,减少私钥暴露的机会。
硬件钱包是否代表绝对安全?并不是。隔离主要改变密钥保存和使用的环境,不能替代对所签内容的核对。理解钱包安全,应分别考察密钥是否泄露、签名内容是否符合授权意图,以及实现本身是否可靠。