
先确定讨论对象
区块链钱包方案的功能边界怎么确认,首先要说明方案面向哪条链、哪类账户,以及谁控制密钥。移动端、浏览器扩展或硬件设备描述的是产品形态,不能单凭形态判断是否托管、能否签名或支持哪些应用。
Ethereum.org的钱包介绍将钱包定位为与账户交互的工具,可用于查看余额、发送交易和连接应用。由此应区分钱包界面与链上账户:更换兼容的钱包工具,不等于迁移链上资产。这里的兼容条件需要单独确认,不能承诺任意产品之间无条件切换。
按模块拆分能力
Bitcoin开发者指南将钱包系统拆为公钥或地址分发、签名、联网三个可分离部分。因此,一个组件没有签名能力,并不意味着它不能承担钱包系统中的有效职责。
需求清单可据此分别记录地址管理、余额与历史展示、交易构建、签名、广播及状态查询,并标明由本地软件、硬件设备还是外部服务承担。以太坊应用连接属于另一项明确能力,不能从比特币收发功能推导出已经支持。
明确权限与安全责任
边界说明应回答:密钥在哪里生成和保存,哪些组件能够接触密钥,谁确认签名,以及备份恢复覆盖什么。只读组件适合查询与监控,不能把查看账户误写成拥有支出权限。
隔离签名适用于希望减少联网环境接触私钥的方案,但不能据此承诺绝对安全。还需确认签名端能展示哪些待签内容、用户如何核对,以及设备或软件失陷时哪些保护仍然有效。
将依赖写成验收条件
每项功能都应写出输入、输出、权限、依赖和失败状态。例如,余额展示要说明网络与数据来源;签名要说明确认内容及拒绝后的行为;广播要区分提交成功与链上确认,不能统一显示为完成。
验收场景应覆盖节点不可用、签名设备未连接、用户拒绝授权和数据尚未更新等情况。这些是需求确认维度,不代表任何具体钱包已经实现相应处理。
常见问题与范围收口
是否必须支持应用连接?取决于用途,单纯查询或签名组件不必承担完整应用入口。是否能撤销已确认交易?钱包界面不能自行改写链上结果,不应把撤销作为通用能力承诺。
功能边界最终应落成四类清单:本期提供、明确不提供、依赖外部组件、由用户承担。连接外部应用也不等于钱包保证该应用安全。只有每项能力的适用条件和责任主体明确,方案才具备可讨论、可验收的边界。