5/10/2022
Nuove tecnologie

Blockchain, cybersecurity e la maturità dei servizi distribuiti. Parte 1

Sono passati più di 10 anni da quando il concetto di blockchain ha fatto la sua comparsa nel mondo. Risale infatti al 9 gennaio 2009 la prima release della rete Bitcoin ad opera di Satochi Nakamoto (pseudonimo sotto il quale si cela una identità ancora non del tutto chiara).A distanza dunque di 13 anni, il concetto di Bitcoin (ed in generale quello di criptovalute) è abbastanza diffuso, ma non si può dire lo stesso di quello di Blockchain, che è in realtà la tecnologia  sulla quale “gira” tutto l’ecosistema delle valute digitali, e non solo.

Inizieremo dunque ad esplorare questo paradigma tecnologico, dalle sue origini alle recenti implicazioni e soprattutto vedremo quali saranno le possibili evoluzioni, soprattutto in ambito cybersicurezza, gestione dei dati e gestione delle identità.

Cosa è e come funziona una rete blockchain.

Concetti di base e storia.

Partiamo da un presupposto: siamo abituati, più o meno consapevolmente, all’idea di consenso generale. Ovvero, ci sono delle cose per le quali noi tutti siamo d’accordo e sulle quali basiamo alcune delle nostre strutture sociali. Pensiamo al denaro: se ricevo da uno sconosciuto una banconota da 20 euro non ho dubbi su ciò che sto ricevendo. Sia io che la mia controparte siamo d’accordo sul valore che ci stiamo scambiando, anche senza conoscerci personalmente e senza necessità di nutrire reciproca fiducia.

Sembra banale, ma non lo è.

In effetti, da dove nasce questo consenso tra me e la mia controparte? Da dove deriva l’idea che poi quella stessa banconota possa essere trasferita ad una qualsiasi altra persona che sarà d’accordo sul suo valore?

Questo consenso deriva storicamente da strutture centralizzate, ovvero enti preposti a gestire un accordo tra tutti gli appartenenti ad un determinato contesto sociale (una nazione, ad esempio, o un sistema monetario).

Nel caso del denaro il consenso viene gestito dalle banche centrali ed in generale da tutti gli organi istituzionali che di fatto dicono “20 euro valgono 20 euro” e questo sta bene a tutti perché, in qualche modo, ci fidiamo di questi organi.

Facciamo un altro esempio, se acquisto un immobile, chi mi offre la garanzia che poi nessun altro verrà a reclamare quell’immobile come suo? Anche in questo caso, abbiamo degli organi preposti (notai) che sono autorizzati a scrivere su un registro pubblico l’informazione che la proprietà di un immobile è stata trasferita a me a fronte della cessione di una certa somma di denaro al precedente proprietario. I notai scrivono sul registro lo scambio di beni e valori, le banche registrano il trasferimento di denaro e così siamo tutti d’accordo che adesso quella casa è mia.

Dunque abbiamo individuato due concetti chiave: consenso e registro.
Aggiungiamone un terzo: perché tutto questo funzioni, io non posso vendere la stessa casa a due compratori diversi (senza commettere una frode, che però equivale ad “hackerare” il sistema), così come non posso dare la stessa banconota da 20 euro a due persone diverse. Questo problema è noto come double spending e nei registri a cui siamo abituati è sempre un organo centralizzato a garantirne la sua assenza.

Se ci pensate bene, nelle nostre azioni quotidiane troverete continuamente questi tre concetti (consenso, registro e assenza di double spending): transazioni di denaro, registri automobilistici, carte fedeltà, abbonamenti di ogni tipo, utenze, elezioni, e così via… la lista è parecchio lunga.

Tuttavia ciò che caratterizza i registri a cui quotidianamente abbiamo accesso (in lettura e/o scrittura a seconda dei casi) sono quasi sempre registri centralizzati. Come abbiamo detto prima, è la banca che garantisce che le transizione da e verso il nostro conto corrente siano coerenti, è il registro automobilistico che definisce che quella targa identifica quel veicolo che appartiene a noi, è il supermercato che tiene la conta dei punti della nostra carta fedeltà, è la zecca che con i suoi sistemi di stampa e marcatura garantisce l’unicità di una singola banconota, e così via.

Dai registri centralizzati ai registri distribuiti

Tuttavia ad un certo punto qualcuno ha iniziato a porsi una domanda: è possibile creare un registro completamente distribuito (dunque non residente in un organo preposto o in un particolare luogo o organizzazione predefinita) che tuttavia mantenga le caratteristiche di consenso (quindi un registro di cui tutti gli aderenti possano fidarsi) e che garantisca l’assenza del double spending?

Ci sono stati vari esperimenti, alcuni più sociali che tecnici.

