Il 17 gennaio a Milano ha avuto luogo l’edizione 2020 dell’Osservatorio Blockchain & Distributed Ledger.
Parlare oggi di blockchain, a più di dieci anni dalla sua nascita, significa parlare di innovazione, di una tecnologia dalle grandi potenzialità e che crea enormi aspettative. Non è più un argomento da meri sviluppatori, chi ne ha compreso il potenziale ha capito anche che potrebbe dare risposte innovative ai tanti e diversi bisogni di imprese, organizzazioni, cittadini e consumatori. Dopo l’Internet of things e l’Internet of people c’è la blockchain come nuova internet: l’Internet del valore. I suoi ambiti non sono però solo finanziari e va sottolineato; essenzialmente quando si sente parlare di Blockchain si sente parlare anche di Bitcoin – la criptovaluta digitale, finendo inevitabilmente per equipararle. Ma non è così, Bitcoin è solo la prima implementazione della tecnologia Blockchain.
Ma come funziona? Il nostro ingegnere Luca Petrosino ha cercato di spiegarcelo!
Per arrivare ad una definizione, procediamo per gradi. Blockchain fonda il suo successo su alcuni concetti chiave: la Distributed Ledger Technology, la crittografia ed il Consenso.
1. DLT

Per Distributed Ledger Technology si intende l’architettura della rete. Blockchain usa un’architettura decentralizzata, non è cioè presente un nodo centrale nella rete o comunque un nodo autoritario nella comunicazione. Si tratta di una rete peer to peer, in cui tutti i nodi della rete sono paritari, non esistono server e client esclusivi perché ogni dispositivo collegato è sia client che server.
Ogni nodo che partecipata alla Blockchain possiede una copia degli stessi dati distribuiti anche presso gli altri nodi.
2. Crittografia
La crittografia usata nella Blockchain prevede l’uso di firme digitali ed hashing (un algoritmo dalla funzione di hash è progettata per essere unidirezionale -one-way-, ovvero una funzione difficile da invertire). Ogni nodo che partecipa alla rete dispone di due chiavi, una pubblica ed una privata. Tutti i messaggi inviati dal nodo all’interno della rete sono codificati con la chiave pubblica. La chiave pubblica è nota anche agli altri nodi della rete, che possono così autenticare il messaggio ricevuto. La chiave privata è invece nota solo all’interessato che si interfaccia al nodo della rete, serve a codificare le informazioni che saranno quindi accessibili solo dal proprietario della chiave. L’hashing permette infine di trasformare un dato in un codice e di verificarne l’integrità. Pensate a un tubo, da un lato inseriamo le informazioni codificate con la transazione da aggiungere e dall’altro, quello in uscita, si raccoglie una stringa che a parità di input resterà comunque immutata (permettendo appunto di verificare l’integrità di quanto inserito).
3. Il Consenso

Il Consenso permette all’interno della rete Blockchain, che abbiamo detto essere una rete peer to peer, e quindi senza un nodo centrale, di concordare e definire fra i nodi della rete le regole per validare le transazioni. La gestione dei dati all’interno della Blockchain è di tipo append-only cioè immutabile, ciò significa che i nuovi dati sono inseriti in fondo alla catena, non è possibile aggiungere o modificare i dati esistenti ed è garantita la persistenza e l’integrità.
Possiamo finalmente dire che la Blockchain è quindi una sorta di registro o lista di blocchi, fra loro referenziati. Ogni blocco contiene un riferimento che lo collega al blocco precedente. L’informazione contenuta nel singolo blocco è immutabile e l’intero registro viene distribuito con tecnologie peer to peer.
É per questo che è ritenuta da tanti una tecnologia molto robusta e sicura.
La modifica ai dati di un blocco da parte di un malintenzionato non può avvenire se prima non si ricalcolano i riferimenti al nodo precedente, e quello precedente al nodo precedente, ripercorrendo l’intera catena e ricalcolando tutti i riferimenti. Inoltre, una modifica alla blockchain introdotta da un nodo richiede il consenso dei nodi della Rete che hanno già una copia distribuita del registro. Un malintenzionato, quindi, per far passare come reale la modifica dovrebbe accedere agli altri nodi della rete e alterare la copia dell’intero registro.
Le transazioni finanziare con Bitcoin hanno rappresentato la prima implementazione di una Blockchain. I nodi che raccolgono le nuove transazioni sono chiamati miner, solo uno di essi sarà tuttavia autorizzato ad aggiungere la transazione e per accaparrarsi il permesso dovrà calcolare più velocemente degli altri una stringa di caratteri. All’aggiunta del blocco tutti i nodi della rete riceveranno una nuova copia della blockchain.
Ma come già detto, l’impiego di una Blockchain non è confinato solo al mondo finanziario. In generale tutto quello che necessita di essere autenticato, consultato e tenuto integro può essere realizzato con una blockchain. Si potrebbe ad esempio realizzare una blockchain per il registro catastale, per quello delle auto oppure per registrare l’autenticità di opere o affermazioni. Riuscite pensare a qualche altro ambito di impiego della blockchain? Fatecelo sapere!

Luca Petrosino
Analista Sviluppatore


