La tracciabilità di un procedimento si misura su due cose: se tutto ciò che accade viene registrato, e se ciò che è registrato può essere alterato a posteriori. I log append-only con concatenamento di hash risolvono entrambe le dimensioni in modo elegante: ogni azione viene registrata e qualsiasi modifica successiva produce un'incongruenza matematica immediatamente rilevabile.
Append-only: registrazioni che non si riscrivono
Append-only significa che è consentito solo aggiungere voci, mai modificare o cancellare quelle esistenti. Se una voce era errata, si corregge con una nuova voce che rettifica la precedente, lasciando intatto lo storico. È una decisione architetturale semplice la cui conseguenza probatoria è enorme: il log riflette letteralmente ciò che è accaduto, senza reinterpretazioni successive.
Concatenamento mediante hash
Ogni voce include, oltre al suo contenuto, l'hash della voce precedente. Se qualcuno cercasse di modificare una vecchia voce senza altro, l'hash memorizzato dalla voce successiva non coinciderebbe più e la catena si romperebbe. Alterare lo storico richiederebbe ricalcolare tutti gli hash successivi, operazione rilevabile perché copie precedenti del log sarebbero già pubblicate o salvate.
Cosa viene registrato esattamente
- Chi (utente e ruolo) ha eseguito l'azione.
- Quando (timestamp con marca temporale).
- Quale tipo di azione (inserimento di un bene, modifica, chiusura delle preferenze, sorteggio, aggiudicazione...).
- Stato precedente e successivo, ove applicabile, in formato compatto.
- Hash della voce precedente, che chiude la catena.
Verifica periodica
Una routine automatica percorre il log periodicamente e valida la catena di hash. Qualsiasi rottura viene escalata come incidente immediato. Per la massima rigorosità, un'impronta globale del log (root hash) viene pubblicata quotidianamente in un registro esterno (ad esempio un ancoraggio in una catena pubblica o una marca temporale qualificata), così che neppure l'operatore della piattaforma possa riscrivere lo storico senza che sia rilevabile.