Nel 2004 Tim O’Reilly, fondatore della casa editrice “O’Reilly Media”, aveva introdotto il concetto di “web 2.0” per evidenziare come fosse prossima una rivoluzione del web conosciuto, caratterizzata da un nuovo approccio all’utilizzo delle tecnologie da parte degli utenti. Stava terminando l’era degli “utenti fruitori” e, sulle stesse basi infrastrutturali e tecnologiche, stava prepotentemente crescendo l’era degli UGC “User Generated Content”. Il processo di produzione dei contenuti in rete sembrava aver superato la necessità della mediazione da parte di giornali, media e soggetti di produzione tradizionali, consentendo direttamente agli utenti di partecipare alla produzione e alla diffusione dei propri “saperi”. Il web, per come era stato immaginato dal suo inventore, Tim Berners Lee, cioè una piattaforma aperta in grado di consentire a chiunque di avere accesso e condividere informazioni senza limiti culturali o geografici, sembrava aver raggiunto esattamente il proprio obiettivo.
Di contro, già nel 2010, lo stesso Berners Lee, si è dichiarato “preoccupato” per le derive di Internet e per i pericoli derivanti dall’eccessiva concentrazione della governance dei servizi disponibili nella Rete. Il riferimento è essenzialmente alla posizione dominante dei colossi dell’information technology: Facebook ed i social network, definiti come “ecosistemi isolati di dati o piattaforme recintate e proprietarie” nei quali gli utenti ed i loro contenuti sono ingabbiati, filtrati e monitorati; gli ISP (internet service provider) e la loro intrinseca non neutralità rispetto alle comunicazioni che veicolano per i propri utenti; le grandi case di produzione di software e servizi, tra i quali cita Apple, ed i loro tentativi di ingabbiare gli utenti, costretti all’uso di un software proprietario, chiuso e non interoperabile.
Per gli aspetti citati, ed in realtà per molti altri, la tecnologia Blockchain promette di essere la risorsa che trasformerà radicalmente tutto ciò che conosciamo. Viene infatti spesso presentata come la “tempesta” che si abbatterà rivoluzionando sistemi, infrastrutture, modelli di gestione e gli stessi paradigmi di fruizione di servizi tecnologici che attualmente utilizziamo.
La sua prima applicazione reale di larga diffusione è alla base della criptomoneta Bitcoin il cui primo “block”, definito “genesis block”, è stato generato ormai nel 2009. Ciò ha causato una così stretta connessione tra i concetti di Blockchain e di criptomoneta che spesso i due termini sono stati utilizzati come sinonimi. In realtà la Blockchain è una tecnologia molto più dirompente perché si presta a molteplici utilizzi, di cui le valute digitali sono soltanto il primo ambito. Melanie Swan, fondatrice dell’Institute for Blockchain Studies e di DIYgenomics, sottolinea che le criptomonete sono l’era della “Blockchain 1.0”. Anche se non tutti sembrano essersene accorti, questa tecnologia sta però crescendo – per importanza e caratteristiche – così rapidamente da essere già in una fase definibile “Blockchain 2.0”, caratterizzata dalla comparsa degli “smart contracts”, e addirittura è inziata una “Blockchain 3.0”, delle applicazioni completamente decentralizzate.
Indice dei prossimi paragrafi
- Una “meta tecnologia” che lancia nuove sfide al mondo
- Decentralizzare e responsabilizzare per superare l’intermediazione
- Blockchain come “macchina della fiducia”: il concetto di “trust”
Una “meta tecnologia” che lancia nuove sfide al mondo
La Blockchain si presenta come un intero nuovo ecosistema: è contemporaneamente un database, un’applicazione software, una piattaforma di sviluppo di software, un sistema di comunicazione tra pari. È una struttura completamente trasparente ed aperta, open source, che però garantisce privacy e riservatezza.
Composta di ben noti e collaudati supporti tecnologici, ma in modo così originale, innovativo ed efficace da essere ormai immaginata essa stessa fondamento delle prossime soluzioni tecnologiche, la Blockchain è definibile come “meta tecnologia”. Gli strumenti su cui si fonda sono la crittografia forte e le forme di comunicazione “peer to peer“, cioè quelle reti di computer, pari tra loro, in cui ogni nodo può essere fruitore (client) di servizi o fornitore (server) per gli altri.
Per avere un’idea un po’ meno astratta, pensiamo proprio al noto progetto Bitcoin: un enorme libro mastro di movimenti economici che viene mantenuto online e continuamente verificato da tutti i pari della rete. Ogni partecipante attivo, infatti, eseguito un proprio processo di verifica delle nuove transazioni, ha modo di generare un “passa parola” tra i partecipanti perché vaglino i suoi risultati e gli certifichino di aver eseguito correttamente le verifiche, in modo da poter essere ricompensato con un valore espresso nella stessa criptomoneta. Ma, come stiamo per vedere, la prospettiva è molto più vasta e complessa.
Una delle sfide che attualmente questa tecnologia sta ponendo al mondo della ricerca, agli imprenditori e agli sviluppatori è capirne a fondo i meccanismi per applicarne realmente le enormi potenzialità. I nuovi paradigmi che propone, infatti, già consentono e richiederanno con sempre maggiore urgenza nell’immediato futuro di ripensare sia le metodologie, sia gli approcci alla realizzazione di soluzioni tecnologiche. I primi risultati di questi sforzi sono brillanti soluzioni alle problematiche di scalabilità, affidabilità e sicurezza, della necessità al contempo di privacy e di trasparenza, della completa decentralizzazione della governance.
La Blockchain cambia radicalmente gli stessi elementi costitutivi della progettazione delle applicazioni, detta nuove regole all’ingegneria del software, apre singolari scenari tecnologici. Propone, impone, nuove modalità di sviluppo delle piattaforme software, integrando privacy e security by design, radicando molte delle proprie caratteristiche nella crittografia e nella teoria dei giochi per regolamentare e coordinare, con modelli matematici, schemi di cooperazione tra utenti che presuppongono forti probabilità di “conflitto”. La Blockchain non è quindi soltanto una tecnologia, ma sarà piuttosto uno strumento di cambiamento sociale e politico.
Decentralizzare e responsabilizzare per superare l’intermediazione
I concetti cardine delle tecnologie Blockchain sono la “decentralizzazione”, che implica la “disintermediazione”, e il “trust”, che tendiamo a tradurre con “fiducia” ma sul cui effettivo valore e significato sarà necessario soffermarsi con attenzione.
I servizi internet di cui comunemente ognuno di noi usufruisce sono realizzati utilizzando tecnologie sviluppate secondo modalità di interazione client/server, in cui il fornitore gestisce le proprie infrastrutture distribuendo e coordinando le risorse necessarie. Queste infrastrutture, per questioni di affidabilità, performance e costi, al momento sono distribuite e ridondanti. I servizi offerti da Google o Facebook, ad esempio, richiedono la dislocazione geografica di interi datacenter e strutture tecnologiche fortemente coordinate. Per rispettare gli accordi con i propri utenti sui Service Level Agreement (SLA), queste aziende devono implementare politiche di gestione dei dati e di carico delle attività. L’onere del coordinamento di queste architetture distribuite è delle aziende che ne sono completamente proprietarie e che, quindi, lo divengono tecnicamente anche dei dati.
La tecnologia Blockchain possiede invece, per propria natura, un insieme di capacità di “decentralizzazione”. Questo concetto è completamente svincolato da quello di “distribuzione”, cui però può affiancarsi. L’architettura implementata dalla Blockchain consente infatti la partecipazione di più soggetti, definiti “nodi”, che collaborano alla realizzazione dei servizi scopo dell’applicazione. La decentralizzazione, quindi, non è da intendere come possibilità di aggregare partecipazioni disorganizzate; al contrario, la Blockchain fornisce strumenti tecnici perché ogni componente sia sì, più coinvolto, persino premiato per comportamenti virtuosi, ma lo rende più vincolato. “It implies that many contributors, many beneficiaries, and many leaders are working in harmony. It is neither communism nor a version of cyberpunk fiction. Decentralization boosts capitalism by creating new layers of work production and value creation” (William Mougayar, imprenditore ed investitore esperto di tecnologie Blockchain e nella board del progetto OpenBazaar).
In un’infrastruttura completamente decentralizzata come quella implementata con la Blockchain è decentralizzato ogni aspetto funzionale:
- La componente di rete di comunicazione: utilizzando reti mesh e “peer to peer”.
- Il sistema di gestione delle transazioni di stato del sistema: ogni nodo attivo della rete che mantiene la Blockchain ha una propria copia dell’intero database di informazioni e lo storico di tutte le loro precedenti modifiche. Il tal modo le informazioni sono molto replicate e lo stato del sistema è completamente, matematicamente verificabile in proprio da ogni singolo partecipante.
- Cambi di stato che costituiscono le transazioni del sistema.
- I processi di decision making: la Blockchain consente di implementare meccanismi sicuri per la realizzazione di comportamenti pre-determinati, determina rigidi vincoli di applicabilità e possiede sistemi di verifica del consenso, potendo così realizzare quello che può essere definito un “agente autonomo”.
La Blockchain, metaforicamente, è quindi immaginabile come un unico ed inarrestabile sistema informatico privo di quello che viene definito “central point of failure” per il quale i meccanismi di decentralizzazione tecnici consentono di realizzare il decentramento delle caratteristiche funzionali delle applicazioni. “A decentralized, redundant organization can flex without distorting its function, and thus it can adapt” (Kevin Kelly).
In questo nuovo paradigma si rendono non più necessari i ruoli di garanti e certification authority e, in generale, viene meno l’esigenza di avere intermediari di garanzia nei processi che regolano le interazioni tra i “pari” che utilizzano i servizi implementati dalla Blockchain.
Qualche altro esempio concreto: in passato è stato già osservato come la nascita e la diffusione di Internet abbia avuto un effetto dirompente in alcuni ambiti e per alcune funzioni. Basti pensare a ciò che ha rappresentato la posta elettronica per le esigenze di comunicazione, rispetto ai servizi offerti dagli uffici postali; o all’impatto dei blog e dell’editoria online sulle case editrici e le attività di pubblicazione; o ancora, alle dinamiche del commercio elettronico rispetto a quelle dei negozi fisici.
La Blockchain potrebbe condurre alla eliminazione, o comunque ad un sostanziale ripensamento, delle modalità di erogazione e governance di servizi in moltissimi ambiti tra i quali, per primi, i servizi IT ma anche quelli bancari, legali e notarili. In questo scenario è possibile immaginare che ogni attività attualmente realizzata con una “autorità centrale” possa essere in qualche modo riorganizzata in un “peer to peer, trust-based network”: servizi bancari senza banche, e-commerce senza Ebay, computer storage senza Dropbox, Google drive o Amazon Simple Storage Service (S3); servizi di trasporto senza Uber, servizi di calcolo senza Amazon Elastic Compute Cloud o Microsoft Azure, gestione dell’identità online senza Google o Facebook.
Decentralizzazione dei dati. La Blockchain non è di per sé un “cloud” in grado di memorizzare enormi quantità di dati. Per molti servizi, è il caso dei Bitcoin, i nodi attivi della rete riescono a mantenere una propria copia dei dati necessari al funzionamento dell’architettura. In altri scenari si stanno realizzando soluzioni che utilizzano la Blockchain per implementare sistemi di memorizzazione di grandi quantità di dati in modo sicuro, inalterabile e con forti garanzie di privacy. In tal modo il sistema risulta molto efficace per la persistenza e la disponibilità delle informazioni e resistente a tentativi di alterazione non autorizzata dei contenuti. La mancanza di una società o un ente che detiene o gestisce direttamente tali dati li rende così di fatto incensurabili. Tra le soluzioni più note di questo tipo vi sono InterPlanetary File System (IPFS) e StorJ. Tecnicamente nessuna autorità politica, civile o militare sarebbe in grado di agire su queste strutture dati in modo non previsto.
Decentralizzazione della ricchezza economica. La gestione di valori economici mediante criptomonete è stata la prima applicazione reale dei principi della Blockchain. Si sono ormai generate migliaia di criptomonete con caratteristiche tecniche o ambiti di utilizzo molto diversificati. È palese che il valore economico delle criptomonete è attualmente soggetto a forti fluttuazioni e si parla quindi spesso di “volatilità”. Ormai da qualche anno sono in sperimentazione anche altri progetti di “cryptoasset”, cioè di particolari criptomonete il cui valore nominale è associato a quello di monete tradizionali; il BitUSD ne è un esempio. Il valore di questa moneta è infatti associato a quello del dollaro americano con cambio sempre, teoricamente, alla pari: un BitUSD può essere acquistato o venduto ad un dollaro. Con questo approccio, con il BitUSD si potrebbe realizzare il progetto di chi immagina un’economia parallela, completamente al di fuori delle attuali modalità di regolamentazione giuridica e di controllo.
Decentralizzazione dell’identità. Schemi crittografici ormai consolidati, definiti “a chiave pubblica” consentono di generare coppie di chiavi fortemente correlate: una definita “chiave pubblica” ed una “chiave privata”. Robusti algoritmi matematici permettono di avere la certezza che un’informazione trattata utilizzando una chiave pubblica, operazione definita “cifratura”, possa essere decifrata esclusivamente da chi possiede la relativa chiave privata. È possibile inoltre agire su una informazione digitale utilizzando una particolare chiave privata, operazione definita “firma”, per fornire una prova, a chiunque abbia la relativa chiave pubblica, che quella operazione poteva essere compiuta esclusivamente da chi deteneva effettivamente la chiave privata della coppia. Utilizzando questi strumenti si può immaginare di semplificare e circoscrivere il concetto di “identità” alla persona, all’organizzazione, al sistema software o all’oggetto unico detentore della particolare chiave privata associata ad una chiave pubblica che diviene, quindi, una sorta di identificativo di quella identità.
Con questi presupposti, si può utilizzare la Blockchain come infrastruttura in grado gestire le identità in modo sicuro e non delegato ad una particolare “certification authority”. Esempi di questo tipo di applicazione sono BitAuth, che utilizza gli strumenti crittografici disponibili in Bitcoin o il progetto Blockchain for digital identity di IBM. Nel sito del progetto, IBM riporta esplicitamente indicazioni sulla resistenza della soluzione a tentativi di compromissione: “Blockchain technology empowers consumers to control their own identity and share between trusted entities with their consent. Also, no single institution can compromise a consumer’s identity“.
L’Estonia sta sperimentando dal 2015, con il supporto di Bitnation, un sistema di “cittadinanza digitale” che utilizza soluzioni basate sulla Blockchain per assegnare identità digitali ai cittadini e-resident. Il progetto prevede per i cittadini e-resident, indipendentemente da dove vivano, la possibilità di utilizzare la Blockchain per “notarizzare” atti (ad esempio certificati di matrimoni, di nascita, contratti di lavoro) esplicitamente introducendo il concetto di Blockchain jurisdiction.
Decentralizzazione dell’assegnazione dei nomi a dominio in Internet. Il sistema di assegnazione dei nomi a dominio in Internet è, fin dal 1998, gestito dall’ICANN (Internet Corporation for Assigned Names and Numbers). Questo ente ha tra i propri compiti quindi quello di gestire nomi a dominio ed associarli a particolari identità. Utilizzando tecnologie Blockchain, però, anche questo processo può essere realizzato senza la mediazione di un ente centrale. Per i domini “.bit”, Namecoin è un progetto che, seppur ancora definito sperimentale, è già in uso con obiettivi piuttosto chiari: “Namecoin is an experimental open-source technology which improves decentralization, security, censorship resistance, privacy, and speed of certain components of the Internet infrastructure such as DNS and identities.”
Decentralizzare la potenza di calcolo. La Blockchain possiede una capacità di calcolo decentralizzato molto contenuta e non è di certo un computing cloud. Lo stesso Vitalik Buterin, fondatore della nota piattaforma Ethereum, valuta che complessivamente la capacità di calcolo di una Blockchain è più vicina a quella di uno smartphone degli anni ’90, piuttosto che a quella di un attuale computer. Sono allo studio, però, alcune interessanti soluzioni che consentono di immaginare scenari di prossima realizzazione in cui sarà possibile sfruttare in modo collaborativo e sicuro risorse di calcolo, decentralizzate e senza mediazione di aziende fornitrici, in cui possano essere mantenute privacy e riservatezza contemporaneamente su codice eseguito e dati trattati.
Decentralizzazione della banda. Attualmente gli accessi degli utenti ad internet sono gestiti da provider, gli ISP. Da un punto di vista logico queste organizzazioni costituiscono il mediatore che consente di accedere alle reti di comunicazione. Per tale ruolo possono essere considerati un “point of failure”, in quanto possono avere guasti tecnici, interruzioni di servizio o possono essere sottoposti a pressioni e richieste legali di Forze dell’Ordine o Governi, finalizzate al monitoraggio degli utenti o alla censura di alcuni contenuti. Pur non utilizzando tecnologie Blockchain, sono già disponibili, ma poco diffuse, applicazioni e tecnologie che consentono agli utenti di comunicare tra loro senza far passare il proprio traffico da un ISP. Un recente esempio è l’applicazione Firechat. Il fornitore dell’applicazione riporta esplicitamente che Firechat è stata utilizzata con successo in casi di disastri naturali, durante i quali i normali fornitori non sono stati in grado di assicurare le comunicazioni; durante proteste a favore della democrazia in Paesi in cui questo tipo di comunicazioni venivano censurate; in presenza di enormi folle di persone, ad esempio durante la visita del Papa nelle Filippine, per assicurare la comunicazione anche in caso di sovraccarico delle tradizionali infrastrutture. L’utilizzo della Blockchain potrebbe amplificare moltissimo l’efficacia di questo tipo di tecnologie di decentralizzazione della banda, aumentando l’efficienza complessiva e consentendo ad ogni utente di collaborarvi, divenendo di fatto un punto di accesso ad internet per gli altri. Ognuno di questi utenti potrebbe essere remunerato in criptomonete per tale funzione (una sorta di “proof of bandwidht”).
Blockchain come “macchina della fiducia”: il concetto di “trust”
Veniamo, infine, al problema del cosiddetto “trust”. In un’architettura come quella della Blockchain non è possibile presupporre che tutti i partecipanti agiscano correttamente, rispettando le policy concordate ed in modo collaborativo. Non è neanche un presupposto valido considerare fidati ed affidabili particolari nodi selezionati, così da poter assegnare loro una funzione diversa da quella degli altri peer. Nell’attuale Internet, ad esempio, si sono già verificati casi in cui certification authority sono state violate, concedendo quindi agli attaccanti di emettere certificati tecnicamente validi ma non affidabili. Uno dei casi più noti fu quello dell’ente di certificazione tedesco DigiNotar.
La Blockchain è una soluzione tecnologica collaborativa in cui si presuppone di non dover riporre fiducia in nessuno dei partecipanti e, proprio per questo forte assunto, si rende superflua la presenza di intermediari e garanti. Il concetto stesso di “trust” assume un’accezione diversa da quello che intendiamo con “fiducia” e non riguarda più l’umano atteggiamento di valutazione positiva nei confronti dell’altro che consente di ingenerare sicurezza nella buona fede e nella capacità di altre persone, istituzioni o enti.
Il trust, la fiducia, in tale contesto, è una caratteristica codificata in modo che sia possibile in qualche modo calcolarla, assegnarle dei valori, sostituirla con verità crittografiche verificabili, “proof”. Tutto diviene esprimibile in termini di una “prova”: l’identità diviene “proof of identity” (si deve dimostrare di essere in possesso di una chiave crittografica); la proprietà stessa diviene “proof of ownership” (il possesso della chiave privata che ha apposto la firma su una risorsa digitale ne dimostra la proprietà). L’esistenza stessa di un bene digitale può essere dimostrata matematicamente con una “proof of existence” e collocata nel tempo dalla Blockchain in modo verificabile; inoltre, anche l’integrità di un’informazione digitale può essere dimostrata con una “proof of integrity” matematica. Infine, i partecipanti alla Blockchain vedono ripagati i propri corretti sforzi di partecipazione a seguito di una “proof of work” che viene eseguita dagli altri peer.
È per poter eseguire queste verifiche che ogni nodo attivo della Blockchain tiene una propria copia di tutte le informazioni necessarie, riesegue in proprio tutti i calcoli opportuni e verifica le transazioni. Solo qualora la maggioranza dei partecipanti esprima il proprio consenso positivo a queste verifiche, le informazioni sono considerate affidabili.
Tutto ciò accade utilizzando algoritmi di crittografia a chiave pubblica che consentono una visibilità pubblica dell’esistenza dei dati, pur permettendone il controllo privato e l’accesso riservato. Una metafora spesso utilizzata per meglio afferrare questo concetto è il parallelo con un registro pubblico delle proprietà immobiliari: ogni proprietario ha documenti che gli consentono di dimostrare pubblicamente la proprietà di un dato appartamento pur senza perdere la riservatezza sui dettagli di come sia arredato.
La fiducia quindi nell’affidabilità delle applicazioni basate sulla Blockchain e sul corretto comportamento dei nodi che la supportano non è altro che la certezza che esiste un sistema di verifiche matematiche che vincolano e restringono i comportamenti dei partecipanti. Due soli aspetti mantengono quindi l’accezione di fiducia per come storicamente ed umanamente la intendiamo: l’essere confidenti nella soluzione tecnologica e nella sua relativa implementazione tecnica e l’aspettativa che la maggioranza dei partecipanti non agisca in modo organizzato e fraudolento contro le minoranze. Anche per questa condizione, però, può essere sufficiente immaginare nuovi vincoli; parola di ricercatore.
————–