
Evoluzione della blockchain
Le applicazioni Blockchain si inseriscono in un mondo in continua evoluzione, una rivoluzione delle tecnologie che stanno modificando le nostre abitudini, lentamente, ma inesorabilmente, così come accadde per il boom di Internet.
Internet ha permesso a chiunque, in qualsiasi parte del mondo, di condividere qualsiasi cosa con altri utenti connessi alla rete stessa. La parola “condivisione” ha così cominciato a conoscere la sua massima espressione ed il suo massimo sviluppo, poiché la rete internet permetteva (ed oggi permette sempre di più) una condivisione a larga scala di documenti, video, informazioni, notizie…
Tutto diventa più veloce, chiunque può accedere ad informazioni di vario tipo, si stanno aprendo nuovi settori lavorativi, lavorare a distanza sta diventando realmente produttivo.
Il valore delle applicazioni blockchain
Manca però qualcosa: con internet, “condividere” vuol dire “duplicare ed inviare” qualsiasi cosa gratuitamente. Quando condividi, non stai condividendo l’originale, bensì stai creando una copia ed invii la copia stessa. Sembra bello, vero? Pensa con me: sei un programmatore software, crei una app per cellulare, la condividi gratuitamente, viene duplicata varie volte senza che tu riesca a tracciare i duplicati e disattivarli: inizialmente potrà essere eccitante, poi però ti renderai conto velocemente che non ci stai guadagnando, devi pur vivere anche tu. Il tuo lavoro ha perso di valore. Non sei riuscito a “Condividere Valore” .
Vale così per un qualsiasi professionista, una Pubblica Amministrazione, un’azienda..
Ed è per questo che assume ancora più importanza la blockchain, non solo a livello teorico ma soprattutto le applicazioni blockchain.
Fino ad oggi sono stati fatti vari tentativi per arginare il problema, come per esempio tramite l’introduzione delle licenze d’uso, o sistemi simili, senza risolvere tangibilmente il problema.
La rivoluzione di oggi sta nella capacità per chiunque di “Trasferire Valore”. Esser capaci, cioè, di proteggere il valore di ciò che abbiamo creato (un documento, un software, una consulenza, un articolo..) e poterlo trasferire a qualcun altro in modo sicuro, tracciabile, persino nel caso di documenti di qualsiasi tipo: contabili, amministrativi, medici…
I precursori
Ecco dove intervengono le applicazioni blockchain. Ecco perché ha seriamente attirato aziende come IBM, Accenture, J.P. Morgan, KPMG, Oracle.. Ecco perché ha attirato persino l’attenzione di Nazioni, tra le quali l’Italia.
È notizia di Febbraio 2019 che l’ordinamento italiano ha approvato il valore legale della Blockchain: la camera dei deputati ha infatti dato il via definitivo al DDL Semplificazioni all’interno del quale è presente proprio il capitolo Blockchain.
Votazioni, controllo della filiera, sport come il calcio, IOT, sistemi interbancari, pagamenti decentralizzati, sistemi assicurativi e potremmo andare ancora avanti.
- Perché la Blockchain sta prendendo posto nella Società così velocemente ed inesorabilmente?
- È solo una moda passeggera o cambierà realmente la vita di tutti noi?
- Sarà una cosa positiva o negativa?
- Sarà realmente utile nella vita di tutti i giorni, semplificandola, oppure la complicherà?
- Mi porterà dei benefici tangibili?
- Come può essere usata la Blockchain da chiunque, cittadini, professionisti, aziende, Stato e così via?
Bene, non ti farò attendere oltre per farti comprendere.
Questione della fiducia.
Satoshi Nakamoto
La Blockchain più famosa ad oggi è quella di Bitcoin, l’avrai sentita nominare, costruita da Satoshi Nakamoto (tutt’oggi non sappiamo con certezza se sia un nome reale dell’inventore o se sia uno pseudonimo creato magari per il gruppo di persone che hanno costruito il Bitcoin).
L’obiettivo
L’obiettivo di base di Satoshi Nakamoto (come poi di tutte le successive Blockchain) era uno: creare un sistema nel quale fosse risolto il problema della fiducia, della paura di concedere la fiducia ad un estraneo per condividere poi con esso un “valore”. Questo perché è proprio attraverso la fiducia che si viene a costruire la moltitudine di rapporti tra individui che costituiranno accordi nel bene di ciascuno.
Chiunque vorrebbe potersi fidare sempre di tutti, trasferendo liberamente valore, senza aver paura del prossimo, senza per forza doversi affidare a sistemi centralizzati, referenziali, con il rischio di non ottenere la giusta importanza rispetto ad altri soggetti che in realtà potrebbero non comportarsi in modo affidabile.
Chiunque preferirebbe non avere il dilemma della fiducia.
La fiducia nella vita reale
La fiducia, infatti, è un problema che abbiamo tutti noi: quando compriamo casa (valore) dobbiamo aver fiducia delle persone alle quali la vendiamo, del notaio che redige l’atto, del professionista che valuta l’immobile.
Quando scegliamo la Banca nella quale accreditare i nostri stipendi o le nostre pensioni (valore), dobbiamo aver fiducia nei dipendenti della Banca, nel direttore di Banca, nei loro sistemi di sicurezza.
Quando finalmente possiamo goderci una vacanza (valore) con la nostra famiglia o i nostri amici, dobbiamo fidarci del tour operator, della compagnia aerea, del taxi che dovremo usare.
Quando siamo a fare la spesa e decidiamo di acquistare qualche buon prodotto alimentare (valore), osservandone le etichette dobbiamo spesso fidarci della provenienza del prodotto, della sua bontà, della sua originalità.
Avrai sicuramente notato che ci affidiamo esclusivamente a sistemi centralizzati, dove il controllo esclusivo è nelle mani di un solo Ente o persona, capaci, anche involontariamente, di danneggiare gli utenti o passibili di falle di sistema sfruttabili da hacker maliziosi, sistemi che riescono con grande fatica a far rispettare le proprie regole a tutti.
Blockchain.

