Car Wash Ledger

Change history, get caught.

Every journal becomes a leaf in a Merkle tree. A witness that lives outside the database signs the tree's root every few seconds, and only after checking that the new tree extends the old one. Edit the books behind the ledger's back and the roots stop matching.

Leaves in the log

1,570

Signed by the witness

1,570

Witness key (Ed25519)

M-qx1GsfSWQul8EXoavO7epSVrM5NZzIpu_DY9yqjZc

The latest signed checkpoints

  1. 1,570184b9bc6bf28143757bf1a927165247b5be7e2d875b4e79e1ba964bede905c58
  2. 1,56673e16bd0981f3403e5b4c9404f49cf5c1ef67b022ea53f942565ad54eb4b4107
  3. 1,563c00b21c16230043850462cb1220d05bd421ba93276488ab01270e6c54256de58
  4. 1,55840239ff3e231b8fde1be57df106f18299d99a9b122cb207b839bae8d2c40d261
  5. 1,55530218311e99569b2e6a1f817da179efb5573c7b68a13ae6b0b6eb99f07d48059
  6. 1,5549771d24256b60858e9246fa6d837f5e2ac31a8fb4afb6f9c3ee5f7caa4d5a980

Tamper with it

Each button changes the database directly as the superuser, the way an insider would. One change at a time.

Check one journal in your browser

Your browser recomputes the leaf from the journal's rows, follows the server's proof to the root, and checks the witness's Ed25519 signature on that root itself. The server only supplies data.

Verify the whole log

The server recomputes every leaf from the current rows, rebuilds the tree on its own and compares the root at every size the witness signed.