Future Society

Il Consensus: la blockchain si basa sulla fiducia

6 June 2019 | Scritto da Giulio Siciliano

Dopo aver approfondito i “Distributed Ledgers”, ci soffermiamo su una nuova componente che contribuisce a definire la tecnologia Blockchain.

È possibile affermare che il consensus sia uno dei concetti fondamentali alla base di ogni blockchain. A voler fare una grossolana semplificazione, consensus significa che tutti i partecipanti al network della blockchain di riferimento hanno fiducia (giusto per richiamare ancora una volta il concetto chiave del trust alla base della blockchain) che i loro registri siano accurati e coerenti tra loro.

Il fatto che vi dovesse essere necessariamente una molteplicità di registri da riconciliare tra loro – e che tutti questi fossero controllati da un unico agente – è stato visto, almeno fino a questo momento, come un male necessario. Con la blockchain, forse, potremo abbandonare questa complessità.

Un concetto alla base della blockchain. Anche questo è un concetto descritto nel documento originale dello pseudonimo Satoshi Nakamoto: alla base dell’architettura Bitcoin c’è, infatti, un insieme di protocolli software cui spesso ci si riferisce come Nakamoto Consensus.
Facciamo un esempio: senza un metodo efficace per assicurare la coerenza tra i vari registri, un qualunque agente potrebbe spendere il medesimo ammontare di Bitcoin più volte. Questo genererebbe non pochi problemi, primo tra tutti il fatto che, istantaneamente, tutti i partecipanti del network perderebbero fiducia nel sistema. Nakamoto ha fatto in modo che il suo sistema fosse in grado di reggere all’urto di simili problematiche tramite la crittografia (la quale permette di individuare in via univoca tutte le transazioni).
Inoltre, i sistemi che si basano sul consensus sostituiscono il trust tra contraenti con il trust nel network degli stessi. Anche se alcuni degli agenti del sistema si dimostreranno disonesti, il sistema reggerà fino a che la maggioranza di essi continuerà ad avere comportamenti virtuosi. Questi agenti, almeno in riferimento al sistema Bitcoin, sono definiti miners.
Tutto il sistema ideato da Nakamoto potrebbe essere riassunto nello schema di un gioco a premi: i diversi miners competono tra loro per convalidare dei gruppi di transazioni, definite “blocchi” (blocks). Il primo che riesce a convalidarli è ricompensato con un ammontare x di Bitcoin e può agganciare il nuovo blocco ai precedenti.

Gli strumenti per il mantenimento della maggioranza. Nei sistemi digitali basati sul concetto di maggioranza, il mantenimento di quest’ultima rappresenta, paradossalmente, la più grande fonte di preoccupazione e di vulnerabilità dell’intero sistema. Potrebbe accadere, infatti, che un agente intenzionato a manomettere il funzionamento della blockchain crei un numero di account falsi sufficientemente elevato da imporre un proprio consensus all’intero sistema, pur essendo la maggioranza degli agenti reali del network onesta. E, come in tutte le strutture complesse, c’è l’altissima probabilità che uno o più agenti del sistema adottino comportamenti di questo tipo nel caso in cui questi siano di facile realizzazione e comunque remunerativi. Questa eventualità è definita Sybil Attack.

Proof of Work. La soluzione di Nakamoto a questo problema prende il nome di Proof of Work. I miners possono “agganciare” un blocco alla catena solo dopo aver risolto degli enigmi che, tendenzialmente, si basano sulla funzione crittografica di hash. La soluzione al problema dei Sybil Attack è proprio in questo: risolvere questi enigmi richiede una crescente potenza computazionale, per dotarsi della quale sono necessari costi sufficientemente alti da scoraggiare la realizzazione di uno di questi attacchi. Inoltre, la difficoltà degli enigmi da risolvere aumenta in maniera direttamente proporzionale all’aumentare della potenza di calcolo complessiva dell’intero sistema blockchain.
Detto in altri termini, tramite il sistema proof of work la realizzazione di molteplici account fasulli è stata resa, di fatto, antieconomica, in quanto i benefici derivanti dal voler alterare il sistema comportano guadagni inferiori alla spesa necessaria all’alterazione.
A seguito della risoluzione dell’enigma, al blocco che è stato così convalidato viene apposta una firma crittografica contenente l’hash code del blocco precedente, in modo da creare, appunto, una catena. Per quanto astrattamente possibile, la realizzazione di un attacco tramite il controllo del 51% della potenza di calcolo dell’intero network è estremamente remota.

Gli altri sistemi. Da ultimo, occorre sottolineare che il proof of work non è l’unico possibile strumento di verifica delle blockchain. Un altro sistema molto utilizzato è, ad esempio, il Proof of Stake, tramite il quale gli agenti del network, qualora decidessero di barare, rischierebbero di perdere la valuta in loro possesso. Esistono altri strumenti di garanzia del consensus, ma in questa sede non è possibile soffermarsi sull’analisi puntuale di ognuno di questi.
Dal punto di vista giuridico, è proprio sul consensus che si stanno riscontrando alcune delle maggiori difficoltà interpretative della tecnologia blockchain, ma avremo modo di parlarne in modo più approfondito nei prossimi articoli di questa rubrica.

Dopo aver parlato di “Distributed Ledgers” e di consensus, il prossimo intervento si soffermerà sugli smart contracts: proveremo a darne una definizione e a comprendere come anche questa funzione potrebbe rivoluzionare il mondo della contrattualistica.

Giulio Siciliano
Giulio Siciliano

Giulio Siciliano è laureato in giurisprudenza presso l’università LUISS Guido Carli di Roma, lavora come consulente in ambito Management e Innovazione.

leggi tutto