Skip to content

BUS-02 批发赎回与销毁

BUS-02.1 目标与 DTS 依据

验证商业银行发起批发赎回、NBKR 批准、RTGS(测试环境)确认法币流动性预留后,WalletNode 准备 Burn 并预留账本输入,银行受保护 Idemix Holder 对准确 prepared request 签名,平台在 NBKR 控制下提交 Burn 达成账本最终性,随后凭预留完成 RTGS 结算、GL 负债减少与三方对账。

追溯项依据
DTS 功能场景§14.3 场景 11「Redemption/Burn」(A 类核心平台场景)
DTS 章节§12 生命周期、§16.4 赎回流程(先预留、Burn 先于结算)、§16.5 操作状态、§16.6 会计分录、§16.9 异常控制
DTS 测试目录TC-RED-001006;RTGS 接口 TC-INT-RTGS-001005
需求依据《技术描述》附录 1 §4.1;附录 2 §1.1.2
追溯登记附录 A

BUS-02.2 参与角色

角色职责
商业银行(银行 A)操作员提交赎回申请;核验 prepared Burn 业务结果;驱动 Idemix Holder 签名并提交
银行 A 受保护 Idemix Holder保护关系 Idemix Secret 与 Credential,对准确 prepared Burn request 签名
NBKR 审批操作员批准赎回;Burn 提交由 NBKR 控制
WalletNode / 归属分片选择并预留账本输入,构建交易范围 ZKAT 证明与规范 prepared Burn request,保存 NBKR 私有审计包
平台校验共同绑定、凭据、签名、审批、预留引用后提交 Burn;驱动 RTGS 结算、GL 过账、对账
RTGS / GL(测试环境)法币预留与结算 / 负债减少分录的权威来源

BUS-02.3 前置条件

  • BUS-01 已通过:银行 A 批发钱包持有充足可花费 Digital Som(赎回金额 ≤ 可用余额);
  • 银行 A 批发钱包 ACTIVE;关系 Idemix 凭据有效;RTGS 测试账户已启用;
  • NBKR 赎回审批角色已配置;
  • 记录赎回前基线:账本总供应量、批发钱包余额与 UTXO 清单、GL 负债科目余额。

BUS-02.4 测试数据

数据项要求记录值
赎回金额与币种小于批发钱包可用余额且触发找零(不等于任一单个 UTXO 面额)待执行时填写
来源批发钱包 ID银行 A 批发钱包待执行时填写
银行业务参考号端点范围内唯一;重复用例复用待执行时填写
第二笔小额赎回数据用于取消用例(TC-CAN 路径)待执行时填写

BUS-02.5 执行步骤

步骤执行方操作预期结果实际结果证据编号状态
1银行 A 操作员提交批发赎回申请(金额、币种、来源批发钱包、银行业务参考号)平台建立平台交易标识与全链路关联标识;状态 REQUESTEDVALIDATED待执行待填写待执行
2NBKR 审批操作员批准赎回状态 APPROVAL_PENDINGAPPROVED;审批入审计待执行待填写待执行
3平台请求 RTGS 预留赎回法币流动性预留确认与预留引用记录在案;状态 RTGS_RESERVED待执行待填写待执行
4WalletNode选择并预留账本输入,构建 ZKAT 证明与规范 prepared Burn request,保存 NBKR 私有审计包返回 tx_id、选定输入引用、待签请求、预留引用与业务结果;状态 AWAITING_SIGNATURE;被选 UTXO 进入交易范围输入锁待执行待填写待执行
5银行 A核验返回的金额、钱包与赎回结果;受保护 Idemix Holder 对准确 prepared request 签名签名绑定该 prepared transaction待执行待填写待执行
6银行 A提交 preparation 引用、关系/member 引用及 Idemix 签名平台重新校验调用方、共同交易绑定、凭据、签名、已保存 ZKAT 证明、审批、操作标识、业务引用、预留引用、金额与当前输入状态待执行待填写待执行
7平台(NBKR 控制)提交 Burn 至权威账本状态 BURN_PENDINGBURNED;返回账本引用;供应量减少恰为赎回金额;找零 UTXO 归还批发钱包待执行待填写待执行
8平台凭预留引用、原业务引用提交 RTGS 结算RTGS 返回最终成功;状态 RTGS_CONFIRMED待执行待填写待执行
9平台创建赎回会计事件并交付 GL借:NBKR 数字索姆负债,贷:银行 A 准备金/往来账户;GL_POSTED待执行待填写待执行
10平台三方对账状态 RECONCILED;对账结果 MATCHED待执行待填写待执行
11银行 A 操作员状态查询与余额核对查询返回终态与全部引用;批发钱包余额减少 = 赎回金额 + 已归还找零核对一致待执行待填写待执行

BUS-02.6 预期核对点

  • 顺序门控:已确认 RTGS 预留先于 Burn 准备;Burn 最终性先于 RTGS 结算;赎回结算凭预留执行(§16.4);
  • 赎回恒等式(§16.8):获批金额 = 最终 Burn 金额 = 最终 RTGS 赎回金额 = GL 负债减少额;累计 Mint − 累计 Burn = 账本供应量;
  • 双预留联动AWAITING_SIGNATURE 期间账本输入锁与 RTGS 资金预留同时保持;取消时两项预留同时释放;
  • 授权闭环:Burn 由 NBKR 审批 + 已确认 RTGS 预留 + 银行 Idemix 签名 + 账本校验共同门控,缺一不可;
  • 审计:prepared request、ZKAT 证明验证、Idemix 签名验证、NBKR 私有审计包留存、Burn 提交与结算逐一可追溯。

BUS-02.7 负向与异常用例

用例操作预期结果实际结果证据编号状态
TC-RED-002提交超过可用余额的赎回,或在输入已被在途交易锁定时提交REJECTED;不准备 Burn、不锁定新输入待执行待填写待执行
TC-RED-003a使 RTGS 拒绝流动性预留平台不准备也不提交 Burn;账本无输入锁待执行待填写待执行
TC-RED-003bBurn 最终后使 RTGS 结算暂时不可用,随后恢复保持参考状态,以原业务引用查询/重试同一结算;不产生第二次 Burn 或第二笔结算待执行待填写待执行
TC-RED-004篡改 prepared request 后签名提交,或使用无效/停用的 Idemix 凭据REJECTED;产生安全与审计事件;不提交记账待执行待填写待执行
TC-RED-005Burn 提交后中断响应(结果未知),再恢复平台仅查询账本原交易;绝不提交第二次 Burn;Burn 最终性明确前不结算法币待执行待填写待执行
取消用例第二笔赎回推进至 AWAITING_SIGNATURE 后由银行取消状态 CANCELLED;账本输入锁与 RTGS 资金预留同时释放;供应量不变待执行待填写待执行
TC-RED-006以同一银行业务参考号重复提交返回既有业务;对账无重复记录待执行待填写待执行

BUS-02.8 执行信息、结果与签署

项目记录
原型版本与镜像摘要待执行时填写
测试环境(含 RTGS/GL 模式)待执行时填写
执行日期与参与人员待执行时填写
平台交易标识/tx_id/全链路关联标识待执行时填写
账本 Burn 引用/RTGS 结算引用/GL 分录标识待执行后填写
执行结果待执行
问题/偏差(附录 F 编号)待填写
复测结论待填写
甲方业务代表签署待填写
服务商执行代表签署待填写