Elementi descrittivi della Blockchain
Ecco perché è stata prima teorizzata, poi costruita la Blockchain e le relative applicazioni blockchain:
- Sicura: poiché è basata su database condivisi, decentralizzati, distribuiti ed altamente criptati.
- Immutabile: poiché garantisce la non modificabilità delle transazioni in essa contenute.
- Trasparente: basata su un sistema di protezioni con chiavi private e pubbliche che garantiscono la privacy dei partecipanti e la tracciabilità delle transazioni; la crittografia ne garantisce la sicurezza, l’hashing ne garantisce l’immutabilità, ma rimane un registro condiviso, aperto a tutti, nel quale tutti possono partecipare e verificare tutto. Esempio: tu potresti vedere che 2 utenti (la quale identità è protetta dalle proprie chiavi) hanno effettuato una transazione.
- Basata sul consenso: è l’elemento che la contraddistingue; tecnicamente consiste nel complesso lavoro che fanno i Minatori (i Miners, coloro che reggono il sistema, rendendolo funzionale), di cui ti parlerò fra qualche riga. Per i più curiosi: “Proof Of Work”, “Proof Of Stake” e così via..
La sicurezza del sistema criptato.

La criptazione in Blockchain
La criptazione è un elemento cardine che tiene ancora più salda la rete Blockchain: la criptazione simmetrica è stata introdotta ben prima della Blockchain, ma viene usata in modalità asimmetrica in essa per creare un sistema a doppia chiave difficilmente risolvibile, ma facilmente verificabile. Non voglio ora fartela troppo complicata, quindi ti farò un esempio.
La Blockchain nella vita reale
Facciamo adesso un esempio di un applicazione blockchain alla vita reale:
“ Irene ed Alessio decidono di scambiarsi un bene: Irene vende la sua auto ad Alessio. Questa è una transazione, ecco cosa accade in Blockchain:
- Irene ed Alessio accedono ad un software come se usassero una app dal cellulare;
- Sia Irene che Alessio hanno (nella app) il proprio indirizzo pubblico (puoi vedere l’indirizzo pubblico come una “localizzazione dell’utente all’interno della Blockchain”: se Irene dovrà inviare qualcosa ad Alessio, saprà esattamente dov’è Alessio nella Blockchain proprio grazie all’indirizzo pubblico di Alessio);
- Irene crea una vera e propria transazione che contiene informazioni tipo:
- l’indirizzo pubblico di Alessio
- Il prezzo dell’auto
- Informazioni di varia natura della sua auto
- Qualche documento che ne provi la sua reale proprietà
- Un “Marcatore Temporale” (detto TimeStamp): niente di complicato, è solamente l’indicazione di data ed orario. Ma è un elemento fondamentale della Blockchain, che garantisce sicurezza, assieme agli altri elementi fondamentali.
- Eventualmente altri elementi che Alessio (acquirente) ed Irene (venditrice) decidono di inserire.
La transazione prende quindi vita attraverso due elementi fondamentali
La transazione prende quindi vita attraverso due elementi fondamentali
- Chiave privata dei partecipanti (niente di esterno al sistema, è una chiave digitale creata dentro il sistema e gestita con esso), usata per firmare digitalmente la transazione, fa sì che ci sia la sicurezza estrema che chi l’ha usata sia esattamente il proprietario. Non verrà condivisa dai rispettivi proprietari, ma verrà custodita privatamente da essi.
- Chiave pubblica dei partecipanti, è l’indirizzo pubblico, quello che occorre per “localizzare” nella Blockchain gli utenti, vedilo come il tuo codice IBAN bancario, che puoi condividere proprio per esser localizzato da chi desideri.
La transazione appena formatasi e conclusasi entra a far parte del cosiddetto blocco, da cui deriva il nome “Blockchain”.
Fin qui tutto chiaro, semplice, agile e sicuro, come avrai avuto modo di leggere, ma andiamo oltre.
Il blocco: legame tra Blockchain, blocco e transazione.

