Che cos’è e come funziona la blockchain

(video a fondo pagina)

La tecnologia della blockchain venne ideata nel 1991 da un duo di ricercatori americani ed era stata inizialmente pensata per vidimare i documenti digitali, in modo che non fosse possibile retrodatarli o manometterli, in pratica una sorta di notaio digitale.

Tuttavia la tecnologia della blockchain rimase inutilizzata fino al 2008, quando venne sfruttata da Satoshi Nakamoto per creare la prima criptovaluta digitale della storia: il Bitcoin.

Origine della blockchain.

Ma torniamo alla blockchain: una blockchain è, in estrema sintesi una specie di archivio digitale condiviso e decentralizzato, consultabile da chiunque faccia parte della rete. Proprio per questa ragione, una volta che delle informazioni vengono registrate all’interno della blockchain, sono molto molto difficili da modificare.

La blockchain è un archivio digitale condiviso.

Una blockchain è letteralmente una “catena di blocchi” contenenti informazioni. Ogni blocco della catena contiene fondamentalmente 3 elementi: il primo elemento sono i dati che vengono memorizzati in quel blocco. Il tipo di dati contenuti nel blocco dipende dal tipo di blockchain, la blockchain di Bitcoin, ad esempio, memorizza qui i dettagli di una transazione, come mittente, destinatario e la quantità di bitcoin che viene scambiata.

Il secondo elemento è il cosiddetto HASH, una stringa di numeri e lettere che identifica quel blocco e il suo contenuto e che è sempre unica, come una specie di impronta digitale: ogni volta che viene creato un nuovo blocco, viene calcolato un nuovo hash, unico e specifico per quel blocco e se qualche dato all’interno del blocco cambia anche l’hash cambierà.

Il terzo elemento contenuto in ogni blocco è l’hash del blocco precedente, ed è proprio la presenza di questo hash all’interno di ogni blocco a dare origine alla catena ed è questo ciò che rende la blockchain così sicura.

Ogni blocco della blockchain è costituito da tre elementi.

Facciamo un esempio: qui abbiamo una catena di 3 blocchi di una blockchain di Bitcoin. Ogni blocco contiene un hash e l’hash del blocco precedente. Quindi il blocco numero 3 farà riferimento al blocco numero 2 e il blocco numero 2 farà riferimento al blocco numero 1.

Ogni blocco della blockchain fa riferimento al precedente.

Il primo blocco invece è un po’ particolare, non potendo puntare a nessun blocco precedente infatti viene chiamato in gergo “GENESIS BLOCK”.

Ora, se, per esempio, il secondo blocco venisse in qualche modo manomesso da un hacker, l’hash di quel blocco verrebbe automaticamente modificato. Di conseguenza, il blocco 3 non sarebbe più valido perché non conterrebbe più l’hash valido del blocco precedente, compromettendo in questo modo anche la validità di tutti i blocchi successivi…

Ma, sebbene efficace, il sistema degli hash da solo non è sufficiente a prevenire manomissioni… I computer di oggi infatti sono estremamente veloci e possono calcolare centinaia di migliaia di hash al secondo e, perlomeno in teoria, si potrebbe efficacemente manomettere un blocco e ricalcolare tutti gli hash degli altri blocchi per rendere nuovamente valida la blockchain.

Quindi per evitare questa possibilità, la blockchain utilizza un protocollo crittografico chiamato PROOF-OF-WORK, letteralmente “prova di lavoro”.

La POW è essenzialmente una richiesta di calcoli aggiuntivi, necessari a rallentare la creazione di nuovi blocchi e rendere molto più complesse eventuali operazioni di hackeraggio della blockchain.

La proof-of-work rallenta la creazione di nuovi blocchi.

Nel caso di Bitcoin: occorrono circa 10 minuti per calcolare la POW e aggiungere un nuovo blocco alla catena, il che rende molto difficile manomettere i blocchi, perché se si manomettesse un blocco, oltre al calcolo degli hash, sarebbe necessario ricalcolare anche la proof of work per tutti i blocchi seguenti e per farlo sarebbero necessari tempi lunghissimi.

Ma c’è un’altra caratteristica della blockchain che ne garantisce la sicurezza, e cioè la decentralizzazione.

Invece di usare un’entità centralizzata per gestire la catena infatti, le blockchain usano una rete peer-to-peer alla quale chiunque può accedere e partecipare.

Chi si unisce a questa rete diventa un nodo e ottiene una copia completa della blockchain e può verificare che tutto sia in ordine.

Quando qualcuno crea un nuovo blocco, questo blocco viene inviato a tutti i nodi della rete.

Ogni nodo verifica quindi il blocco, per assicurarsi che non sia stato manomesso e, se tutto è corretto, ogni nodo aggiunge questo blocco alla propria blockchain, mentre se un nodo aggiunge un blocco che è stato manomesso, questo verrà respinto da tutti gli altri nodi della rete.

Quindi, per manomettere con successo la blockchain, bisognerebbe manomettere tutti i blocchi della catena, rifare la proof of work per ogni blocco e assumere il controllo di almeno il 50% +1 della rete, cosa praticamente impossibile in termini di tempo e poco conveniente in termini energetici.

La blockchain utilizza una rete peer-to-peer decentralizzata.

Oggi le blockchain vengono principalmente utilizzate per registrare transazioni di criptovalute ma possono essere usate e adattate per conservare in sicurezza qualsiasi tipo di dati, che si tratti di memorizzare contratti digitali (i cosiddetti smart-contracts), cartelle cliniche o addirittura per la creazione di opere d’arte digitali firmate, i cosiddetti NFT o Non Fungible Tokens, di cui vi parleremo in un prossimo video…

Usi della blockchain.

AUTORE: Sacha Dominis

DISEGNI: Fabio Iamartino