Blockchain: ma si mangia?

Tutti parlano di Blockchain

Oggi giorno tutti parlano di Blockchain, tutti vogliono usare una Blockchain, tutti vogliono investire in Blockchain. Vai al bar e si parla di Blockchain, forse ormai anche dal parrucchiere, ma la questione vera è: che cos’è una Blockchain?

Cari lettori, in maniera semplice cercherò di raccontarvi di che si tratta ripromettendomi di non tediarvi con dettagli troppo tecnici, ma di descrivervi il funzionamento, le applicazioni odierne e le nuove sfide.

Un po’ di storia

Volendo parlare di Blockchain conviene fare un passo indietro partendo dal lontano 2008 in cui un individuo, tale Satoshi Nakamoto, la cui vera identità è ancora oggi sconosciuta, pubblica un white paper intitolato “Bitcoin: A Peer-to-Peer Electronic Cash System” (ne esiste anche una versione in italiano “Bitcoin: un sistema di moneta elettronica peer-to-peer”).

Con il termine Peer-to-Peer, nel campo delle telecomunicazioni, si indica un modello di architettura logica di rete informatica in cui i nodi non sono gerarchizzati unicamente sotto forma di client o server fissi, ma anche sotto forma di nodi equivalenti o ‘paritari’ (peer), potendo fungere al contempo da client e server verso gli altri nodi terminali (host) della rete. In informatica, il client indica una determinata componente hardware o software che accede alle risorse o ai servizi erogati da un’altra componente, detta server.

Il lavoro del Signor Nakamoto, pertanto, aveva come obiettivo quello di proporre una versione puramente peer-to-peer di denaro elettronico che permetteva di spedire direttamente pagamenti online da un’entità ad un’altra senza passare tramite un’istituzione finanziaria. Il costo dell’intermediazione di tale istituzione porta ad un indesiderato aumento dei costi di transazione, ecco perché vi era la necessità di non doverne più usufruire. Inoltre, un sistema di pagamento elettronico basato su prova crittografica anziché sulla fiducia, consentiva a due controparti qualsiasi di negoziare direttamente tra loro ed essendo le transazioni impraticabili da invertire da un punto di vista computazionale, proteggevano i venditori dalle frodi.

Concatenazione dei blocchi tramite hash del blocco precedente.
Che cos’è una Blockchain?

Visti i motivi “storici” della Blockchain proviamo ora ad addentrarci in maniera un po’ più approfondita all’interno del suo funzionamento, ma per far questo abbiamo bisogno di avere chiara la sua definizione.

Innanzitutto, va detto che si tratta di una tecnologia che consiste in un registro distribuito e decentralizzato per la gestione di transazioni condivisibili tra più nodi di una rete. Il termine ‘distribuito’ indica che il nodo centrale è rimpiazzato con più nodi, il termine ‘decentralizzato’ indica che tali nodi non appartengono più ad un’unica entità (come sarebbe nel caso in cui fosse soltanto ‘distribuito’), ma ogni nodo appartiene ad un‘entità diversa. La logica di governance (insieme dei principi, delle regole e delle procedure che riguardano la gestione e il governo di una società, di un’istituzione, di un fenomeno collettivo) è costruita attorno a un nuovo concetto di fiducia tra tutti i soggetti. Nessuno, ma proprio nessuno, ha la possibilità di prevalere e il processo decisionale passa attraverso un rigoroso processo di costruzione del Consenso.

Questo fa sì che ogni partecipante (nodo) di una rete possegga la sua copia del registro e in qualunque momento possa verificare se è stato modificato un dato, da chi, e isolarlo, poiché non coincide con quello originario di cui tutti hanno una copia. Quando c’è necessità di modificare un’informazione, occorre aprire un nuovo blocco e dichiararlo. Non c’è quindi possibilità di corruzione, truffa o furto. Per far chiarezza occorre specificare che la Blockchain è costituita da una serie di blocchi che archiviano un insieme di transazioni validate e correlate da un Marcatore Temporale (Timestamp), una sequenza di caratteri che rappresentano una data e/o un orario per accertare l’effettivo avvenimento di un certo evento.

Ogni blocco include l’hash (una funzione algoritmica informatica non invertibile che trasforma una stringa di lunghezza arbitraria in una stringa di lunghezza predefinita) che identifica il blocco in modo univoco e permette di collegare quello corrente con il blocco precedente: nel nuovo blocco saranno presenti gli hash di entrambi, come si vede nella seguente figura.

Concatenazione dei blocchi tramite hash del blocco precedente.

In figura: Concatenazione dei blocchi tramite hash del blocco precedente.

 

Quando la rete raggiunge il consenso sulla creazione di un nuovo blocco, questo viene aggiunto alla catena senza poter più essere modificato. Da qui ‘Blockchain’: catena di blocchi.

 

In questo modo non ci saranno dubbi su quello che è successo durante il percorso: non ci sono versioni differenti di uno stesso documento, ed ogni modifica è trasparente.