Si narra* di un esperimento condotto da uno dei primi teorici dei registri distribuiti che, ad un certo punto della sua vita, si ritrovò malauguratamente in carcere.
Durante la sua permanenza, si accorse che in quel contesto non esisteva un metodo efficace per tenere traccia delle transizioni sottobanco di beni e denaro tra i detenuti.
Naturalmente non poteva essere un sistema centralizzato (di chi ci fidiamo così tanto, in carcere, da affidargli un compito del genere?) e neppure sarebbe stato possibile fare riferimento ad un ente ufficiale, data la natura illecita degli scambi.
Ebbe dunque l’idea di applicare un metodo che si rivelò estremamente efficace.

Funzionava così:

Ad un certo numero di detenuti veniva affidato un registro degli scambi.
Durante la giornata, essi annotavano sul proprio registro tutti gli scambi di cui erano stati testimoni. Ad intervalli regolari, nei momenti in cui questi speciali detenuti-detentori dei registri potevano confrontarsi tra di loro, essi “sincronizzavano” i rispettivi registri aggiornandoli con le transizioni registrate da ciascuno. Al termine della fase di sincronizzazione, tutti avevano un registro identico e potevano ripartire a registrare le nuove transizioni.

Se proviamo ad analizzare questo meccanismo, appare subito evidente che, al termine della sincronizzazione, il registro assumeva la caratteristica di immutabilità: se uno dei detentori dei registri avesse provato a modificarlo, si sarebbe verificata una incongruenza alla successiva sincronizzazione, e tutti gli altri si sarebbero accorti della manomissione.
Dunque l'alterazione di una informazione scritta nel registro poteva essere effettuata solo previo accordo di tutti gli altri detentori del registro stesso.

La seconda caratteristiche è che l’aumento della sicurezza del sistema è proporzionale all’aumento dei detentori del registro, non tanto il grado di affidabilità del singolo.
Infatti, maggiori sono le persone che tengono una copia del registro, più difficile sarà accordarsi per inserire una modifica a posteriori. Inoltre, maggiori sono i registri in circolazione, maggiore è la probabilità che una stessa transazione venga “testimoniata” da più registri contemporaneamente, garantendone la veridicità.
Appare anche chiaro che non esiste un registro principale, perché esso è esistente in molteplici copie distribuite, e che chiunque sia dotato di un taccuino e fogli di carta può diventare un detentore di registro, senza la necessità di una particolare abilitazione o di fiducia da parte degli altri utilizzatori del sistema.

Oggi chiamiamo questa metodologia “blockchain”, il registro “ledger” ed i detentori del registro “miner”, e la logica di base è sostanzialmente la medesima.
Anche la blockchain è un registro distribuito in più copie detenute dai miner che registrano le transazioni a loro assegnate e, ad intervalli regolari, aggiornano le rispettive copie.
Se un miner ha un dato incongruente, la sua copia non è ritenuta valida e il dato non viene copiato. Ogni progetto blockchain ha le sue regole di governance che determinano, ad esempio, quanti miner devono “testimoniare” una transazione affinché essa sia ritenuta valida e copiata sui ledger degli altri miner, ma in generale una volta che il registro (ledger) è stato sincronizzato, nessuna copia incongruente può essere successivamente accettata**.

Come abbiamo visto, la tecnologia blockchain è prima di tutto un metodo di consenso, e le implicazioni (e gli usi) possibili sono davvero molteplici. Le principali applicazioni che negli ultimi hanno hanno visto una grande popolarità sono state le criptovalute e gli NFT, ma sono solo due dei possibili utilizzi di questa tecnologia.

Come per internet, che nel corso dei decenni abbiamo visto crescere con l’inclusione di sempre nuovi servizi (da IRC a Whatsapp, passando per il web e le sue migliaia di applicazioni), assisteremo ad una potenziale espansione della blockchain in servizi che vanno ben oltre gli aspetti finanziari e di proprietà digitale, abbracciando campi come cybersicurezza, gestione dei dati, gestione della identità.

Ed è di questo che parleremo nella seconda parte di questo articolo, accessibile qui.

Nota*: Non abbiamo notizie certe sulla veridicità di questa storia, ma rimane una leggenda utile a campire il funzionamento del meccanismo dei registri distribuiti.

Nota**: Ci sono delle eccezioni e riguardano i fork. Accade quando una certa quantità di miner (in una maggioranza definita dalle regole di governance) è d’accordo su una certa modifica di registro. Quando si verificano i fork, la blockchain si divide in due: da una parte la blockchain continua con la modifica effettuata, dall’altra i miner che erano in disaccordo portano avanti la blokchain originale non modificata (è il caso si Ethereum e Ethereum Classic).