MIRROR_ACK — Group 21, Code 11

Mirror confirms a snapshot stored, so root knows it propagated before telling clients the epoch is live.

Design-stage — parameters are a first draft

Field sizes are drafted from raidax/ideas_for_suspect_raida_servers.txt (Addenda 5–7) and are not final or implementation-verified. The body is encrypted per the header ENC_CODE; see below.

Phase I — essential

This command is part of the Phase I minimum needed for a coin to move from root to suspect (and back) and be trusted by a workstation. Confirms the list propagated before an epoch goes live.

How it works

The companion to PUSH_AUTHORITY_SNAPSHOT. After a mirror receives and stores a new authority snapshot, it sends this acknowledgement back to the root, including the fingerprint (hash) of what it stored so the root can confirm it matches.

This lets the root know the new epoch's data has actually propagated to enough mirrors before it tells clients the epoch is live. It is authenticated with the shared server-to-server key. Without this confirmation step, clients could be pointed at an epoch whose data had not finished spreading.

Direction & encryption

  • Direction: mirror → root
  • ENC_CODE: 7 (K_rs)

Request Body parameters

FieldBytesDescription
epoch4Epoch id stored.
snapshot_hash16Hash of the stored snapshot (must match root's).
CMAC16AES-CMAC under K_rs.

Response Body parameters

FieldBytesDescription
ack11 = acknowledged.