Границы аварийного восстановления Blind Vault и MemChain

AeroNyx17 июня 2026 г.2 мин чтения189 просмотров

Что восстанавливается после остановки процесса, что покрывают тесты и почему power-loss durability, восстановление ключей и deployment fleet — разные утверждения.

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

Границы аварийного восстановления Blind Vault и MemChain

Реализовано в source

Blind Vault хранит immutable ciphertext в bounded SQLite WAL transactions; committed record читается после process restart. MemChain AOF проверяет framing/semantic links и обрезает только incomplete physical tail; полный corrupt record сохраняется и вызывает fail closed. Просроченный processing task может вернуться в pending после lease, но это не точное возобновление model call и не гарантия отсутствия повторов.

Автоматические тесты

Прошли 5 базовых tests: Blind Vault retry/pull, issuer restart continuity, AOF torn-tail repair, complete corruption no-truncate и stale-claim reset. На исправленной commander integration line также прошли 6 replica-recovery store tests для restart recovery, V1 compatibility, corruption и conflict/rollback fail-closed. Это не fleet crash drill.

Текущий fleet

Snapshot 2026-08-31 показывает 3 followers с local verified commitment history, но без active coordinator, strict checkpoint threshold и witness-certified tip. Drill r6 не проверен.

SQLite synchronous=NORMAL и flush без fsync не доказывают zero-loss при power loss. Legacy AOF может содержать node-readable Facts и не является ciphertext history; sealed storage — отдельный путь. Утраченные identity/key, полная replica, consensus/finality не восстанавливаются.

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