La preuve qu'une action a vraiment eu lieu.
RootBlocks transforme chaque action gouvernée (un merge, une release, une métrique mesurée) en un reçu signé et append-only. N'importe qui peut le vérifier hors ligne, sans compte et sans nous faire confiance.
$ npx rootblocks-verify receipts.jsonl --key pubkey.pem Ledger: 4 entries Key: ed25519:199aa76… ✓ [0] attest.people-served-unique… observed ✓ [1] attest.transactions-processed observed ✓ [2] attest.data-points-managed observed ✓ [3] attest.decisions-on-record observed 4/4 verified ✓ VERIFIED · evidence.v1
Vérifiez un reçu en 30 secondes
Donnez un reçu et une clé publique au vérificateur. Il vérifie trois choses, toutes hors ligne : la signature, la conformité à ce standard et (pour un registre) que chaque entrée tienne.
Rien n'a été altéré
La signature ed25519 détachée est vérifiée contre la clé publique du signataire. Changez un seul caractère et elle échoue.
C'est un vrai reçu
Le document est conforme à evidence.v1, le schéma de ce site, dont l'$id est l'URL où vous le lisez.
Tout le registre tient
Pour un registre append-only, chaque entrée passe. Pour un paquet, les octets archivés correspondent aussi au manifeste.
Ce que contient un reçu
Une attestation réelle : un fondateur déclarant qu'une métrique publiée est authentique. Elle enregistre comment le nombre a été mesuré, jamais la donnée elle-même, et accompagne une signature détachée.
{ "schemaVersion": "rootblocks.evidence/v1", "operationType": "attest", "status": "passed", "assurance": "observed", "actor": { "type": "human", "id": "DV-P33F…" }, "provenance": { "attestor_datta_dv": "DV-P33F…", "subject": { "metric": "people_served…", "value": 1001465, "sourceSystem": "insttantt-db-prod", "method": "SELECT COUNT(DISTINCT…)" } } }, "redaction": { "status": "not-needed" } } + signature { ed25519, keyId, value }
operationType
Ce qui s'est passé : run, code.merge, release ou attest. Un vocabulaire pour tout le cycle.
actor · attestor_datta_dv
Qui en répond, nommé par une identité Datta : une personne, une organisation ou un agent.
subject
La déclaration elle-même : la valeur, le système de référence et la méthode exacte, pour qu'un tiers puisse la reproduire.
signature
Une signature ed25519 détachée sur les octets canoniques. C'est ce qui rend le tout inviolable.
Quelle est la force de la garantie ?
Une signature prouve qu'un reçu n'a pas été altéré, pas que sa déclaration est vraie. Chaque reçu porte un sceau du niveau de garantie. Les blocs se remplissent à mesure que la preuve se renforce.
La spécification lisible par machine
Chaque schéma est servi à l'URL exacte qu'il déclare comme son $id, donc les outils le résolvent directement. Chaque reçu épingle la version majeure rootblocks.evidence/v1 : les mineures ne font qu'ajouter, donc un reçu signé aujourd'hui se vérifie encore dans dix ans.