Il più grande vantaggio della notarizzazione decentralizzata rispetto ai sistemi di marcatura temporale tradizionali è la **totale neutralità**. Quando registri l'impronta di un file sulla blockchain, non devi riporre la tua fiducia in chi fornisce il servizio. Se Verifybit dovesse chiudere domani, la tua prova di esistenza rimarrebbe valida e verificabile per sempre.
Questo è possibile perché la procedura di verifica si basa esclusivamente su standard aperti, sul codice open-source e sul registro pubblico di Bitcoin. In questa guida vedremo come effettuare una verifica indipendente delle ricevute temporali (file con estensione .ots) in modo autonomo.
1. Cosa Occorre per la Verifica
Per convalidare una notarizzazione blockchain, hai bisogno di due soli elementi:
- Il File Originale: Il documento identico a quello caricato a suo tempo (es.
contratto.pdf). La modifica anche di un solo pixel, carattere o spazio invaliderà il test. - La Ricevuta Crittografica
.ots: Il file di ricevuta che hai scaricato da Verifybit (es.verifybit_contratto.ots).
2. Come Funziona il Controllo Crittografico
Il file .ots non contiene il tuo documento, bensì una serie di istruzioni matematiche e hash intermedi (il cosiddetto Albero di Merkle) che collegano l'impronta del tuo file ad una specifica transazione Bitcoin. Lo strumento di verifica esegue tre passaggi logici:
- Calcola localmente l'hash SHA-256 del tuo file originale.
- Esegue le operazioni matematiche di hashing indicate nel file
.otsper ottenere l'hash radice (root). - Interroga la blockchain di Bitcoin per verificare che quell'hash radice sia effettivamente registrato all'interno di un blocco confermato.
3. Opzione A: Convalida tramite Portale Web (Rapida e Semplice)
Il metodo più immediato non richiede alcuna installazione e sfrutta l'interfaccia ufficiale del protocollo:
- Visita il portale di verifica ufficiale di OpenTimestamps: verify.opentimestamps.org.
- Trascina nel box indicato il tuo **file originale**.
- Trascina subito dopo il rispettivo **file di ricevuta
.ots**. - La pagina effettuerà i calcoli in locale sul tuo browser e interrogherà la blockchain. In caso di successo, mostrerà un box verde con la conferma di avvenuta notarizzazione, indicando l'altezza del blocco Bitcoin e la data esatta del timestamp.
La notarizzazione tramite OpenTimestamps avviene in modalità aggregata (batch) per azzerare i costi. Per questo motivo, una ricevuta appena creata risulterà in stato "Pending" (in attesa). Il timestamp diventa definitivo e immutabile non appena la transazione viene inclusa in un blocco Bitcoin (solitamente entro 2-4 ore).
4. Opzione B: Verifica da Riga di Comando (Per Programmatori e Sistemisti)
Per la massima indipendenza, puoi installare il client ufficiale in Python direttamente sulla tua macchina.
Fase 1: Installa il pacchetto ufficiale
Assicurati di avere Python installato sul computer, apri il terminale e digita:
pip install opentimestamps-client
Fase 2: Esegui il comando di verifica
Posiziona il file originale e la ricevuta nella stessa cartella e lancia il comando:
ots verify contratto.pdf.ots -f contratto.pdf
Il client calcolerà l'impronta, contatterà la rete Bitcoin e restituirà un output di conferma simile al seguente:
Success! Timestamp is confirmed in Bitcoin block #845321
5. Opzione C: Validazione tramite il Tuo Nodo Bitcoin Personale
I puristi della decentralizzazione possono spingersi oltre: verificare la ricevuta senza effettuare chiamate API a server terzi o block explorer esterni. È possibile lanciare il client configurandolo per leggere i dati direttamente dal proprio nodo Bitcoin casalingo (Full Node):
ots --bitcoin-node-url http://username:password@127.0.0.1:8332 verify contratto.pdf.ots
In questo modo, la verifica avviene in totale autonomia crittografica, confrontando il file solo con la tua copia locale del registro pubblico di Bitcoin.