Disposizione 06 · provenienza crittografica
Integrità & provenienza
A ogni pubblicazione del corpus calcoliamo una radice di Merkle su tutte le decisioni. La radice viene committata nel repository pubblico e ancorata sulla blockchain Bitcoin tramite OpenTimestamps. Ogni decisione è così verificabile crittograficamente — anche qualora un giorno opencaselaw.ch non dovesse più esistere.
§01 Radice attuale
§02 La foglia
Cosa promette la radice
Per ogni decisione viene formato un valore di foglia secondo il seguente schema e sottoposto a hash SHA-256:
decision_id
cli:ch
ECLI
content_hash (SHA-256 over regeste || full_text)
decision_date
Le foglie vengono lette in un albero di Merkle RFC-6962 in ordine alfabetico per decision_id (stessa convenzione di Certificate Transparency). La radice è di 32 byte (64 caratteri hex) e si impegna su ogni decisione con questo decision_id, questo content_hash, questi identificatori, a questa data.
Con la radice e un percorso di prova di inclusione (log₂ N hash fratelli, ~20 per circa 991k decisioni) si può dimostrare crittograficamente che una decisione faceva parte del corpus — senza fidarsi di opencaselaw.ch.
§03 Verificare
Percorso di verifica
decision_id, content_hash, cli:ch, ECLI, decision_date.decision_id\ncli:ch\nECLI\ncontent_hash\ndecision_dateSHA-256(0x00 || leaf_bytes)SHA-256(0x01 || left || right).docs/integrity/<data>.root nel repository Git..ots contro la blockchain Bitcoin — la radice risulta così esistita a un determinato momento.§04 Stato
Roadmap
- In produzione: radice di Merkle settimanale + manifesto come
docs/integrity/<YYYY-MM-DD>.{root,json}. - In produzione: ancora OpenTimestamps tramite
ots stamp; consolidabile dopo ~1 blocco Bitcoin (1–6 h) (ots upgrade). - In produzione:
GET /api/integrity/<decision_id>fornisce il percorso di prova di inclusione RFC-6962 contro la radice più recente. - Facoltativo: ancoraggio incrociato verso altri servizi di marca temporale (Sigsum, RFC 3161 TSA).
Fa parte degli Open Law Standards (disposizione 06 · provenienza).
§05 Code
Implementazione di riferimento
- integrity.py — libreria di Merkle (RFC 6962), di pubblico dominio.
- build_integrity_root.py — costruito settimanalmente dalla banca dati FTS5.