Every decision ONYX makes goes into one log that only grows. Every hour it signs a note saying how big it was and what its fingerprint is. If anything were rewritten later, those notes would stop adding up.
Every note is signed with the key published above — checked here, on your machine.
Each note points at the one before it. A missing note leaves a hole.
The height never goes down. To delete something from the past you would have to make the log shorter than a note that is already signed.
The latest note is recent. If it had stopped, you would see it.
Every co-signature is checked here too, against the same bytes. A witness cannot co-sign without seeing the same history you are seeing.
For when somebody says «you punished me for no reason». Their receipt carries a number, that number has to be inside this log, and this log cannot have changed since. Without it, the only possible answer would be «trust us».
Independent people who download each note, check it grows from the one they saw before, and co-sign it with their own key. A witness who saw one history will not co-sign a different one — so a forged history has no co-signatures, and that shows.
node tools/witness.js https://argos.is-a.dev
One command. It makes a key, watches every hour, and stops if anything stops adding up.
This page reads exactly this, and nothing else. You can too. /api/attest
{
"v": 2,
"algo": "ed25519",
"key": "MCowBQYDK2VwAyEA25zqsz+yCAxGMPwfT+c/DfOJRhlzI7A8Wn6bT2nMPXI=",
"signed": {
"1": "JSON.stringify({v,seq,at,height,head,prev})",
"2": "JSON.stringify({v,seq,at,height,head,size,root,prev})",
"3": "JSON.stringify({v,seq,at,height,head,size,root,code,prev})",
"4": "JSON.stringify({v,seq,at,height,head,size,root,code,prev})"
},
"count": 1062
}