
98 Bytes That Prove Your Document Existed
A checkpoint in ATL Protocol is a signed snapshot of the transparency log state. It captures the root hash of the Merkle tree at a specific tree size, at a specific moment in time, from a specific log instance. If you have a checkpoint and the corresponding signature verifies, you know the exact state of the log at that point. The entire wire format is 98 bytes. Fixed size. No variable-length fields. No parser required. I want to walk through why it looks the way it does, byte by byte. The Layout Offset Size Field 0 18 Magic bytes: "ATL-Protocol-v1-CP" (ASCII) 18 32 Origin ID (SHA256 of instance UUID) 50 8 Tree size (u64 little-endian) 58 8 Timestamp (u64 little-endian, Unix nanoseconds) 66 32 Root hash (SHA256) --- Total: 98 bytes That is the complete wire format. The Ed25519 signature (64 bytes) and the key ID (32 bytes) are stored separately -- they are not part of the 98-byte blob. This separation is a deliberate design decision that I will explain below. Fixed Size, No Parser Ever
Continue reading on Dev.to
Opens in a new tab