Il blocco
Un blocco è semplicemente il contenitore (digitale) all’interno del quale saranno contenute tutte le transazioni. Vedilo come un caveau di una banca estremamente sicura (altamente crittografato), ma disponibile per tutti, da qualsiasi dispositivo, ovunque nel mondo. Quindi, tutti gli utenti che (come Irene ed Alessio) fanno transazioni che girano su applicazioni blockchain, vedranno le loro transazioni chiuse e messe al sicuro all’interno dei blocchi nella Blockchain.
Grandezza del blocco
Ricordi le regole matematico-scientifiche di cui ti parlavo poco sopra? Bene, una di quelle regole è proprio la dimensione del blocco: ecco quindi che, in un blocco, entreranno un numero limitato di transazioni di un numero limitato di utenti. Probabilmente cominci a capire: finito lo spazio all’interno di quel blocco, esso viene chiuso e messo al sicuro (criptato) e viene aperto un nuovo blocco che conterrà nuove transazioni con nuovi utenti.. ed il ciclo si ripete. Chiunque potrà eseguire qualsiasi numero di transazioni, la blockchain si svilupperà di conseguenza.
Verifica, criptazione e chiusura dei blocchi
Questi blocchi non verranno aperti e chiusi casualmente: un’ulteriore regola è quella che stabilisce i compiti. Il sistema blockchain dà ai minatori (fin da principio) il compito di trovare nuovi blocchi, verificare le transazioni ed inserirle in essi, criptando transazioni e blocchi stessi, chiudendo quindi il nuovo blocco. E così via. Queste sono tutte azioni che i miners compiono in modo totalmente matematico, basato cioè sulle stesse regole valide per tutti e sulla propria potenza di calcolo (computer) che mettono a disposizione per il sistema intero.
Il blocco forma la blockchain che viene poi distribuita
Catena di blocchi: ciascun blocco è obbligatoriamente e matematicamente collegato al precedente così come al successivo. La Blockchain, così formata, è ora condivisa su tutta la rete distribuita del sistema: se 10.000 sono i partecipanti della rete, la blockchain sarà immediatamente distribuita a tutti e 10.000. Più passerà il tempo, maggiore sarà il numero dei partecipanti, maggiore sarà quindi la sicurezza dell’intero sistema: questo perché la distribuzione del sistema su tutti i partecipanti è fatta appositamente affinché un possibile hacker, per danneggiare il sistema, sia costretto ad hackerare tutti i database nello stesso momento. A differenza dei sistemi centralizzati, nei quali l’hacker dovrebbe danneggiare esclusivamente un database.
Ecco cosa abbiamo imparato finora

