• Non ci sono risultati.

Che cosa è la Blockchain?

Capitolo 3 – BLOCKCHAIN

3.2 Che cosa è la Blockchain?

Lo scopo primario della Blockchain è quello di certificare la cronologia relativa all’ordine di alcuni messaggi. Grazie a questa potenzialità, permette non solo di trasmettere messaggi tra le parti, ma di passarsi messaggi firmati ed essere d’accordo sull’ordine dei messaggi. In questo modo può veicolare valore e non solo informazioni.

Il valore è un qualcosa di scarso, al contrario delle informazioni; è sulla base di questa scarsità che è possibile costituire dei contratti, degli scambi, un mercato, ecc. Questa funzione non esiste nel mondo del digitale prima di Blockchain, che è proprio quell’invenzione che mancava per portare la “scarsità”, propria del mondo fisico, all’interno del mondo digitale. È importante per togliere monopoli o inefficienze. Con Blockchain abbiamo un “internet del valore” che è incensurabile, immodificabile ed incontrollabile.

Generalmente quando si parla di Blockchain si parte dal Bitcoin, in quanto è stata la prima implementazione dell’infrastruttura che sta alla base del protocollo. Il Bitcoin

75

ha avuto il grande merito di rendere famosa la Blockchain e di creare quindi interesse intorno ad essa.

Alcuni sostengono che i bitcoin siano stati creati solo come grande mossa di marketing per far conoscere la Blockchain al mondo. Satoshi Nakamoto era cosciente di avere tra le mani un qualcosa di rivoluzionario, che avrebbe potuto realmente funzionare e che avrebbe potuto cambiare la vita di tutti. Quale modo migliore avrebbe potuto trovare per diffonderlo in modo virale tra gli esseri umani, se non attraverso il denaro? Tutti gli uomini sono avidi e la possibilità di guadagnare è decisamente allettante. Se l’intenzione di Nakamoto era questa, sicuramente ha funzionato!

Prima di tutto è necessario individuare gli aspetti principali che caratterizzano la Blockchain, ossia:

1) È sicura, in quanto è un database condiviso, decentralizzato, distribuito e criptato, con delle puntuali regole in merito alla sicurezza;

2) È basata sul consenso, dato che si tratta di un archivio aperto a tutti i partecipanti e che può essere aggiornato solo ed esclusivamente con il consenso di tutti gli utenti che vi prendono parte;

3) È immutabile, cioè è un database in grado di garantire in modo assoluto l’immutabilità e, di conseguenza, l’incorruttibilità di tutte le informazioni; 4) È trasparente, in quanto tutti i partecipanti possono venire a conoscenza di

ogni informazione in qualsiasi momento.

La Blockchain, contrariamente a quel che si pensa, non è una nuova tecnologia, ma è un nuovo paradigma. Da qui deriva il fatto di essere assoggettata a diverse

76

interpretazioni. In base alla prospettiva di utilizzo da parte ciascun utente, prendono vita anche le molteplici definizioni.

La prima nozione da sviluppare è quella di Distributed Ledger Technology, che fondamentalmente è un concetto architetturale, in quanto con la Blockchain si passa da un’architettura centralizzata (centralized Ledger) ad un’architettura peer-to-peer, ossia distribuita (distributed Ledger). Per arrivare alla realizzazione di una struttura di questo tipo, si passa anche attraverso un’architettura decentralizzata (Decentralized Ledger).

Figura 2 – Differenza tra i vari modelli di Ledger24

Quali sono le differenze? La struttura Centralized Ledger è caratterizzata da un rapporto Uno-a-tanti strettamente centralizzato, in cui la fiducia è nell’autorità, che si pone come “centro” dell’organizzazione. L’architettura Decentralized Ledger propone ancora la logica della centralizzazione, sempre con la forma Uno-a-tanti, ma non esiste più un grande soggetto centrale che regola tutto, bensì tanti soggetti centrali, nei quali viene riversata la fiducia di molti.

77

L’evoluzione dei due concetti di cui sopra ed il vero cambiamento prende vita con la realizzazione del Distribuited Ledger, ossia l’architettura alla base della Blockchain. Questa è una logica completamente distribuita, con la quale si può fare a meno di qualsiasi “centro” e si erge intorno ad un nuovo concetto di fiducia tra tutti i soggetti, per cui nessun utente può prevalere sugli altri. Ogni partecipante dispone di una copia degli stessi dati, che sono quindi distribuiti su database diversi.

Esistono due tipi di Distributed Ledger Technology:

1) Le reti pubbliche, dette anche “permissionless”, che garantiscono a tutti i partecipanti una totale trasparenza dei dati presenti sul network. Esempi in questo senso sono Bitcoin o Ethereum;

2) Le reti privati o reti in cui i partecipanti hanno diversi livelli di visibilità sui dati, che sono dette “permissioned”; in questo caso per entrare a far parte del network può essere richiesta una forma di autorizzazione oppure si avrà un accesso limitato ad alcuni dei dati presenti sul network.

Il secondo concetto da ampliare è quello di utilizzo della Blockchain come database per transazioni crittografate. Alla base della crittografia impiegata dalla Blockchain stanno due tecniche (che in realtà sono note in quanto usate da molti dei sistemi attuali): la firma digitale e l’hashing. La firma digitale utilizza un sistema a chiave pubblica per codificare e certificare i messaggi inviati e per identificare i partecipanti, come già specificato nel capitolo precedente. L’hashing sta alla base del funzionamento della Blockchain e della sua sicurezza; possiamo vederlo come un “codificatore”, che codifica quindi qualsiasi dato in input, in un messaggio in codice. L’hasing è importante sia perché il messaggio in codice resterà sempre uguale tutte le

