OpenTimestamps

Questa pagina web è un’interfaccia per creare e/o verificare prove di marcatura temporale tramite il protocollo OpenTimestamps e i suoi calendar server Bitcoin pubblici e gratuiti. [Se hai fretta, salta questa introduzione e vai direttamente alla marcatura temporale.]

Una marcatura temporale dimostra che un documento esisteva in un determinato stato prima di un dato momento, conferendo a quel documento una data certa (analogamente a un timbro postale). La legge richiede che le date siano certificate da pubblici ufficiali e servizi notarili; per i documenti digitali, la marcatura temporale si basa solitamente sulla firma digitale di un’Autorità di Certificazione (CA).

In ogni caso, i dati digitali possono essere marcati temporalmente in modo sicuro tramite l’attestazione del loro valore di hash in una transazione su blockchain. Il valore di hash identifica in modo univoco il documento (come se ne fosse l’impronta digitale), mentre la transazione estende la marcatura temporale nativa della blockchain al valore di hash incluso, dimostrandone così l’esistenza in un determinato momento. Di conseguenza, l’attestazione su blockchain del valore di hash dimostra anche l’esistenza del documento originale stesso prima del momento della marcatura temporale.

La marcatura temporale e il contenuto di una transazione su blockchain sono garantiti dalla quantità di lavoro computazionale svolto dopo l’inclusione della transazione in un blocco della catena. Infatti, maggiore è il numero di blocchi aggiunti alla catena dopo un determinato blocco, più diventa computazionalmente oneroso manomettere i dati di quel blocco; persino il solo tentativo di alterare la marcatura temporale di una transazione diventa tecnicamente ed economicamente proibitivo, in particolare nel caso della blockchain Bitcoin.

Sebbene esistano molti modi per realizzare una marcatura temporale, OpenTimestamps è un protocollo aperto, indipendente dal fornitore e dalla specifica blockchain, che definisce un insieme di operazioni per creare marcature temporali su blockchain dimostrabili e successivamente verificarle in modo indipendente; come tale, consente la verificabilità da parte di terzi ed è idoneo a soddisfare requisiti normativi.

Le prove di attestazione di OpenTimestamps possono essere verificate senza dipendere da alcun server, fornitore o infrastruttura centralizzata, semplicemente utilizzando una copia locale della blockchain (ad esempio, un full node Bitcoin). La minimizzazione della fiducia è ottenuta grazie a questa architettura distribuita, decentralizzata, indipendente, non censurabile e indipendente dalle giurisdizioni. Questa interfaccia web è soltanto uno strumento di comodo e, poiché una pagina web non può accedere al filesystem locale, per la verifica fa affidamento su block-explorer Bitcoin pubblici (ad esempio, blockstream.info) anziché a una copia locale della blockchain.

Per evitare l’inefficienza di una transazione su blockchain per ogni marcatura temporale, un server OpenTimestamps fornisce l’aggregazione di più hash di documenti in una struttura dati ad albero di Merkle e attesta solamente l’hash della radice dell’albero di Merkle. L’inclusione di un valore di hash come foglia in un albero di Merkle può essere dimostrata crittograficamente, e la relativa prova fa parte dell’attestazione; di conseguenza, la singola attestazione della radice dell’albero attesta implicitamente tutte le foglie. Questo approccio di aggregazione prima dell’attestazione consente una scalabilità pressoché illimitata.

Sebbene chiunque possa effettuare una marcatura temporale con qualsiasi blockchain permissionless pagando le opportune commissioni di transazione (utilizzando il protocollo OpenTimestamps o qualsiasi approccio alternativo), per comodità sono disponibili più calendar server OpenTimestamps pubblici (ad esempio, btc.ots.dgi.io), utilizzabili gratuitamente senza alcuna registrazione o API key. Un singolo calendar server può offrire i propri servizi a più client OpenTimestamps remoti: le marcature temporali verificabili vengono create senza alcun costo per i client. I calendar server OpenTimestamps pubblici e gratuiti utilizzano Bitcoin come notaio della marcatura temporale, ovvero effettuano una transazione Bitcoin per attestare il valore di hash della radice nella blockchain Bitcoin.

Timestamp e verifica

Utilizza il riquadro sottostante per:

OpenTimestamps

Trascina qui un file per marcarlo temporalmente oppure una ricevuta/prova (*.ots) per verificarla.

Avvertenze

Le prove di attestazione possono essere verificate indipendentemente da qualsiasi server o strumento OpenTimestamps. Lo stesso non vale per la ricevuta di invio, che può essere aggiornata a prova soltanto utilizzando il/i calendar OpenTimestamps impiegati per l’invio.

L’utente è responsabile della conservazione sia del documento marcato temporalmente (che non è mai stato condiviso con i server OpenTimestamps) sia della sua prova di attestazione (che tecnicamente potrebbe essere conservata dai server OpenTimestamps).

Sebbene il protocollo OpenTimestamps sia indipendente dalla blockchain, una marcatura temporale è affidabile quanto la blockchain utilizzata:

  • molto affidabile se si utilizza Bitcoin, poiché tale blockchain è garantita da un’enorme potenza computazionale (proof-of-work);
  • molto meno affidabile con altre blockchain pubbliche permissionless;
  • se utilizzata con una blockchain privata permissioned, la sua affidabilità dipende dall’attendibilità della governance della catena: in questo caso è probabilmente preferibile una tradizionale autorità di certificazione.

Per quanto possa apparire ovvio, è opportuno ricordare che la marcatura temporale (utilizzando il protocollo OpenTimestamps o qualsiasi approccio alternativo):

  • può essere rivelata selettivamente per mostrare le prove convenienti e nascondere quelle scomode (ad esempio, marcando temporalmente una scommessa su un determinato esito e quella sull’esito opposto, per poi rivelare soltanto quello che si è verificato);
  • non dimostra la paternità (che dovrebbe essere dimostrata tramite una firma digitale);
  • può essere ripudiata se non firmata digitalmente;
  • non garantisce la veridicità, la validità, la correttezza o l’esattezza del documento marcato temporalmente.