I “partecipanti”: chi sono?

La forza del database distribuito
La risposta è più semplice di quanto possa sembrare. Ti ricordi cosa abbiamo detto poco sopra? Un elemento fondamentale che differenzia la Blockchain da un sistema centralizzato è il fatto che non esiste un database unico centrale, bensì esistono tanti database uguali quanti sono i partecipanti alla rete Blockchain, elemento che la rende forte. Questi database sono copie autentiche, cioè tutti originali, poiché contengono, tutti, gli stessi dati aggiornati allo stesso momento.
Relazione tra Nodi e Database
Questi partecipanti si chiamano Nodi e possiedono, tutti, il completo database aggiornato all’ultima transazione, all’ultimo blocco aggiunto. Questo perché tutti i database devono essere uguali, per convalidare la blockchain.
Se già era difficile hakerare-danneggiare la blockchain (grazie alla criptazione), ora, con l’aggiunta dell’elemento “distribuzione” lo è quindi ancora di più.
Tipologie di Nodi
Generalmente esistono più tipologie di nodi, in base al lavoro che svolgono, alla tipologia di Blockchain, alla governance scelta (regole di sistema), ma per fartela facile pensa ad una divisione in due macro gruppi: i nodi di sistema ed i nodi operativi. Mentre i primi svolgono principalmente azioni programmate dall’azienda che li ha creati (es. Bitcoin, Ethereum, eccetera), i secondi sono sostanzialmente i Nodi che mettono a disposizione la propria potenza di calcolo per creare e mettere in sicurezza i blocchi e la blockchain: i Miners, minatori.
L’hashing nella Blockchain

Il legame tra blocchi
Nelle applicazioni blockchain un blocco è legato al suo precedente ed al suo successivo tramite un codice di hash: quest’ultimo ha il compito di proteggere il blocco e di identificarlo in modo univoco nell’intera blockchain. Questo vuol dire che non ci potrà essere un blocco con un hash uguale.
Questa funzione di hashing viene esercitata proprio dai Miners (Minatori).
La funzione di hashing
L’hashing è una funzione chiamata “codice di controllo”: paragonabile ad un’impronta digitale. È usato sia per garantire che il blocco sia integro (cioè che non sia stato costruito male, con errori o manomesso), sia per far funzionare la procedura di mining.
Grazie all’hashing, infatti, il minatore cercherà di costruire il blocco in un certo modo.
Dato un input (cioè una serie di dati inseriti) si crea l’hash.
L’hashing in azione
In parole povere: il blocco conterrà delle informazioni (le transazioni) tramite le quali verrà avviata una procedura che genererà il codice di hashing. La procedura è automatica, è come se tu inserissi tutte le informazioni (transazioni) del blocco in un imbuto che le traduce tutte in un codice. Informazioni diverse non possono generare lo stesso codice, anche se cambiassero di una sola virgola.
La sicurezza dell’hashing
Perché questa procedura? Se una qualsiasi informazione interna al blocco (es. una transazione) venisse modificata, il risultato non sarebbe più lo stesso hash. Ecco da cosa deriva l’immutabilità della blockchain: non è modificabile, poiché tutti i miners se ne accorgerebbero e quindi non approverebbero l’operazione. È quindi un ulteriore sistema di sicurezza.
Inoltre: l’hash che viene messo a chiusura di un blocco “possiede” anche l’hash del blocco precedente, quindi è immodificabile anche l’ordine dei blocchi.
Curiosità: l’hash fu creato negli anni ‘90 dalla NSA (National Security Agency), l’ Agenzia per la sicurezza nazionale degli Stati Uniti d’America proprio per la sicurezza dei dati, prima di venire poi applicato nella prima blockchain nel 2008.
La blockchain necessita della gamification per tenere alta la motivazione dei Miners: il Token

