Blind Vault 与 MemChain 崩溃恢复边界

AeroNyx2026年6月17日2 分钟阅读166 次浏览

说明 Blind Vault 与 MemChain 在进程中断后可恢复什么、测试覆盖什么,以及断电持久性、密钥恢复和集群部署为何是不同声明。

<!-- docs-node-evidence-2026-08-31:start --> <!-- [DOCS-NODE-EVIDENCE 2026-08-31 by Codex] -->

Blind Vault 与 MemChain 崩溃恢复边界

Blind Vault 与 MemChain 是恢复语义不同的两个存储层。

源码已实现

  • Blind Vault 使用有界 SQLite WAL 事务保存不可变密文记录;已经提交的重试在进程重启后仍可读取,节点仍然没有内容密钥。
  • MemChain 追加文件扫描器验证 framing 与语义链接。打开时只能截断不完整的物理尾部并同步修复;完整但损坏的记录会 fail closed,并保留供调查。
  • 启用可选认知路由器时,超出租约的 processing 任务可回到 pending;这不等于精确续跑外部模型调用,也不保证外部服务绝不被重复调用。

自动化测试已验证

5 个基础测试已通过:Blind Vault 不可变记录重试/拉取、issuer 重启连续性、AOF torn-tail 修复、完整损坏拒绝且不截断、过期 claim 重置。修复后的总指挥整合线另有 6 个副本恢复存储测试通过,覆盖 prepared/committed/resolved 重启恢复、V1 兼容、损坏拒绝及冲突/回滚 fail closed;这仍是自动化测试,不是当前集群崩溃演练。

当前集群已验证

2026-08-31 公开快照报告 3 个 follower 节点具有本地已验证的承诺历史,但没有 active coordinator、严格 checkpoint 阈值或 witness-certified tip。当前也没有 r6 的 Blind Vault 崩溃演练或 MemChain 恢复演练结果,因此集群崩溃恢复仍为待验证

不作出的声明

  • SQLite synchronous=NORMAL 与仅 flush、未 fsync 的追加路径不能证明突然断电零数据丢失。
  • 旧版 MemChain AOF 可能包含节点可读的 Fact 字段,不能称为“密文历史”;客户端密封节点存储是另一条路径。
  • 恢复不能重建丢失的拥有者身份或内容密钥,不能保证远端副本完整,也不构成公链共识或全局最终性。

受控重启前运行只输出聚合信息的 AOF 验证器;发现完整记录完整性错误必须停止。不得公开存储文件、记录 ID、哈希、签名、拥有者密钥、密文、明文或节点本地路径。

相关:签名承诺账本与见证保护 · 节点健康与中继冒烟验证

<!-- docs-node-evidence-2026-08-31:end --> <!-- [DOCS-STALE-TAIL-REMOVED 2026-09-03 by Codex] -->