Invariants / DC-STORE-09

DC-STORE-09

DC derived enforced

Snapshot bytes carry a closed u32 version tag (initial == 1) and the source state's blake2b-256 fingerprint. Decoder reads the version tag first and rejects unknown versions before decoding the ledger or chain-dep payload; decoder recomputes the fingerprint on the decoded state and rejects on mismatch.

Source

docs/planning/persistent-snapshot-encoder-invariants.md §1 (I-3, I-4)

Enforcement trace

Tests 3

  • snapshot::framing::tests::snapshot_round_trip
  • snapshot::framing::tests::decode_rejects_unknown_version
  • snapshot::framing::tests::decode_rejects_fingerprint_mismatch

Cross-references

Strengthened in

Open obligation