A tutti può accadere di voler dare data certa ad un file. Un esempio fra i tanti: uno scrittore che vuole dimostrare l’esistenza di un proprio file di testo ad una certa data.

Vi propongo una soluzione alternativa alle tradizionali marche temporali (timestamp), utilizzando la blockchain.

E’ didattico per il proseguo della lettura, comprendere cosa sia un hash di file e cosa sia la blockchain.

Tramite un apposito algoritmo, possiamo ottenere l’impronta digitale di un file (cosiddetto valore hash), ossia una stringa alfanumerica che lo identifica in modo univoco.

Gli algoritmi di hashing sono numerosi ed irreversibili, i più comuni sono SHA256, SHA512 e MD5. Anche un minimo cambiamento del file comporta una nuova traccia e dunque il valore di hash risulta fondamentale per verificare l’integrità di un file.  Esistono siti web che offrono gratuitamente il servizio, in alternativa, ci si può avvalere di software disponibili per svariati sistemi operativi.

Per chi utilizza il sistema operativo Linux, possiamo scrivere nella shell:

sha256su nomefile.estensione

Ad esempio, volendo ottenere il valore hash di un ebook che abbiamo scritto:

sha256su titoloebook.epub

Otterremo una lunga stringa di testo che è la nostra impronta.

Adesso, prima di registrarne l’esistenza ad una certa data, vediamo cos’è una blockchain.

La blockchain è un registro pubblico alla base di criptovalute come bitcoin ma anche di smart contract. Questo registro pubblico è aggiornato con un sistema peer to peer (P2P), non si basa su un server perché i computer degli utenti sono al tempo stesso client e server. Ogni riga della blockchain contiene un campo op-return ove si può scrivere una frase sino al limite massimo di 80 caratteri alfanumerici (80 byte). Tali messaggi sono codificati in esadecimale. Attualmente non tutti i wallet permettono l’inserimento di messaggi nell’ op_return.

Abbiamo 2 possibilità per registrare l’hash. Appositi servizi web o con delle transazioni in criptovaluta. Proprio utilizzando il sistema di transazioni delle criptovalute possiamo regitrare il nostro valore di hash sulla blockchain.

Per registrare un messaggio ci si può avvalere di appositi servizi online (per citarne alcuni tra i tanti: https://poex.io/ ossia proof of existence, o anche https://eternitywall.it/ ) oppure si può effettuare una transazione (in bitcoin o monero oppure altra criptovaluta) dal proprio wallet (portafoglio) allo stesso wallet, inserendo il nostro valore di hash nel campo opzionale op_return e utilizzando una piccolissima somma di denaro (per l’esattezza una piccolissima frazione di bitcoin o altra valuta digitale).

Di solito l’ op_return (nel wallet mymonero è il payment id) è un campo che richiede un valore esadecimale di conseguenza, mediante un convertitore da testo UTF8 a esadecimale, dovremo convertire la nostra traccia digitale in un valore esadecimale.

Nelle transazioni di monero, incollare il valore digitale tramite wallet online mymonero è abbastanza semplice, mentre con altri wallet o criptovalute può a volte risultare complicato e in certi casi è necessario farlo da riga di comando. Nettamente più semplice utilizzare servizi come proof of existence o eternitywall.it.

Effettuato il pagamento a sè stessi o utilizzato un servizio apposito in internet, possiamo vedere la nostra traccia, indelebile, anonima ma al tempo stesso pubblica, sulla blockchain.

Operativamente, è possibile visionare la transazione, comprensiva del messaggio (contenente la traccia digitale del nostro file), tramite siti finalizzati all’esplorazione della blockchain, come per esempio:

https://chainradar.com 

https://blockchain.info

Autore: Andrea Gandini, perito informatico laureato in giurisprudenza, consulente di innovazione organizzativa e autore di manuali e saggi. Sito personale: www.dottorgandini.it

Copyright: Andrea Gandini. Il presente articolo può essere condiviso e utilizzato solo se riportato integralmente citando l’autore ed il sito guadagnoinrete.com. Inoltre il testo potrà essere utilizzato solo senza scopo di lucro.

Disclaimer: le normative sono soggette a modifiche ed abrogazioni ed è sempre necessario verificare le fonti normative. L’articolo non può essere utilizzato per dare pareri definitivi. Quanto esposto consegue ad anni di pratica e studio e non si garantisce lo stesso risultato. Non ci assumiamo responsabilità per eventuali errori o omissioni presenti nel testo, né per eventuali cambiamenti a contenuti dei siti linkati.


Leave a Reply

Your email address will not be published.