Quando si cerca una
definizione di Blockchain la descrizione più comune è quella che definisce la
Blockchain come un Registro (Libro
mastro - ledger) Distribuito Decentralizzato.
Per comprendere
realmente cosa sia la Blockchain è necessario analizzare singolarmente queste 3
parole.
Decentralizzato: nella rete che compone la Blockchain tutti i servizi che vengono
distribuiti e messi a disposizione degli utenti del network non fanno
riferimento ad un server centrale.
Di fatto non esiste
nessun nodo che appartiene alla rete che possiede il controllo assoluto della
Blockchain. Di conseguenza non esiste il problema del single-point-of-failure
(SPoF), in cui in un sistema c’è un punto debole, come in un sistema
Client-Server. In questo caso, se il punto debole dovesse staccarsi tutto il
sistema o il server che eroga il servizio va down rendendo tutto il sistema non
più utilizzabile. Invece, in un sistema distribuito questo problema è ovviato
dal fatto che se un punto non funziona c'è un altro che lo sostituisce,
evitando di bloccare tutto il sistema.
Ad esempio, il
server dell'INPS in Italia, in occasione delle richieste di previdenza sociale
dovute all'emergenza del COVID-19, è stato sovraccaricato di richieste non è
riuscito più a gestire il servizio.
Distribuito: Tutti in nodi (computers) della rete che
compone la blockchain sono collegati tra di loro. La relazione che intercorre
tra i nodi è molti a molti (many-to-many) e non uno a molti (one-to-many) o uno
a uno (one-to-one). Infatti la Blockchain consiste
in un registro strutturato come una catena di blocchi contenenti le transazioni
e la cui validazione è affidata a un meccanismo
di consenso, distribuito su tutti i nodi della rete nel caso delle blockchain permissionless o pubbliche o
su tutti i nodi i nodi che sono autorizzati a partecipare al processo di
validazione delle transazioni da includere nel registro nel caso delle blockchain permissioned o private.
Registro: La blockchain è come un libro contabile
(ledger) che contiene tutte le transazioni effettuate dai
partecipanti della sua rete. Quindi si tratta di un Registro pubblico per la gestione di dati correlati alle transazioni
presenti nei blocchi e gestite tramite crittografia dai partecipanti alla rete
che verificano, approvano e successivamente registrano tutti i blocchi con
tutti i dati di ciascuna transazione su tutti i nodi.
La prima applicazione della blockchain è stata la moneta digitale
Bitcoin. Nella blockchain Bitcoin vengono registrate tutte le transazioni, trasferimenti di valori tra portafogli Bitcoin confermati. In questo modo, i portafogli Bitcoin possono calcolare il loro bilancio disponibile e nuove transazioni possono essere verificate, controllando che chi spende abbia sufficiente disponibilità. L'integrità e l'ordine cronologico della blockchain sono protetti attraverso l'uso della
crittografia. Questa è stata considerata la Blockchain 1.0.
Nel 2015, dall’idea di Vitalik Buterin, diventa pubblico e accessibile a tutti Ethereum, una piattaforma che ha portato la tecnologia delle blockchain a più alti livelli si è passati alla Blockchain 2.0. Su Ethereum le transazioni vengono registrate come la blockchain Bitcoin, in più è possibile registrare sulla blockchain anche gli Smart Contract, che sono dei codici di programmazione che eseguono determinate azioni sulle basi di clausole concordate tra le parti che decidono di creare un contratto. Uno Smart Contract permette di automatizzare quei meccanismi che nei contratti tradizionali sono sempre soggetti ad una sorta di controlli.
La struttura blockchain
La blockchain è una successione ordinata di blocchi in cui ciascuno è legato al precedente ed al successivo
Ogni singolo blocco contiene un certo numero predefinito di transazioni. Appena viene raggiunto il limite massimo di transazioni, il blocco viene chiuso e si crea quello successivo.
Non esiste un punto debole della catena perchè la blockchain viene replicata ed aggiornata in tempo reale su tutti i nodi (computers) che compongono la rete. Se un nodo crolla tutti gli altri mantengono integrità della catena.
Nessun nodo può cambiare lo stato della blockchain senza autorizzazione dell’intera rete. Esistono dei protocolli di consenso che impediscono ai singoli nodi di alterare il contenuto della blockchain.
Unico modo di cambiare lo stato di una blockchain è un operazione di inserimento, infatti non sono consentite ne modifiche ne cancellazioni di transazioni, tale operazione deve avere il consenso da tutti i nodi.
Le proprietà della blockchain
Fiducia. La blockchain è finalizzata a mantenere la fiducia tra i nodi. Le applicazioni delle blockchain sono decentralizzate su tutti i nodi ed anche il Ledger (registro delle transazioni) che non può essere alterato ed è quindi protetto da tentativi di frode. Questo garantisce la fiducia della blockchain.
Autonomia. Nessuno dei nodi è proprietario della blockchain ma tutti partecipano in misura uguale al suo funzionamento ed alla sua gestione.
Nessun intermediario. La blockchain elimina la necessità di un garante intermedio che faccia da tramite tra le parti impegnate in una transazione (Banca, Governo, Istituto assicurativo, ecc). Questo si nota maggiormenti in Ethereum dove sono presenti oltre alle transazioni anche gli Smart Contract.
TRASPARENZA E VERIFICABILITÀ Il contenuto del registro è trasparente e visibile a tutti ed è facilmente consultabile e verificabile, garantendo così trasparenza nelle operazioni.