78

volte che gli passeremo lo stesso dato in input, sia perché possiamo passargli qualsiasi dato in input, indipendentemente dalla sua grandezza o complessità.

Un ulteriore concetto fondamentale è quello del consenso, che permette di definire la Blockchain come un registro pubblico aperto a tutti. Il consenso è un meccanismo automatico che definisce una conoscenza comune dei processi tra i partecipanti della stessa rete; quindi tutti gli utenti devono rispettare le stesse regole sul controllo e sul funzionamento del network. Dobbiamo ricordarci che stiamo parlando di una rete peer-to-peer, in cui, per definizione, non esiste alcun nodo che esercita il controllo sugli altri. Sono state create diverse tipologie di algoritmi del consenso, tra cui la più famosa è la proof-of-work, che viene utilizzata da Bitcoin, ma anche dalla prima versione di Ethereum. I partecipanti in questo caso, come abbiamo già ampiamente visto in precedenza, sono i miners.

L’ultimo concetto chiave da analizzare è la gestione dei dati, da cui deriva la definizione di Blockchain come database di transazioni. I dati vengono gestiti attraverso una catena di blocchi condivisa ed ogni blocco, quindi, contiene dei dati al suo interno. Nel caso del Bitcoin, all’interno di ciascun blocco vengono registrate le transazioni, mentre Ethereum permette di salvare smart contracts.

Oltre ai dati, i blocchi contengono anche altri paramentri, tra cui il più importante è sicuramente il timestamp della transazione e poi il riferimento al blocco precedente. Dal momento che tutte le informazioni sono state inserite, il blocco deve essere chiuso e quindi certificato.

Come si fa a certificare un blocco? Una volta che questo contiene tutte le informazioni necessarie, viene passato in input ad un algoritmo di hashing e genererà così il suo messaggio in codice, che verrà fissato come parametro sempre all’interno

79

dello stesso blocco. Quando è stato certificato, qualsiasi modifica si voglia applicare alle informazioni interne o ai parametri renderà invalido il blocco. Volendo creare un blocco successivo sarà importante includere, oltre alle informazioni ed i parametri già esaminati, anche il codice del blocco precedente. Ciò avverrà nello stesso modo per tutti quelli che verranno creati dopo, in quanto l’intento della Blockchain è proprio quello di collegare tra loro tutti i blocchi, per far sì che l’intento di modificare un’informazione contenuta in un blocco non solo invaliderà quello, ma l’intera catena.

Figura 3 – Come sono strutturati i blocchi

Tutto ciò porta a definire la Blockchain come un Database append only, cioè si possono solo aggiungere blocchi successivi, ma è praticamente impossibile modificarli. La Blockchain quindi può essere definita come un libro mastro, sicuro ed immutabile nel tempo, che è posseduto da tutti gli utenti della rete.

80

3.2.1 51% attack

Abbiamo visto che la Blockchain, facendo riferimento a quella di Bitcoin, praticamente è inattaccabile. Tutti abbiamo accesso alle informazioni contenute nella catena di blocchi, cioè chiunque può verificare che una transazione sia avvenuta o che un atto di proprietà sia stato stipulato, ma nessuno può cancellare quell’informazione. Volendo modificare o cancellare un dato contenuto in un blocco, innanzitutto dovremmo aprire tutti i blocchi fino a quello che ci è necessario, poi dovremmo manipolare l’informazione ed infine richiudere tutti i blocchi.

Anche se qualcuno fosse così bravo da riuscire in questa impresa, il risultato sarebbe quello di avere solo il suo registro modificato e quindi la Blockchain degli altri nodi dell’intera rete avrebbe comunque l’informazione di partenza, cioè quella veritiera. La catena di blocchi del presunto hacker risulterebbe in questo modo l’unica danneggiata. Chi prova a manipolare le informazioni viene estromesso dal sistema, perché il sistema sa per certo che il 99,99% dei registri pubblici copiati su tutti gli altri computer avevano un’altra informazione.

Esiste un solo modo per hackerare la Blockchain, cioè per rubare i bitcoin oppure per modificare/eliminare le informazioni contenute nei blocchi, ossia il 51% attack. Vediamo di seguito in cosa consiste.

Diciamo subito che il 51% attack è un attacco teorico, quindi non è ancora successo e non è detto che succederà, ma è un qualcosa che su carta si potrebbe verificare. Consiste sostanzialmente nel riuscire ad hackerare contemporaneamente il 51% di tutti i registri presenti sui computer degli utenti della rete.

Per attuarlo sarebbe necessaria una potenza computazionale ed un impiego economico che ad oggi la nostra civiltà non è in grado di sostenere. Per questo

81

possiamo dire con certezza che, con la tecnologia di cui disponiamo attualmente, un attacco alla Blockchain è impossibile da effettuare.

Sicuramente è da puntualizzare che tutto il discorso fatto sopra è riferito alle Blockchain decentralizzate, infatti quelle centralizzate (o private) possono essere hackerate, dal momento che qualsiasi strumento o piattaforma informatica in teoria può esserlo. La blockchain meno è decentralizzata e più è attaccabile. Nel capitolo successivo vedremo la differenza la permissionless blockchain (o blockchain privata) e la permissioned blockchain (o blockchain pubblica).

Documenti correlati