- Purpose
This document defines how ledger payloads are transformed into canonical form before hashing.
Canonicalization guarantees:
Deterministic hashing
Replay consistency
Cross-node hash equality
Cryptographic immutability
If canonicalization differs across environments, the protocol is broken.
- Core Principle
Hash(input) must be identical across:
OS
Runtime
Language version
Time
Node ordering
Developer machine
No implicit behavior allowed.
- Canonicalization Scope
Canonicalization applies to:
GovernanceRecordV1
LedgerEntry
PolicyV1
Settlement payload metadata