MOVE_VALIDATE_TICKET — Group 20, Code 4
Destination validates a pickup ticket back to the source; the source then advances the coin to MOVED_OUT. Inter-RAIDA, CMAC-authenticated.
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. Server-to-server ticket check; the move cannot commit without it.
How it works
This command is spoken between two servers, not by a user. When a coin moves, the source server (the one losing authority) hands out a one-time ticket — a random number that acts as a claim check. The destination server, before it accepts responsibility for the coin, calls back to the source to ask: “is this ticket genuine, and which coin does it stand for?”
That callback is this command. The two servers share a secret key (each suspect is enrolled with its own coin for exactly this purpose), so the whole exchange is authenticated with AES-CMAC and cannot be forged by an outsider. When the source confirms the ticket, it also permanently stops answering for that coin (it records a “moved-out” marker), which is what guarantees a coin is never claimed as live on two servers at once.
Direction & encryption
- Direction: dest → source
- ENC_CODE: 7 (K_rs, inter-RAIDA)
Request Body parameters
| Field | Bytes | Description |
|---|---|---|
| ticket | 16 | The pickup ticket issued by the source. |
| DN | 1 | Denomination of coin X (echo for validation). |
| SN | 4 | Serial number of coin X (echo for validation). |
| CMAC | 16 | AES-CMAC over the request under K_rs. |
Response Body parameters
| Field | Bytes | Description |
|---|---|---|
| valid | 1 | 1 = ticket good. |
| DN | 1 | Denomination of the coin the ticket names. |
| SN | 4 | Serial number of the coin the ticket names. |
| target_id | 2 | Confirmed destination server id. |
| seq | 4 | Move sequence number. |
| CMAC | 16 | AES-CMAC over the response under K_rs. |