主题
08 账本、数据与对账
08.1 账本处理与最终性
本方案的数字货币处理以许可型账本的交易排序、验证和提交结果为最终性依据。业务服务发起或编排交易,不得将请求受理、消息发送或排序完成直接描述为资金已最终到账。
交易路径应覆盖:业务校验 → 必要授权与签名 → 背书/审计(如适用)→ 排序 → 验证 → 提交 → 最终性回传 → 业务状态更新 → 审计与对账。每一步的超时、拒绝、重试和恢复行为均须有稳定语义。
08.2 数据权威与派生视图
| 数据类别 | 权威来源 | 派生数据与控制 |
|---|---|---|
| 最终 Token/交易状态 | 已验证并提交的账本状态 | 业务库、查询索引和报表库为派生视图 |
| 业务规则、审批、机构与结算编排 | 对应业务服务的受控数据存储 | 缓存须有失效、版本和刷新策略 |
| 证书与身份状态 | 批准的 CA/身份注册表 | 应用缓存须支持撤销与更新处理 |
| 密钥与签名能力 | 受控 KMS/HSM | 应用保存引用及必要元数据,不保存生产私钥 |
| 审计证据 | 受控审计存储 | 诊断日志不能替代审计记录 |
任何派生视图与权威来源差异都必须可检测、可分类、可重跑并形成处置记录。
08.3 数据模型要求
所有资金、钱包、机构、证书、审批、结算和批次对象必须具有稳定且不可复用的标识。金额使用明确币种和固定精度;禁止使用二进制浮点数。时间戳使用统一时区语义;对外接口、审计和报表使用统一的格式与精度约定。
业务状态必须使用显式状态机;禁止通过空字段、隐式时间窗口或前端展示文本表达关键状态。状态变化须记录触发方、原因、前后值、关联交易和时间。
08.4 数据库与迁移
业务数据库用于控制面、业务编排、审计索引或查询视图等场景。Schema 变更必须经过版本化迁移,支持在批准的滚动升级窗口内兼容新旧应用。生产环境的自动迁移、手工改表和大数据回填必须受发布流程控制并具备备份、回退与验证计划。
涉及跨服务或跨账本的业务操作,不能假设存在全局 ACID 事务;应采用状态机、幂等命令、Outbox/Inbox 或等价机制处理部分成功和恢复。
08.5 对账要求
至少建立以下对账链路:
- 业务请求、签名/审批、账本交易和审计记录;
- 账本 Token 状态与机构/业务查询视图;
- 发行与赎回记录、相关外部结算和会计凭证;
- 备份恢复前后关键数据数量、余额/Token 状态和审计摘要;
- 异常/人工处置与对应的授权、依据和后续补偿交易。
对账规则应规定周期、字段、状态映射、容差(如适用)、差异等级、责任人、升级时限和关闭证据。资金、账本、审计或会计的未解释差异不得通过覆盖数据或删除日志消除。
08.6 备份、保留与恢复
备份范围包括必要数据库、账本/索引恢复所需数据、关键配置、证书公共材料和运行元数据;生产私钥必须按密钥管理策略独立保护。恢复演练需验证业务可用性和跨系统一致性,而不只是文件能否恢复。
数据保留、归档、删除和数据所在地须遵循甲方政策与适用监管要求。个人数据应遵循最小化原则,避免将非必要直接识别信息写入不可变账本。
08.7 验收证据
账本与数据验收应提供状态模型、数据字典、Schema/迁移记录、账本最终性用例、对账规则与报告、备份恢复演练、差异处置样例及数据保留设计。