Each new state remembers the previous commitment:

state_n.prev_commitment = identity_commitment_(n-1)
state_n.identity_commitment = Hash(...)

This creates a commitment chain for each identity:

genesis_commitment -> commitment_2 -> commitment_3 -> ... -> current

Verification rule for a relying party:

  1. Fetch current_commitment from the registry / resolver for identity_id.
  2. Ensure it’s correctly signed / authenticated (registry rules).
  3. Optionally verify the chain back to genesis (or to a trusted checkpoint).
  4. Check that any proofs you receive are generated against this commitment.