Mini-glossario

 

  • Nodi: sono i partecipanti alla Blockchain e sono costituiti fisicamente dai server di ciascun partecipante.
  • Transazione: è costituita dai dati che rappresentano i valori oggetto di “scambio”. Ognuna necessita di essere verificata, approvata e poi archiviata.
  • Blocco: è rappresentato dal raggruppamento di un insieme di transazioni che sono unite per essere verificate, approvate e poi archiviate dai partecipanti alla Blockchain.
  • Ledger: è il registro pubblico nel quale vengono “annotate” con la massima trasparenza e in modo immutabile tutte le transazioni effettuate in modo ordinato e sequenziale. Il Ledger è costituito dall’insieme dei blocchi che sono tra loro incatenati tramite una funzione di crittografia e grazie all’uso di hash.
  • Hash: è una operazione (Non Invertibile) che permette di trasformare una stringa di testo e/o numerica di lunghezza variabile in una stringa unica ed univoca di lunghezza determinata. L’hash identifica in modo univoco e sicuro ciascun blocco. Un hash non deve permettere di risalire al testo che lo ha generato.
  • Smart Contract: traduzione in codice eseguibile delle clausole di un contratto.
Esempio di funzionamento

Due soggetti devono effettuare una transazione: ad esempio Paolo vende ad Anna un immobile. Nell’esempio di Paolo e Anna, la transazione comprende le informazioni sull’immobile, sul prezzo, sulla disponibilità economica di Anna, sull’effettiva proprietà dell’immobile da parte di Paolo ed eventuali altre informazioni necessarie a completare il quadro di riferimento per la vendita e per l’acquisto.

 

Perché un nuovo blocco di transazioni sia aggiunto alla Blockchain è necessario che sia controllato, validato e crittografato. Solo con questo passaggio può poi diventare attivo ed essere aggiunto alla Blockchain. Per effettuare quest’ultimo è necessario che ogni volta che viene composto un blocco venga risolto un complesso problema matematico che richiede un cospicuo impegno anche in termini di potenza e di capacità elaborativa. Questa operazione viene definita come “Mining” ed è svolta dai “Miner”. Chiunque può diventare un “Miner” e può competere per essere il primo a risolvere il complesso problema matematico.

Tipologie di Blockchain
Vi sono tre tipologie di Blockchain:
  1. pubblica: chiunque può accedere alla pari ed effettuare transazioni una volta    scaricata la blockchain;
  2. appartenente a un consorzio: è formata da un gruppo prestabilito di nodi, a cui può accedere chiunque oppure i soli partecipanti al consorzio, a volte con accesso limitato alle informazioni;
  3. privata: gestita da una sola organizzazione (può essere il caso di un’azienda che la utilizza per tutta la sua attività, di cui tutti i partecipanti sono a conoscenza).

 

Non solo criptovalute: Blockchain 2.0

La  Blockchain Bitcoin esegue una specifica transazione: il cambio di proprietà di un certo quantitativo di Bitcoin. La transazione è espressa in un codice (Smart Contract), che la Blockchain esegue.

Nel 2015, Vitalik Buterin sviluppa Ethereum, una Programmable Blockchain, che permette di definire il tipo di smart contract che si vuole far processare, ampliando in tal modo il potenziale della Blockchain ben oltre il mondo delle criptovalute. Anche il termine transazione va inteso in senso più ampio come qualsiasi tipo di valore scambiato che va dai dati, agli asset, ai soldi.

 

Blockchain 2.0: esempi applicativi che esulano dal mondo finanziario.

In figura: Blockchain 2.0: esempi applicativi che esulano dal mondo finanziario.

Come si evince dalla figura la Blockchain 2.0 è quella che trova la sua applicazione al di fuori del mondo delle criptovalute. Tra le più interessanti ricordiamo:

  • Agroalimentare: permette di conoscere la storia di ogni prodotto, dalla nascita al consumatore finale;
  • Farmaceutica: i medicinali possono essere tracciati e validati ad ogni passaggio della loro distribuzione, evitando contraffazioni e che scadano.
  • IoT (Internet of Things – Internet delle Cose): grazie alla sua facilità di scambio dati, la tecnologia Blockchain potrebbe essere utilizzata per facilitare la comunicazione tra oggetti IoT connessi, oltre a rendere lo scambio di dati più sicuro e veloce.
Nuove sfide

Dalla Blockchain 1.0 che aveva come unico campo applicativo quello della finanza siamo arrivati a parlare della Blockchain 2.0 che estende il portafoglio di applicazioni della stessa.

La nuova frontiera, la Blockchain 3.0, è quella che si prefigge il compito di andare a risolvere i problemi derivanti dall’incremento dell’utilizzo di questa tecnologia:

  • QoS – Quality of Service
  • Scalabilità: con l’aumento del numero di partecipanti di una rete, è impossibile processare una tale mole di transazioni ad una velocità adeguata.
  • Guasti di rete

 

Conclusione

Con la speranza che l’argomento abbia suscitato in voi lettori un minimo di curiosità, vi invito a tenervi informati perché, come ho tentato di preannunciarvi poc’anzi, si tratta di una tecnologia che sta continuando a riscontrare successo e oggi più che mai tutti ci vogliono investire.

Mi permetto, tuttavia, di avanzare due considerazioni: pur essendo una tecnologia innovativa e accattivante, non è detto che sia applicabile ovunque, ci potrebbero essere dei casi in cui risulterà assolutamente inutile, come avere una Ferrari e usarla per andare dal panettiere che è di fronte, sarebbe più rapido e meno inquinante attraversare la strada a piedi! Starà quindi a voi capire con criticità se e quale tipo di Blockchain utilizzare.

La seconda considerazione, dulcis in fundo, è quella di non confondere la certificazione del percorso (quello che effettivamente fa la Blockchain) con la certificazione della qualità (che la Blockchain non è in grado di garantire)!

, ,
Alessandra Rossaro

Ingegnere informatico, curiosa, creativa, ottimista. Amo la fotografia, viaggiare, disegnare e poter incontrare sempre nuove persone con cui poter dialogare ed accrescere i miei orizzonti.