Tecnologia Blockchain

Timestamping di documenti con Eternity Wall

Ovvero: come ho imparato a non rivolgermi al notaio e ad amare la Blockchain.

Ieri era San Valentino, e su facebook abbiamo parlato di messaggi d’amore eterni sulla Blockchain. Ma la tecnologia alla base di Bitcoin può fare, come sappiamo, molto di più. Lo stesso Eternity Wall, fondato, lo ricordiamo, dall’italianissimo Riccardo Casatta, può aiutarci a dimostrare l’esistenza di un documento in un determinato momento temporale, sfruttando il concetto del “Timestamping”. Vediamo come.

Fino all’avvento di Bitcoin e della Blockchain per poter provare che un documento (come un contratto o un passaggio di proprietà) era stato redatto in una determinata forma in un determinato momento, era necessario affidarsi ad un notaio o ad un altro ente terzo fidato che garantisse la cosa. Si parlava, e si parla tutt’ora di “Trusted timestamping”.

L’idea è, in verità, vecchia di secoli. Già nel 1675 Robert Hooke, per tutelare la paternità della “legge di Hooke” (sul comportamento dei materiali elastici) prima pubblicò l’anagramma “ceiiinosssttuv”, quindi 3 anni dopo pubblicò la traduzione “ut tensio sic vis”, latino per “come l’estensione, così la forza”, dimostrando di aver elaborato il concetto prima di chiunque altro. Anagrammi furono usati anche da Galileo e Sir Isaac Newton, per tutelare le proprie scoperte.

Nel tempo questa pratica si è digitalizzata, diventando un “Trusted digital timestamping”, dove una terza parte fidata (TTP – Trusted Third Party) agisce da autorità per la “marcatura temporale” (TSA – Time Stamping Authority) e garantisce l’autenticità del timestamp. E’ possibile (pagando) avere anche più terze parti autenticanti, per garantire una maggiore sicurezza.

La tecnica è basata sul concetto di firma digitale e funzioni di hash. Innanzitutto viene calcolato l’hash di un file. L’hash è una stringa alfanumerica che agisce da “impronta digitale” dei dati d’origine. Non è infatti possibile ottenere due hash uguali partendo da file o dati anche minimamente diversi. Se il file o i dati originali vengono alterati, anche di una virgola, l’hash risultante sarà completamente diverso.

L’hash del documento da “marcare temporalmente” viene quindi inviato alla “Time Stamping Authority” che calcola l’hash della combinazione: “hash del documento” + “timestamp”, il quale viene poi “firmato” in maniera digitale con la chiave privata della TSA. A questo punto il tutto viene rispedito al richiedente del timestamp, che dovrà mantenere copia del file originale più l’hash firmato dalla TSA. Poiché il file di partenza non può essere calcolato partendo dall’hash risultante (si può fare solo il viceversa), la TSA non può vedere i dati d’origine, per cui la procedura garantisce la riservatezza dei file del committente. A questo punto potrò dimostrare che quel documento esisteva in quella forma in quel determinato momento temporale.

"Trusted timestamping" di Bart Van den Bosch, Wikipedia
“Trusted timestamping” di Bart Van den Bosch, Wikipedia

Bitcoin ci dà la possibilità di fare tutto questo in maniera “Trustless” e decentralizzata, senza bisogno di una terza parte che garantisca l’autenticità del timestamp. Come? Allegando l’hash di un documento ad una transazione di pochi satoshi grazie alla funzione OP_RETURN. Per chi fosse interessato ad una spiegazione più approfondita legga pure qui. Per gli altri, grazie ad Eternity Wall, la procedura si risolve ad un semplice drag & drop e un paio di clic.

Apriamo la pagina dedicata al timestamping su Eternity Wall, trasciniamo il documento da “marcare” nell’apposito riquadro (nel mio caso un contratto di fornitura standard tratto da Oscon.it), confermiamo di non essere un robot (risata metallica) e diamo l’ok.

drag & drop di un documento su Eternity Wall
drag & drop di un documento su Eternity Wall

Il sistema calcolerà l’hash del documento e lo inserirà nella Blockchain nelle successive 24 ore.

messaggio di conferma del processo di timestamping
messaggio di conferma del processo di timestamping

A questo punto potremo stoccare l’hash con il documento originale e potremo provare che quel documento esisteva così come lo stiamo mostrando al momento dell’avvenuto processo di timestamping. Sia chiaro: la validità legale di una tale procedura non è garantita (siamo in Italia dopotutto), ma con una buona dose di pazienza e consulenti legali che sappiano di cosa parlano si tratta di un procedimento che garantisce un ampio margine di sicurezza nel confermare l’esistenza e la conformità di un documento o un file.

Ad onor di cronaca servizi simili sono offerti anche da altri siti, e non tutti usano OP_RETURN. Tra gli altri:

Ma dopotutto qui siamo su BitcoinITA, quindi… w Eternity Wall!

AGGIORNAMENTO 16/02/2016:

Nel blog di Eternity Wall è stato appena pubblicata la guida su come verificare in maniera indipendente e manuale la notarizzazione: http://blog.eternitywall.it/2016/02/16/how-to-verify-notarization/. Il contenuto è abbastanza tecnico, ma niente che un bitcoiner non possa affrontare.

3 pensieri su “Timestamping di documenti con Eternity Wall

    1. Ciao! Non c’è di che, anzi ne approfitto per farti i complimenti per il sito! Inserisco subito un aggiornamento in fondo all’articolo con il link che mi hai fornito.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *