La blockchain è un particolare paradigma per la gestione delle informazioni. Sicuramente è un argomento piuttosto complesso, perché racchiude al suo interno diverse tecnologie, come le transazioni, la crittografia, il protocollo peer-to-peer, le funzioni hash, ecc.

Tenteremo qui di spiegare questo importante concetto, nel modo più semplice possibile, che è poi l’obiettivo dell’intero blog, senza però perdere di rigore.

Partiamo da un semplicissimo esempio. Ho sul mio computer una foto e la voglio inviare a un mio amico. Niente di più semplice, ma notiamo che alla fine dell’operazione ci sono due soggetti che hanno lo stesso dato: io e la mia amico.

Quindi in realtà l’informazione, in questo caso una foto, non è passata dalle mie mani al mio amico, ma è stata solo copiata. Ok, ma dove sta il problema? Immaginiamo per un attimo che invece della foto ci sia un file che rappresenta un valore, come dei soldi virtuali. Se io volessi trasferirli a un’altra persona, non posso semplicemente inviarli, come fosse una foto o un documento, perché continuerei ad averla anche io, pertanto la cosa non funziona per niente. Infatti, quando faccio un bonifico di denaro a una persona, tale quantità di denaro indicata viene accreditata sul conto del destinatario, ma viene anche contemporaneamente sottratta dal mio conto.

Qui entra in gioco la blockchain che, in sostanza, permette lo scambio di informazioni garantendo e certificando la transazione. Nell’es­empio dello scambio di valuta elettronica, assicura che il valore posseduto da me, si sposti ad un altro soggetto. La più famosa valuta elettronica è il bitcoin (sono chiamate criptovalute), ma ce ne sono molte altre centinaia. Tuttavia la blockchain non è usata solo per lo scambio di moneta digitale, ma anche per certificare i documenti, lo vedremo dopo.


Come funziona la blockchain?

Partiamo dal nome, in italiano blockchain vuol dire catena di blocchi e questo rende molto bene l’idea che sta alla base. Consideriamo per il momento lo scambio di moneta elettronica. Ogni blocco rappresenta una transazione, cioè uno scambio di moneta fra due soggetti. Ciascun blocco è unito al precedente in modo cronologico, come, appunto, una lunga catena.

Il legame fra ciascun blocco (transazione) e quello precedente viene stabilito da una specie di codice, calcolato mediante una funzione hash. Una funzione hash è, detto in due parole, un’operazione matematica che, data una informazione in input, calcola un certo output. Questo output dipende fortemente dall’ingresso e anche una piccola modifica dell’ingresso (un solo bit ad esempio) genera un output completamente differente. In questo modo è impossibile modificare i blocchi, perché questo implicherebbe modificare anche il codice hash e quindi la falsificazione sarebbe evidente.

Ti invito, se non l’hai già fatto, a vedere l’articolo del blog che parla delle funzioni di hash.

Tornando a quanto dicevamo, si ha che ogni nuovo blocco transazionale, vien ‘legato’ al precedente mediante un’operazione matematica detta hash. Questo puntatore al blocco precedente è calcolato a partire dal contenuto stesso del blocco. Tale contenuto non può essere alterato, altrimenti si romperebbe la catena.

Questa catena serve per memorizzare tutte le transazioni al mondo. Potresti avere a questo punto una serie di domande. Andiamo con ordine.

Prima domanda: “Se volessi frodare potrei sempre andare sul computer che ha la blockchain, modificare le informazioni dei blocchi e ricalcolare l’hash”. Se così fosse non funzionerebbe più niente, ma questo è impossibile, grazie a una caratteristica fondamentale del sistema. La blockchain non risiede su un unico ‘ospite’, ma è decentralizzata. In altri termini non esiste un unico computer centrale che la memorizza, ma è distribuita su tanti computer sparsi in giro per il mondo. Questi sono chiamati miner. Quando c’è una transazione tutti i miner devono validarla e lo fanno mediante delle complesse funzioni matematiche. Questa operazione può durare anche dei minuti.


Seconda domanda: “Che garanzia di privacy abbiamo?”. È vero che tutti i blocchi della catena sono di pubblico dominio, quindi visionabili da chiunque, tuttavia non sono memorizzate le informazioni personali dei soggetti, come nome e cognome, ma al loro posto c’è solo un codice identificativo, totalmente inservibile per chi volesse risalire alla reale identità del soggetto.

Terza domanda: “Che succede se qualcuno annulla un pagamento elettronico?”. Questo non è possibile, perché ciascun trasferimento è una transazione e per sua stessa natura una transazione, una volta terminata, non può essere più annullata. L’unico modo dovrebbe essere la cancellazione di un blocco della catena da tutti i miner esistenti, ma questo è in pratica impossibile.

Pertanto possiamo affermare che la blockchain ha delle caratteristiche intrinseche in termini di sicurezza, affidabilità robustezza e trasparenza.

La dimensione della blockchain è destinata ad aumentare nel tempo, ma il suo contenuto, una volta scritto, non è più modificabile o eliminabile, pena invalidare l’intera struttura.


Come funzionano i miner?

I miner sono dei nodi che conservano una copia sempre aggiornata della blockchain, che, come dicevamo, non risiede ufficialmente in modo centrale su un singolo calcolatore. Tutti miner sono uguali fra loro, in termini di credibilità. Una rete di nodi tutti allo stesso livello, come in questo caso, è detta peer-to-peer, cioè rete di pari.

Il compito dei nodi miner è validare le nuove transazioni, aggiungerle al blocco precedente e trasmettere quest’ultimo agli altri nodi miner della rete. I nodi miner richiedono delle caratteristiche, in termini di risorse computazionali, molto importanti, come sono così importanti anche i consumi di elettricità. Pertanto i miner vengono ricompensati con dei bitcoin ogni volta che portano a termine il loro lavoro di validazione.


Che altre applicazioni ha la blockchain?

Sebbene ad oggi il principale campo di applicazione della blockchain sia il mondo delle criptovalute, come il bitcoin, le sue potenzialità la portano ad essere un’ottima soluzione anche in altri campi. Ad esempio la certificazione e ufficializzazione dei documenti in ambienti pubblici come il catasto o il registro automobilistico o più semplicemente la protezione di idee.

Il sistema blockchain non è solo un insieme di tecnologie informatiche, ma assume anche una nuova forma di rapporto sociale e politico, poiché permette di passare dal classico concetto di informazione centralizzata al concetto di informazione distribuita, garantendo a chiunque di verificare e controllare in totale trasparenza le informazioni scambiate, che hanno la caratteristica di essere immodificabili e immuni da corruzione.