Blockchain

Cos'è la Blockchain?
Non lasciarti spaventare dalle conversazioni tecniche con cui molti descrivono la "blockchain."
Una blockchain è semplicemente un database neanche particolarmente sofisticato: potresti crearlo usando un foglio di calcolo con il minimo sforzo.
Cos’è la blockchain: una definizione
E’ difficile classificare la blockchain in una unica definizione. la blockchain può essere letta e presentata da diversi punti di osservazione e da diverse prospettive. In questo testo ne vedremo diverse. Questa che segue è una prima definizione che attiene alla famiglia tecnologia nella quale si colloca questa tecnologia.
La blockchain è una sottofamiglia di tecnologie in cui il 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.
Le principali caratteristiche delle tecnologie blockchain sono l’immutabilità del registro, la trasparenza, tracciabilità delle transazioni e la sicurezza basata su tecniche crittografiche.
la blockchain è basata su una Rete e dal punto di vista delle funzionalità permette di gestire un database in modo distribuito. dal punto di vista operativo è una alternativa agli archivi centralizzati e permette di gestire l’aggiornamento dei dati con la collaborazione dei partecipanti alla Rete e con la possibilità di avere dati condivisi, accessibili, distribuiti presso tutti i partecipanti. Di fatto, giova ripeterlo, permette una gestione dei dati in termini di verifica e di autorizzazione senza che sia necessaria una autorità centrale.
Nel cercare di comprendere cos’è la blockchain ci affideremo in molto casi alle definizioni che vengono proposte, cercando di qualificarle. Per alcuni, la blockchain è la nuova generazione di Internet, o meglio ancora è la Nuova Internet. Si ritiene che possa rappresentare una sorta di Internet delle Transazioni. Queste definizioni tendono ad affiancare la blockchain alla Internet of People, o Internet delle persone che usiamo e frequentiamo ogni giorno che si è a sua volta estesa alla Internet of Things o Internet delle cose per arrivare a creare e rappresentare la Internet del
Valore sulla base di sette caratteristiche:
-
Decentralizzazione
-
Trasparenza
-
Sicurezza
-
Immutabilità
-
Consenso
-
Responsabilità
-
Programmabilità
Partendo da questi principi, la blockchain è diventata la declinazione in digitale di un nuovo concetto di fiducia al punto che alcuni ritengono che la blockchain possa assumere anche un valore per certi aspetti di tipo “sociale e politico”. In questo caso la blockchain è da vedere come una piattaforma che consente lo sviluppo e la concretizzazione di una nuova forma di rapporto sociale, che grazie alla partecipazione di tutti è in grado di garantire a tutti la possibilità di verificare, di “controllare”, di disporre di una totale trasparenza sugli atti e sulle decisioni, che vengono registrati in archivi che hanno caratteristica di essere inalterabili, immodificabili e dunque immuni da corruzione.
Per un certo periodo la blockchain è stata identificata con la Blockchain Bitcoin, ovvero con la prima Blockchain (che come abbiamo già accennato viene identificata con la “B” maiuscola). A questa identificazione si è sovrapposta anche quella con la criptocurrency bitcoin e ha portato un po’ a “confondere” la blockchain con altri ambiti di innovazione come le digital currency. Forse per quest’ultima ragione la blockchain è stata spesso associata ad un concetto di digital currency alternativa o complementare e di digital payment. In realtà, come vedremo, la blockchain è un fenomeno assai più ampio e articolato.
A cosa serve la blockchain: creare Asset Digitali Unici
La blockchain rappresenta (anche) una soluzione per creare asset digitali unici. Per capire le opportunità della blockchain è importante considerare il tema dell’unicità degli asset digitali. Un tema questo che vedremo anche più avanti quando affronteremo il “double spending“, ma che può già qui aiutarci a comprendere il senso e l’importanza della blockchain. Ma partiamo da un esempio comune. Se noi scriviamo un testo su un documento word quel testo è sul nostro computer ed è univoco. Nel momento in cui lo inviamo a un collega, quello stesso testo oltre che sul nostro computer sarà presente su un server di posta e sul computer del nostro collega. Già così abbiamo una serie di duplicazioni dello stesso documento. Quel testo poi potrà naturalmente essere condiviso a sua volta e inviato ad altri soggetti che ne avranno a loro volta una copia. Come ben sappiamo non ci sono limiti a questa duplicazione e come ben sappiamo quello stesso documento può essere modificato e cambiato. Il nostro documento word è un asset digitale e come appare evidente non è certo unico: è “partito” dal nostro computer e magari in pochissimo tempo si è moltiplicato in migliaia di copie. Quello stesso asset crittografato in un ledger blockchain potrebbe diventare un asset unico. Esattamente come nel mondo fisico: se passiamo lo stesso documento scritto in word stampato su carta a un collega ne perdiamo il possesso, quel documento esce dal nostro controllo per entrare nel dominio di un collega. In altre parole: se nel mondo digitale il passaggio implica automaticamente una duplicazione, la blockchain consente di “riconquistare” al mondo digitale il concetto di scarsità dei beni del mondo reale e nel momento in cui tramite la blockchain si passa un asset digitale (il nostro documento) dal nostro computer a un collega, quel documento non è più in alcun modo sotto il nostro possesso ed è totalmente in capo al nostro collega. Se anche lui avrà la necessità di condividerlo ne perderà il possesso in favore di un altro soggetto. Il documento resterà unico e non sarà possibile duplicarlo. Una delle caratteristiche della blockchain, che ci accompagnerà in questo nostro servizio, è nella sua capacità di creare asset digitali unici.
L’importanza degli Asset Digitali Unici
Per capire l’importanza degli asset digitali unici usciamo dal nostro esempio legato a un generico documento word la cui eventuale duplicazione non comporta particolari problemi. Al contrario, se pensiamo alla duplicazione di asset che rappresentano un valore, appare evidente che la garanzia dell’unicità rappresenta un assoluto valore. Duplicare un asset progettato per rappresentare una valuta in digitale significa sminuire questo valore sino ad annullarlo. Ecco perché il mondo della finanza prima di tutto ha compreso il valore della blockchain nella sua capacità di garantire l’unicità di un asset digitale. Lo stesso valore è ben compreso da tantissimi altri settori che stanno rappresentando in digitale prodotti e servizi e che hanno a loro volta capito che il digitale permette di gestire in modo molto più efficiente scambi e transazioni solo ed esclusivamente se si garantisce la capacità di evitare duplicazioni, ovvero solo se si garantire l’unicità dell’asset. Esattamente come accade nel mondo reale.
Blockchain e Distributed Ledger Technology
Prima di proseguire occorre fermarsi ancora un attimo per qualificare il rapporto tra blockchain e Distributed Ledger (archivi distribuiti). Una distinzione che accompagnerà questo servizio e che aiuterà a comprendere alcune caratteristiche specifiche della (o delle) blockchain. La blockchain può essere considerata una tecnologia che appartiene alla categoria delle tecnologie Distributed Ledger, archivi distribuiti. Le Distributed Ledger Technology o DLT possono essere definite come un insieme di sistemi caratterizzati dal fatto di fare riferimento a un registro distribuito, governato in modo da consentire l’accesso e la possibilità di effettuare modifiche da parte di più nodi di una rete.
Qualunque transazione, ovvero i dati che la rappresentano, è sottoposta ad un meccanismo di firma a doppia chiave asimmetrica che, pur non dotata di certificati rilasciati da certificatori accreditati (la blockchain prevede appunto il superamento di organismi certificatori centralizzati), funziona con un meccanismo simile a quello della firma digitale. Le DLT prevedono l’utilizzo di algoritmi crittografici che abilitano l’utente all’utilizzo del sistema mettendogli a disposizione una chiave pubblica ed una privata che viene usata per sottoscrivere le transazioni o per attivare gli smart contract o altri servizi collegati alla blockchain.
Dunque, registro – distribuito – ovvero senza un “sistema o organizzazione” centrale di validazione. Le DLT prevedono pertanto un meccanismo di validazione a sua volta distribuito basato sul concetto di Consenso, vale a dire su meccanismi che governano anche questo tipo di partecipazione dei nodi. Le modalità di gestione del consenso unitamente alle logiche di impostazione del registro rappresentano due fra i principali punti qualificanti della carta d’identità delle tecnologie Distributed ledger. Ed è all’interno di questo insieme che trovano la loro collocazione le blockchain.
Nella fattispecie, si può dire che le blockchain sono delle Distributed Ledger technology caratterizzate da un registrato impostato e strutturato in modo da gestire le transazioni all’interno di una Catena di Blocchi. Dal punto di vista delle “regole di gestione”, ciascun blocco si “aggiunge” alla catena sulla base di un processo basato sul Consenso distribuito su tutti i nodi della rete, ovvero con la partecipazione di tutti i nodi che vengono chiamati a contribuire alla validazione delle transazioni presenti in ciascun blocco (come vedremo successivamente) e alla loro “inclusione” nel registro.
Le definizioni di blockchain
Come evidente, la blockchain si presta ad essere interpretata. Più che una tecnologia è un paradigma, un modo di interpretare il grande tema della decentralizzazione e della partecipazione. Per questo come naturale esistono diverse declinazioni, diverse interpretazioni e diverse definizioni della blockchain. Una rassegna di definizioni può essere utile per capire come viene vissuta e interpretata la blockchain in funzione della prospettiva di utilizzo. Ciascuna definizione, come vedremo, pone in evidenza uno o più aspetti salienti della blockchain.
Blockchain come database di transazioni
La blockchain è una tecnologia che permette la creazione e gestione di un grande database distribuito per la gestione di transazioni condivisibili tra più nodi di una rete. Si tratta di un database strutturato in Blocchi (contenenti più transazioni) che sono tra loro collegati in rete in modo che ogni transazione avviata sulla rete debba essere validata dalla rete stessa nell'”analisi” di ciascun singolo blocco. La blockchain risulta così costituita da una catena di blocchi che contengono più transazioni ciascuno. La soluzione per tutte le transazioni è affidata ai Nodi che sono chiamati a vedere, controllare e approvare tutte le transazioni creando una rete che condivide su ciascun nodo l’archivio di tutta la blockchain e dunque di tutti i blocchi con tutte le transazioni. Ciascun blocco è per l’appunto anche un archivio per tutte le transazioni e per tutto lo storico di ciascuna transazione che, possono essere modificate solo con l’approvazione dei nodi della rete. Le transazioni possono essere considerate immodificabili (se non attraverso la riproposizione e la “ri”-autorizzazione delle stesse da parte di tutta la rete). Da qui il concetto di immutabilità.
Blockchain come evoluzione del concetto Ledger (Libro Mastro)
La blockchain è la realizzazione del Distributed Ledger, come evoluzione dal Centralized Ledger, Decentralized Ledger sino al Distributed Ledger.
Centralized Ledger
La logica centralizzata è rappresentata dal tradizionale Centralized Ledger con un rapporto rigorosamente centralizzato Uno-A-Tanti, dove tutto deve essere gestito facendo riferimento ad una struttura, autorità o sistema centralizzato.
Nel Centralized Ledger la fiducia è nell’autorità, nell’autorevolezza del soggetto o sistema che rappresenta il “Centro” dell’organizzazione.
Decentralized Ledger
Il Decentralized Ledger ripropone la logica della centralizzazione a livello “locale” con “satelliti” organizzati a loro volta nella forma di Uno-A-Tanti che si relazionano a loro volta in una forma che ripete il modello Uno-A-Tanti. Non c’è più un “grande” soggetto Centrale bensì tanti “soggetti centrali”. La fiducia anche in questo caso è delegata ad un soggetto centrale, logicamente più vicino, ma comunque centralizzato.
Le organizzazioni basate su Decentralized Ledger definiscono una Governance che stabilisce delle forme di coordinamento di tipo centralizzato.
Distributed Ledger
Il vero cambiamento è rappresentato dal Distributed Ledger, ovvero da una reale e completa logica distribuita dove non esiste più nessun centro e dove la logica di governance è costruita attorno ad un nuovo concetto di fiducia tra tutti i soggetti. Nessuno (ma proprio nessuno) ha la possibilità di prevalere e il processo decisionale passa rigorosamente attraverso un processo di costruzione del Consenso.
Centralized Ledger, Decentralized Ledger, Distributed Ledger
La blockchain come database per transazioni crittografate
La Blockchain è un grande database per la gestione di transazioni crittografate su una rete decentralizzata di tipo peer-to-peer che dà il nome ad una nuova piattaforma tecnologica, che permette di ridefinire e reimpostare il modo in cui creiamo, otteniamo e scambiamo valore. La Blockchain sta facendo con le transazioni quello che Internet ha fatto con le informazioni e lo sta facendo grazie ad un processo che unisce sistemi distribuiti, crittografia avanzata e teoria dei giochi.
La blockchain come registro pubblico aperto a tutti
La blockchain è un database decentralizzato che archivia asset e transazioni su una rete di tipo peer-to-peer. È 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 stessa “informazione” è dunque presente su tutti i nodi e pertanto diventa immodificabile se non attraverso una operazione che richiede l’approvazione della maggioranza dei nodi della rete e che in ogni caso non modificherà lo storia di quella stessa informazione.
La blockchain non è una applicazione, non è un sistema, non è una tecnologia. La blockchain è un nuovo paradigma per la gestione delle informazioni che permette di garantire la reale immutabilità dei dati perché in grado di garantire e certificare la storia completa di tutti i dati e di tutte le operazioni collegate a ciascuna transazione.
La blockchain come Libro Mastro sicuro e immutabile nel tempo
La blockchain è il Libro Mastro (Ledger) decentralizzato e crittograficamente sicuro per la gestione di transazioni su reti peer-to-peer. È cioè una tecnologia che consente lo scambio su internet di informazioni e di diverse tipologie di valori. Sono tante le tipologie di transazione che possono essere appoggiate e gestite con la blockchain. Il payment è un esempio, così come le transazioni legate allo scambio di beni e servizi o così come la gestione di informazioni legate alla contrattualistica (Smart Contracts).
I componenti basilari della blockchain:
-
Nodo: 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” e che necessitano di essere verificati, approvati e poi archiviati.
-
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 mappare 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.
Ciascun blocco contiene dunque diverse transazioni e dispone di un Hash collocato nell’header. L’Hash registra tutte le informazioni relative al blocco e un Hash con le informazioni relative al blocco precedente permette di creare la catena e di legare un blocco all’altro.
La transazione contiene invece informazioni relative all’indirizzo pubblico del ricevente, le caratteristiche della transazione e la firma crittografica che garantisce sicurezza e autenticità della transazione.
La blockchain è da vedere come un registro pubblico e condiviso costituito da una serie di client o di nodi.
La blockchain è organizzata per aggiornarsi automaticamente su ciascuno dei client che partecipano al network. Ogni operazione effettuata deve essere confermata automaticamente da tutti i singoli nodi attraverso software di crittografia, che verificano un pacchetto di dati definiti a chiave privata o seme, che viene utilizzato per firmare le transazioni. Garantendo l’identità digitale di chi le ha autorizzate.