
先定义研究对象:钱包不是账户
数字钱包通常是与区块链账户交互的软件、设备或服务,而不是账户本身。以太坊的账户可以是由私钥控制的外部账户,也可以是由合约代码控制的合约账户;钱包则是帮助用户访问这些账户、发起操作或查看状态的界面和应用。因此,研究数字钱包时,不能把“地址余额”或“链上账户”直接等同于钱包功能。
比特币相关技术资料把钱包程序和钱包文件区分开来:钱包程序负责生成或使用密钥、构造交易并与网络交互,钱包文件则主要保存私钥及与交易有关的其他信息。这个区分有助于确定研究边界:密钥存储、交易签名、网络通信和本地数据管理可以分别作为不同模块研究。

用四类核心能力划定边界
第一类是接收能力。钱包可以生成、管理或分发用于收款的公钥、地址或相关脚本,并通过地址与交易记录建立收款识别关系。仅用于分发收款地址的系统,不一定拥有签名能力,也不应被默认视为完整钱包。

第二类是签名与支出能力。私钥用于证明交易或消息确实由控制者授权,签名模块据此生成可提交给网络验证的数据。研究这一部分时,应重点关注私钥生成、加密保存、备份恢复、签名确认和密钥是否接触联网环境,而不要把余额本身描述为存放在钱包中。链上资产记录在账本中,钱包主要管理访问和授权所需的凭证。
第三类是网络与状态能力。联网钱包通常需要从区块链或节点获取账户、交易和未确认状态,并把已签名交易广播到网络。一个只负责签名的离线设备可以不直接连接区块链网络;相应地,观察余额、构造未签名交易和广播交易可以由另一个网络程序完成。
第四类是数据保存与用户操作能力。钱包可能保存密钥、地址索引、交易关联信息、网络配置和用户确认记录,但这些属于实现和管理功能,不应自动扩大为“钱包必须提供的全部能力”。研究报告应明确哪些数据由钱包保存,哪些数据来自节点、区块浏览服务或其他外部系统。
按架构判断功能归属
完整型钱包把密钥生成、地址管理、交易构造、签名、状态查询和广播集中在一个应用中,使用路径较短,但私钥可能出现在联网设备上。研究这种架构时,边界通常包括本地密钥管理、交易流程和网络接口,同时需要单独评估设备被入侵后对密钥和签名行为的影响。
分离式架构把观察或联网功能与签名功能拆开。联网部分可以使用扩展公钥或其他公开信息生成收款地址、监测交易并创建未签名交易;签名部分在更受保护的环境中审查交易细节并完成签名。这里的功能边界应以数据流为核心:公开信息可以向联网侧传递,私钥不应因观察余额或构造交易而离开签名侧。
硬件钱包属于专用签名设备的一种实现方式。它通常通过屏幕或其他交互方式让用户核对交易内容,再把签名结果返回联网应用。研究时应把设备固件、用户确认界面、通信协议和主机端钱包分别列出,避免将硬件设备、配套应用和区块链节点混成一个系统。
不要跨链套用同一账户模型
不同区块链对账户、地址、交易和合约的定义并不完全一致。比特币钱包的核心讨论围绕未花费输出、公钥或地址分发、交易签名和网络广播展开;以太坊则区分外部账户与合约账户,并使用交易序号、余额、代码哈希和存储根等状态字段描述账户。由此可见,同一个“钱包功能”在不同链上可能对应不同的底层实现。
以太坊中,外部账户由密钥对控制,可以发起交易;合约账户没有对应的私钥,其行为由合约代码决定。钱包可以与这两类账户交互,但不能因此被定义为账户控制逻辑本身。研究智能合约钱包时,还应另行确认授权规则、合约调用、恢复机制和交易模拟是否属于研究范围;仅凭普通账户钱包的密钥模型不能推导出合约钱包的全部行为。
适用条件与常见问题
适用条件是研究对象、目标区块链和使用场景已经明确。例如,面向个人用户的研究通常关注备份、恢复、确认体验和签名安全;面向交易基础设施的研究则可能更关注地址分配、交易构造、节点连接和广播可靠性。若对象是托管服务,还要把机构是否持有用户私钥、签名是否由用户直接确认等问题单独列为边界条件。
常见问题一:钱包是否必须能收款和转账?不一定。资料所描述的钱包系统可以拆分为地址或公钥分发、签名和联网三个相互配合的部分,某个程序可能只承担其中一项或两项。
常见问题二:加密钱包文件是否等于完整安全方案?不等于。文件加密可以降低密钥静态保存时的暴露风险,但不能覆盖解密口令被窃取、密钥在内存中被读取或签名设备被控制等问题。
常见问题三:只显示余额的应用是不是钱包?应看它是否持有或使用签名凭证。若应用只读取公开链上数据,通常更接近区块链查看或观察工具;若它能够生成签名并授权交易,才进入钱包的签名能力边界。
最终确认功能边界时,可以建立一张职责表,至少列出密钥生成、地址派生、地址分发、余额与交易查询、交易构造、用户审核、签名、广播、备份恢复和外部服务依赖,并为每项标注负责组件、输入数据、输出数据及是否接触私钥。这样既能覆盖不同架构,也能避免把区块链账户、钱包应用和网络节点混为一谈。