Blockchain come garanzia del dato
L’unico strumento attualmente disponibile per garantire l’accuratezza del dato nel tempo è l’utilizzo della blockchain come stuttura per memorizzare un dato. Per molti blockchain=criptovaluta ma non è proprio così. La criptovaluta sfrutta la logica e l’architettura blockchain e non viceversa.
Per dare una storia diciamo che la prima blockchain è comparsa negli anni ottanta, molto prima della criptovaluta, quasi trent’anni prima!
La prima blockchain decentralizzata è opera invece del primo gruppo (Nakamoto) che sfruttò la stessa logica per la propria criptovaluta (Bitcoin).
Ma torniamo al dato.
Nella nostra cultura informatica il dato viene salvato in file o in un database relazionale. Sappiamo sempre dove si trova, rete, server cloud che sia ed abbiamo sempre una copia di sicurezza disponibile (backup).
Con le blockchain la cosa cambia non poco. Il dato non viene salvato in un file specifico ma sfruttando la logica dei blocchi: un dato viene suddiviso in tanti blocchi uniti da loro in una sorta di catena/albero (hash-tree). Il modello non permette la variazione del dato ma bensì l’aggiunta dell’azione di modifica o al limite della cancellazione. Dimenticavo: ogni blocco viene protetto con una buona dose di hash.
Ciò significa che se volessi cancellare un dato in una blockchain avrei la catena originale con in coda l’informazione che indica che ho voluto cancellare il dato stesso proprio perchè ogni blocco risulta protetto. Di fatto la catena diventa un albero dove, se necessario, un blocco nasce legandosi ad un altro blocco già legato ad un altro sottostante ma ormai inutilizzabile, come se avessi creato un bivio alla mia catena. L’importante è che nella catena non si cancelli alcun blocco.
Il dato lo proteggiamo attraverso una funzione di hash che ne conserva il contenuto e garantisce per noi l’integrità del blocco. I blocchi sono legati dall’hash. Ogni blocco si lega al quello precedente.
Nell’ambito della blockchain decentralizzata possiamo aggiungere un ultimo passaggio per avere una blockchain “attuale” mettendola in una rete P2P. La catena viene copiata nei vari nodi della rete per essere certi di avere la garanzia non di una sola copia ma di tante copie nella rete.
Quindi, per produrre una blockchain devo:
- creare un blocco
- salvare i dati nel blocco
- proteggerli attraverso una hash e procedere così con tutti i blocchi necessari
- legarli tra loro in una singola catena.
- fattain la catena la distribuisco nella mia rete p2p per averne tante copie identiche