002 · 费用池开池需求

要解决什么

买方需要先准备一笔可供后续累计支付的 2-of-3 费用池,但不能因为卖方拒绝后续签名而把资金永久锁死。开池与 BitFS 文件购买无关:它不应知道报价、seed、文件块或价格。

利益关系决定的顺序

买方先本地构造资金交易和到期退款交易。卖方先对退款交易签名;此时资金交易尚未公开,卖方签名不会损失自己的钱。买方拿到并验证卖方签名后,才把资金交易交给卖方提交。

买方取得退款保证 → 才交出资金交易 → 卖方核对并提交资金交易

买方侧的成功是“已拿到并保存可验证的卖方退款签名”;卖方侧的成功是“资金交易提交接口成功返回”。开池不等待链上确认。

真值和保存

买卖双方各自保存交易、来源输出描述和双方签名。保存介质可以是数据库、文件或浏览器存储,但它们只是证据仓库;原始交易和签名才是真值。SDK 通过存储、签名、验签、交易 ID 计算和交易提交等能力接口与外界协作,不拥有服务端。

对后续步骤的意义

开池生成稳定的 SpendTxID 作为费用池锚点。003 以后不重复传递资金交易和退款交易,而是用 SpendTxID 加费用池当前累计支付序号引用已保存的池状态。

具体交易顺序、报文和 SDK 钩子见费用池开池规范