Diversi lettori hanno apprezzato la serie educational dedicata a Bitcoin e allora abbiamo chiesto al nostro amico lettore super specialista del settore (al quale mandiamo un enorme grazie) se per caso avesse voglia di scrivere un’altra mini serie in due puntate dedicata a quella che sembra essere una vera e propria rivoluzione. La tecnologia Blockchain. Alcuni troveranno forse un pò troppo tecnico l’articolo, ma la materia non è semplice ed il nostro autore ha cercato di semplificare i concetti anche con alcuni esempi pratici. Buona lettura.
La rivoluzione blockchain
Negli articoli pubblicati in precedenza abbiamo visto le ragioni per cui è nato Bitcoin e i principi di come funziona la blockchain di Bitcoin. Al termine abbiamo anche accennato alla nascita delle altcoins e all’importanza delle applicazioni blockchain.
Ma, all’atto pratico, perché questo argomento è così importante? Perché viene definito “la rivoluzione blockchain” e quali impatti possiamo davvero attenderci sulle nostre vite quotidiane?
Per comprendere “quali” saranno gli impatti è necessario prima capire “perché” ci saranno questi impatti, e per farlo dobbiamo completare la descrizione della blockchain, approfondendo due ulteriori concetti tecnici, utilizzati da Satoshi Nakamoto per progettare Bitcoin, e ripresi successivamente dalle criptovalute e dalle applicazioni basate sulla blockchain: il “registro distribuito” (distributed ledger) e la “marca temporale” (timestamp).
La comprensione di questi aspetti tecnici, uniti a quelli della firma digitale e della “catena di blocchi”, visti in precedenza, dovrebbe fornire a tutti le basi per la comprensione dei fondamenti su cui si basano le attuali e future applicazioni blockchain e comprenderne quindi le potenzialità e i limiti ancora esistenti.
Iniziamo dal “registro distribuito”.
Nella storia dell’informatica è sempre stata presente l’esigenza di memorizzare dei dati, ad esempio una banca ha la necessità di memorizzare le transazioni dei clienti e i saldi dei conti correnti. La modalità più semplice è quella di centralizzare le informazioni e di salvarle in un unico punto, quindi un database che risiede su un server. Cosa succede però se il server si guasta o se un malintenzionato riesce ad accedere al database e alterare i dati presenti? Che i dati vengono irrimediabilmente corrotti. ll database viene quindi definito un single point of failure (singolo punto di errore) e va quindi protetto adeguatamente; l’esempio più estremo di protezione è probabilmente quello visto in Mission Impossible con Tom Cruise che cerca di accedere (riuscendoci, nel film) al database più protetto della CIA.
Adesso consideriamo l’estremo opposto, quindi le informazioni più decentralizzate che esistano, cioè il libro non religioso ritenuto più venduto nella storia, il Don Chisciotte, di cui esisterebbero circa 500 milioni di copie. Ipotizziamo che qualcuno voglia alterare il contenuto di una pagina del Don Chisciotte. Nessuna delle centinaia di milioni di copie esistenti, presa singolarmente, ha la minima protezione eppure qualcuno potrebbe pensare che questo sia possibile? Ovviamente no, la protezione del contenuto non è quindi dovuta a specifiche misure di sicurezza, come per il server centralizzato, ma al solo fatto che il numero elevato di copie rende di fatto impossibile l’attacco. Proviamo a immaginare Tom Cruise che deve modificare 500 milioni di Don Chisciotte e possiamo capire quale sia la reale Mission Impossible. Sembra una battuta, ma lo è solo in parte: nemmeno la fantasia più sfrenata del cinema che ha immaginato l’attacco al computer della CIA potrebbe immaginare qualcosa del genere, quindi una banale replica delle informazioni può rivelarsi molto più sicura delle più avanzate difese tecnologiche esistenti, se effettuata in numero sufficientemente elevato.
Passando alla blockchain, il successo (tecnico) del progetto di Satoshi Nakamoto sta anche nell’avere previsto la replica del registro, cioè la blockchain, la “catena di blocchi”, in tutti i nodi della rete Bitcoin, che contengono quindi le stesse informazioni replicate. Questo rappresenta un esempio di registro distribuito e la sua protezione non sta quindi nella protezione del singolo nodo contenente il registro, ma nella difficoltà di alterare tutti i registri esistenti, o comunque la maggior parte di questi.
Esiste però il rovescio della medaglia. Se volessi legittimamente modificare una pagina del Don Chisciotte, dovrei modificare 500 milioni di copie, processo ben più complesso della modifica dei dati del singolo database visto all’inizio. In informatica, come in finanza, sono rari i “pasti gratis” e ogni cosa ha il suo prezzo. Per Bitcoin, come abbiamo visto, il prezzo da pagare per la sicurezza del registro distribuito è il limite massimo di 7 transazioni al secondo. La sfida della tecnologia blockchain, che è tuttora in corso, è proprio quella di dimostrare come sia possibile avere la sicurezza della blockchain replicata in un registro distribuito unita alla necessaria “scalabilità” cioè alla possibilità di aumentare il numero di transazioni al secondo (TPS) in base alle necessità.
Il secondo concetto da introdurre dopo quello del “registro distribuito” è la “marca temporale” che ci dice la data e l’ora in cui è stato prodotto il “blocco”, senza possibilità di alterazione. Avevamo visto che ogni “blocco”, quando viene accodato alla blockchain, contiene le informazioni del blocco precedente, per consentire di ricostruirne l’ordine. In realtà contiene anche un’altra informazione: la marca temporale, che rende certo non solo il contenuto ma anche la data della transazione. Quindi, tornando alla prima lezione su Bitcoin, non solo sappiamo che ArcheoWealth ha dato un bitcoin a ExploWealth, ma sappiamo anche quando questo è avvenuto, senza nessuna possibilità di falsificazione.
Unendo tutti i concetti, abbiamo completato una definizione della blockchain: informazioni firmate digitalmente, con data certa garantita da marcatura temporale, replicate in registri distribuiti, che non possono essere alterate e che sono pubblicamente consultabili.
Preciso che questa è solo una tipologia di blockchain (blockchain pubblica), ce ne sono altre differenti che vedremo successivamente (blockchain private), ma il funzionamento alla base è sempre lo stesso.
Adesso che abbiamo acquisito i concetti teorici, vediamo come applicarli.
Ipotizziamo che ArcheoWealth sia un produttore di vini toscano ed ExploWealth un degustatore di vini canadese.
ArcheoWealth ha il problema che truffatori asiatici copiano le sue etichette e vendono il suo vino contraffatto in tutto il mondo, ExploWealth ha il problema che non ha la certezza che, quando acquista il vino di ArcheoWealth, questo sia veramente originale.
Per risolvere il problema, oggi sarebbe necessario probabilmente un accordo tra governi, l’intervento di forze di intelligence e/o l’applicazione di sistemi antisofisticazione costosissimi, nessuno dei quali alla portata di ArcheoWealth.
E se vi dicessero che con un’applicazione blockchain si potrebbe risolvere per sempre questo problema a un costo nullo o quasi? Vediamo come.
Immaginiamo che Archeowealth il 20 giugno 2021 produca una bottiglia di vino e gli dia un codice identificativo, ad es. “Archeo-937188”, poi stampi questo codice nell’etichetta della bottiglia come codice QR:
e inserisca infine nella blockchain l’informazione “Ho prodotto la bottiglia Archeo-937188”, firmandola con la sua chiave privata, esattamente come avevamo visto per Bitcoin. Tutto il mondo può sapere quindi che il 20 giugno 2021 è stata prodotta la bottiglia con codice “Archeo-937188” dal produttore di vini ArcheoWealth, andando sul sito apposito www.viniblockchain.it/Archeo-937188 (che ovviamente non esiste) o scansionando il codice QR sopra (potete farlo anche voi), che apre direttamente sullo smartphone lo stesso sito. Come ormai abbiamo compreso, nessuna delle informazioni inserite nella blockchain è alterabile.
Poi ArcheoWealth consegna la bottiglia al suo distributore, che la consegna a un altro distributore e così via. Tutte queste transazioni vengono tracciate sulla blockchain, firmate digitalmente, con data e ora della transazione (marca temporale). Tutti possono quindi seguire il “viaggio” della bottiglia “Archeo-937188” consultando il sito indicato sopra. Alla fine la bottiglia viene consegnata all’enoteca “Vini toscani” di Montréal in Canada. ExploWealth acquista la bottiglia e inquadra con il suo smartphone il codice QR. In automatico si apre il browser che visualizza sul suo smartphone tutta la storia della bottiglia, certificata dalla blockchain, fino alle ultime due transazioni, cioè la vendita a “Vini toscani” e quella conclusiva ad ExploWealth, e può così essere sicuro di avere acquistato la bottiglia originale.
Vediamo cosa è cambiato rispetto a prima.
I produttori asiatici di vini falsi potrebbero ora provare a generare delle etichette false, inventandosi dei codici inesistenti. Ma non appena provassero a vendere una bottiglia, l’acquirente inquadrando il codice QR scoprirebbe subito che quel codice non esiste sulla blockchain. Potrebbero allora analizzare la blockchain, scoprire i codici prodotti da ArcheoWealth e incollare un’etichetta con codice “Archeo-937188” su una bottiglia falsa. Ma se provassero a vendere la bottiglia non potrebbero firmare la transazione di vendita con la chiave privata dell’attuale possessore della bottiglia indicato nella blockchain, perché non la conoscono, esattamente come non è possibile vendere un bitcoin senza avere la relativa chiave privata, per cui l’acquirente non vedrebbe la transazione di vendita a sé stesso della bottiglia nella blockchain e capirebbe che la bottiglia è un falso (sottolineo ancora una volta l’importanza assoluta che hanno i concetti di “chiave pubblica” e “chiave privata”, visti nella prima lezione di Bitcoin, per comprendere tutti i meccanismi della blockchain).
Allora ipotizziamo che un distributore disonesto che ha in mano la vera bottiglia “Archeo-937188” provi a produrne delle copie false e venderle a persone diverse. Niente da fare, non è altro che il problema della doppia spesa risolto da Satoshi Nakamoto, con la blockchain questo non è possibile, appena firmata la prima transazione di vendita è necessaria la chiave privata del destinatario per firmarne un’altra.
Una volta che la bottiglia “Archeo-937188” è stata inserita nella blockchain non esiste praticamente più nessuna possibilità di alterazione o duplicazione.
ArcheoWealth ha quindi eliminato ogni possibilità di concorrenza sleale ed ExploWealth ha la garanzia di avere acquistato un prodotto originale. ArcheoWealth ha ora la certezza che anche nell’angolo più remoto del mondo chiunque sia dotato di uno smartphone possa sapere se la sua bottiglia è originale o meno. Nessuno potrà mai più contraffare le sue bottiglie. E ha ottenuto questo risultato senza utilizzare autorità terze garanti, servendosi di distributori dislocati in varie parti del mondo, con cui non ha neanche rapporti diretti, perché la blockchain utilizzata è attiva in tutto il mondo ed è sufficiente conoscere le varie chiavi pubbliche e private per consentire i trasferimenti della bottiglia, esattamente come per Bitcoin.
E quanto è costato ad ArcheoWealth e a ExploWealth ottenere questo risultato? Niente. O, meglio, non proprio niente ma una cifra irrisoria, ipotizzando che la blockchain utilizzata sia efficiente e che le commissioni di transazione siano quindi irrisorie. Quello che prima avrebbe richiesto investimenti ingentissimi che solo pochi avrebbero potuto permettersi, ora è alla portata di tutti.
Come visto, però, l’efficienza dalla blockchain è la sfida che le blockchain dovranno vincere, così come quella di Bitcoin, se mai vorranno essere sufficientemente diffuse da essere realmente usate nelle transazioni quotidiane.
Questo è solo un esempio, ma quelli indicati sono i principi della “rivoluzione blockchain”, che non va intesa come qualcosa che probabilmente introdurrà elementi totalmente nuovi nelle nostre vite (come hanno fatto ad esempio il frigorifero o la televisione), ma come qualcosa che potrà cambiare radicalmente i processi di quello che già esiste. In un mondo basato sulla tecnologia blockchain, ad esempio, potrebbero praticamente sparire le frodi alimentari e non solo, perché gli stessi principi sono applicabili a qualsiasi tipologia di prodotto. I campi di applicazione sono pressoché illimitati e prossimamente proveremo a descriverne qualcuno. A proposito, se volete vedere un’applicazione reale di quanto descritto sopra, potete consultare il sito “IBM Food Trust” (https://www.ibm.com/it-it/products/food-trust).
In conclusione, quel whiskey irlandese invecchiato ma prodotto in realtà l’anno prima, o quella Panda usata con 40.000 Km e mai incidentata potrebbero ancora esistere in un mondo dominato dalle applicazioni blockchain?
Lo inizieremo a vedere nel prossimo articolo, dove approfondiremo un caso reale di applicazione della blockchain proprio alle auto usate, e lo utilizzeremo anche per chiarire la differenza tra criptovalute e blockchain e per cercare di sfatare l’equivalenza che molte persone fanno in buona fede: “blockchain = criptovalute = Bitcoin = truffa”, che spaventa tanti potenziali investitori futuri, impauriti da novità dove concetti diversi si confondono tra loro. Per l’investitore di buon senso è invece necessario avere chiara in mente la distinzione tra tutti i componenti del sistema nelle applicazioni blockchain per poter prendere decisioni informate, e cercheremo quindi di chiarire questi aspetti nel prossimo articolo.
Leggi anche:
A lezione di Bitcoin #5 – Considerazioni finali