Tracciabilità dell'olio, passo passo

3. Il registro che nessuno può riscrivere

Obiettivo: Capire in una pagina cos'è una blockchain e cos'è l'impronta (hash) di un documento.

Il quaderno con le pagine incollate

Immagina un quaderno dove ogni pagina, appena scritta, viene firmata e incollata alla precedente. Per cambiare la pagina 2 dovresti staccare anche la 3, la 4 e tutte le altre, e tutti quelli che hanno una copia del quaderno se ne accorgerebbero.

Pagina 1#a3f1…✓ incollata e firmataPagina 2#9c20…✓ incollata e firmataPagina 3#e71b…✓ incollata e firmataimpronta della pagina precedente

La blockchain è questo: un registro dove le registrazioni sono raggruppate in blocchi, ogni blocco contiene l'impronta del precedente, e molti computer indipendenti ne conservano una copia. Scrivere è permesso solo a chi ha le credenziali giuste; leggere è possibile a tutti. Una volta scritto, un dato non si modifica: al massimo si aggiunge una nuova riga che lo corregge, e la vecchia resta visibile.

Noi usiamo una rete di prova (Polygon Amoy): funziona come quella vera ma con monete senza valore, adatta a imparare.

L'impronta di un documento

Un hash è un'impronta digitale di un file: un programma legge tutto il documento e produce una sequenza fissa di lettere e numeri. Due regole: lo stesso documento dà sempre la stessa impronta; se cambia anche una sola virgola, l'impronta cambia del tutto. E dall'impronta non si può ricostruire il documento.

Esempio con l'algoritmo sha256 su due testi quasi uguali:

acidita 0.2 diventa
a65f4491f8a94984e9992a249393423c32d511f7ff15ee7bf83663c663ee54da

acidita 0.3 diventa
801251e0ce82939caa01ea32b7958cf57ecdac51422051fcff26c21d165b20c1

Un solo carattere diverso e le due impronte non si assomigliano affatto. Per questo basta scrivere sulla catena l'impronta del referto del laboratorio: se qualcuno cambiasse il PDF, l'impronta non coinciderebbe più.

Prova tu

Su un computer Linux o Mac apri il terminale e scrivi: printf 'acidita 0.2' | sha256sum (su Mac: shasum -a 256). Devi ottenere esattamente la prima impronta qui sopra. Poi cambia un carattere e guarda cosa succede.

Cosa hai imparato

Per approfondire