Esempi di token
In blockchain il Token è paragonabile ad uno strumento al quale è stato dato una funzione fin dall’origine, proviamo a fare qualche esempio per capire. Pensa a quando eri piccolo ed andavi a giocare con qualsiasi gioco al bar: per giocare dovevi acquistare il gettone (token), che poi inserivi nel gioco ed automaticamente potevi giocare (funzione). Oppure ricordi le vecchie schede telefoniche (token) che si usavano nelle cabine telefoniche? Le usavi per telefonare (funzione).
Il valore del token
Bene, questi Token hanno un valore intrinseco (in base alle regole stabilite dalla governance della rete) ed hanno una funzione pre programmata che può esser riassunta in:
- Acquistare un bene o servizio oppure per remunerare i Miners
- Esercitare un diritto verso controparti (per pagamenti futuri, diritto di proprietà di un asset, diritto di ricevere un pagamento o una determinata prestazione)
- Natura mista, per esempio il diritto di voto.
A differenza della cryptomoneta (il coin) che è usata per effettuare pagamenti come l’Euro nella vita comune, il Token è uno strumento che può avere funzioni pre programmate differenti.
I Miners sono quindi i “Professionisti” della rete Blockchain: è fondamentale che per il lavoro che svolgono vengono remunerati.
Gli Smart Contracts nella Blockchain

Storia degli Smart Contracts
Non tutte le applicazioni Blockchain possiedono gli Smart Contracts. Essi sono un ulteriore applicazione della blockchain, un elemento aggiuntivo, che donano abilità aggiuntive alla blochchain, nuove funzionalità, in base alle regole scelte.
Non è nulla di complicato: furono teorizzati negli anni ’70, applicati già dagli anni ’90 con nomi diversi.
La principale esigenza per la quale furono studiati era che serviva qualcosa che aiutasse i programmatori ad attivare o disattivare licenze software in situazioni specifiche. Come intuirai, la situazione predominante era “far disattivare una licenza allo scadere di un determinato periodo di tempo” o in condizioni pre impostate e quindi automatizzate. Ma, nonostante l’introduzione di questi sistemi, non è stato mai messo un punto alla risoluzione di quel problema, poiché essi venivano utilizzati isolati, non in un contesto Blockchain.
Assenza di intervento umano
Fin dall’inizio è stato l’obiettivo perseguito per lo sviluppo di questi tools. Per raggiungere questo obiettivo era chiaro che sarebbe stato necessario codificare uno strumento che, in base a delle specifiche regole di azione o comportamentali, facesse scaturire delle reazioni (digitali) totalmente oggettive, distaccate dalla volontà umana ed automatiche.
La mano umana nella costruzione
Ecco che diventa fondamentale la precisione dell’intervento umano a priori, nella stesura dello Smart Contract: dalla creazione di una sua governance, alla definizione del campo d’azione, al delineare la tipologia dell’intervento e così via.
Definizione di Smart Contract – Nick Szabo
Il termine vero e proprio “Smart Contract” fu coniato nel 1995 da Nick Szabo (uno dei primi teorizzatori del “sistema a blocchi”, “blockchain”): “Uno smart contract è un protocollo di transazione computerizzato che esegue i termini di un contratto. Gli obiettivi generali sono: soddisfare le condizioni contrattuali comuni (come ad esempio i termini di pagamento, …), ridurre al minimo le contestazioni sia dolose che accidentali, e ridurre al minimo la necessità di intermediari di fiducia. Obiettivi economici correlati includono la riduzione dei danni da frode, degli arbitrati, dei costi giudiziali e degli altri costi di transazione”. (fonte Wikipedia).
Lo Smart Contract in Blockchain
Molto chiaro, vero? Ora inserisci lo smart contract in una Blockchain. Stai immaginando cosa accadrebbe? Qualsiasi tipo di accordo o contratto che sigliamo giornalmente nella vita comune, potrebbe serenamente esser portato in Blockchain e quindi potrebbe esser fatto rispettare automaticamente, senza l’intervento umano, senza perdere tempo e denaro. Qualsiasi “azione” che facciamo o che potremmo fare, potrebbe essere immessa in un sistema automatizzato.
Pensalo applicato nella Pubblica Amministrazione.
Potrebbe semplificare notevolmente tutti i settori di essa, aiutando molto in situazioni come l’invio dei dati, identità digitali, combattendo la criminalità, combattendo l’evasione fiscale, grazie alla facilità di controllo a ritroso.
Pensalo applicato nella Musica.
Al giorno d’oggi la musica è acquistata/condivisa tramite il web. Spesso non avviene in modo legittimo. Spesso non vengono rispettate con facilità regole come quelle del copyright. Spesso, quindi, c’è una enorme mole di denaro persa. Con un sistema Blockchain basato su Smart Contracts, tutto questo verrebbe gestito in modo tangibilmente migliore.
Pensalo applicato nella gestione dell’ Energia Elettrica.
Pensa se tu fossi sia il produttore che il consumatore di energia elettrica. Sicuramente, come tutti noi, ti sarai sempre chiesto il motivo per il quale sei costretto spesso a pagare un costo eccessivo per l’uso della tua corrente elettrica. Ecco: un sistema automatizzato basato su regole ben precise di calcolo dei consumi solamente reali (non presunti), permetterebbe il taglio degli sprechi dal produttore al consumatore. E se, con gli smart contracts, tu potessi essere persino il produttore?
Pensalo applicato nella Sanità
Hai mai pensato a quanto sarebbe più snello poter gestire sia i medici, sia le visite, che i dati dei pazienti in un sistema siffatto? Velocità nell’effettuare le visite e le analisi, nel consultare i referti, la facilità per il medico di base nel reperire le cartelle del suo Paziente che attende una terapia personalizzata.
Pensalo applicato alle Banche ed ai pagamenti digitali.
Abbatterebbe i costi che devono sostenere le Banche per l’uso di obsoleti sistemi gestionali e quindi anche le commissioni che fanno conseguentemente gravare sui clienti
Pensalo applicato in settori altamente tecnologici come l’ Agrifood e l’Industria 4.0.
Tracciabilità, trasparenza, controllo della Supply Chain e della logistica; quindi “certificazione alimentare”, controllo delle materie prime, del packaging. Pensa all’enorme risparmio che avrebbero le aziende, la maggiore sicurezza che avrebbe il consumatore.. grazie alla facilità di controllo a ritroso.
Tutto questo non va certamente letto come un evento catastrofico che cancellerà figure professionali come Notai oppure enti come Banche. Questa rivoluzione porterà enormi semplificazioni e benefici che non faranno altro che snellire e facilitare lavori direttamente coinvolti, come quelli sopra citati.
Riassumendo.
La comunità blockchain usa definire così le 3 strutture centralizzata, decentralizzata e distribuita.

