Game · easy · 8 min

Byte Detective

Name every byte of a real block header, then catch the tampered one

  • The six fields of the 108-byte header, in order
  • Little-endian numbers and byte-reversed hashes
  • How a transaction is laid out, from version to locktime
  • Why one changed byte breaks the hash and the chain

Byte Detective

Label real Pearl bytes, then catch a tampered header

Best—

Arcade · bytes and hashes

Name every byte of a real Pearl block header and transaction, then find the byte someone changed.

Pick a field label and drop it on the byte where that field starts. It snaps to the field’s size.

Fast and accurate scores more. Streaks of 3 and 6 multiply your points.

  • 1…0 pick a label
  • ←↑→↓ move between bytes
  • Enter place the label
  • Esc drop the label

Real mainnet data from blocks 1, 120,000, 130,825 and 130,827. You can also drag labels with a mouse or finger.

Levels

Best —

Runs in your browser · scores stay on this device src/lib/block.ts · src/lib/tx.ts · real mainnet bytes

How to play

Level 1. The 108 bytes of a real block header appear with no labels. Pick a label (click it, press its number key, or drag it) and put it on the byte where that field starts. It snaps to the field’s size. After the time and the bits, you read the bytes back as a number: pick the right reading.

Level 2. The same game on a real 205-byte payment: version, marker and flag, the input, two outputs, the witness and the locktime. Some labels appear twice.

Level 3. One byte of a real header was changed, so its hash no longer matches the hash the certificate and the next block expect. You get three checks per round, the same checks a node runs on each field. Some changes are visible if you read the values carefully, which saves checks.

Exact hits score more than labels that snap into place, wrong drops cost points, and a streak of 3 or 6 correct moves multiplies what you earn. Finishing faster adds a bonus.

Keyboard: number keys pick a label, arrow keys move between bytes, Enter places, Esc lets go. In level 3, keys 1 to 6 check a field.

What’s real and what’s simplified

  • Real: every header and the transaction are mainnet bytes from blocks 1, 120,000, 130,825 and 130,827. The answer key is the field list the site’s own parser produces, the hashes are computed in your browser with SHA256d, and the proof-commitment check really hashes the certificate’s public data.
  • Simplified: in level 3 the other checks compare with the values the network actually saw instead of rebuilding them. A real node would recompute the Merkle root from all the block’s transactions, get the parent’s hash from its own copy of the chain, run WTEMA for the bits and check that the time is at least 1 second after the parent’s and no more than 5 minutes ahead of its own clock.
  • The game picks which byte to change so that time and bits changes are large enough to spot by eye. A real attacker could change a single low bit, and only the checks would catch it.

Suggested

Up and down arrows move through the results, Enter opens one, Escape closes. Anywhere on the site, slash or Command K opens this search, and the square brackets [ and ] go to the previous and next page.