I 3 macrosistemi
Come hai imparato, ad oggi esistono tre tipologie di macro sistemi:
- Centralizzato
- Decentralizzato
- Distribuito DLT
Centralizzato
Si tratta del classico sistema, quello che noti più spesso nella vita comune: è il sistema nel quale il concetto di “fiducia” è dato (tu deleghi la tua fiducia) ad un ente centrale e gestito esclusivamente da esso, nel rapporto “uno a tanti”. È generalmente un’autorità alla quale è riconosciuto il ruolo centrale e quindi anche il relativo potere centralizzato.
Decentralizzato
Assomiglia molto al sistema centralizzato, ma è come se fosse un “centralizzato leggermente delocalizzato”. Come vedi dall’immagine, non c’è solamente un esclusivo punto focale (centrale) dello schema, bensì tanti punti focali, anch’essi gestiti però con lo schema “uno a tanti”. Quindi possiamo affermare che il classico soggetto centrale unico è sostituito da tanti piccoli soggetti centrali unici.
Distribuito
È un sistema all’interno del quale non sono presenti uno o più punti focali. Come vedi, non ci sono uno o tanti enti centralizzati. Qui, l’importanza non è centralizzata, bensì è distribuita. Per meglio dire: la fiducia non è più delegata ad un ente centralizzato, ma è distribuita tra tutti i soggetti che partecipano a tale rete, network.
Ecco perché il materiale lavorato in blockchain si basa sulla condivisione più decentralizzata e distribuita; cosicché tale sistema possa garantire la più alta sicurezza, la più immutabile ed immodificabile esistenza del dato e delle transazioni, ma al tempo stesso la più alta privacy degli utenti che la compongono, in base alle regole scelte nello sviluppo della governance di essa.