Le blockchain sono notoriamente decentralizzate, ovvero non hanno un’autorità centrale delegata al fine di prendere le decisioni su cui devono fondare il proprio funzionamento. Questa, in effetti, è la caratteristica che ha fatto innamorare molte persone, stanche del dirigismo che caratterizza la finanza tradizionale.
Al tempo stesso, i vari network non sono lasciati all’anarchia. Al loro interno si svolge un processo decisionale che si fonda sul massimo di democrazia possibile. All’interno di questo processo un ruolo fondamentale è svolto dai meccanismi di consenso. Ogni blockchain ne ha uno, che imposta le condizioni da rispettare per prendere una decisione. Regolano cioè il problema del consenso posto dal cosiddetto Byzantine Fault Tolerance. Un aspetto fondamentale che occorre risolvere prima che un progetto sia avviato. Vediamo perché.
Byzantine Fault Tolerance: di cosa si tratta
Come abbiamo già ricordato, quindi, un network deve prendere determinate decisioni sul suo modo di funzionamento e altre questioni fondamentali per la sua gestione. Queste decisioni, però, potrebbero essere viziate da interessi particolari o apertamente truffaldini. Occorre quindi evitare che ciò avvenga. Come si può arginare un problema simile?
Il quesito è indicato come problema dei Generali Bizantini, un dilemma logico descritto dai ricercatori Leslie Lamport, Robert Shostak e Marshall Pease in un articolo accademico pubblicato nel 1982. Proprio la risposta data ad esso ha permesso l’elaborazione del concetto di Byzantine Fault Tolerance.
Il dilemma che viene affrontato al suo interno è quello di un gruppo di generali bizantini che deve accordarsi su una mossa prima di muovere assedio ad una città. Ognuno con la propria armata e dislocato in posizioni diverse, i generali devono coordinarsi per rendere efficace il prossimo movimento, si tratti di attacco o ripiegamento.
Per poterlo eseguire senza provocare problemi, devono quindi; decidere se attaccare o ripiegare, conoscere la decisione presa in modo da non generare pericolosi equivoci e passare all’esecuzione sincronizzata della stessa. Per farlo occorre usare dispacci che, però, devono arrivare integri ed essere interpretati nel modo giusto dagli altri generali, senza sabotaggi.
Ove trasportato all’interno della blockchain, sono i nodi a rappresentare i generali. In occasione di un processo decisionale la maggioranza degli stessi deve concordare e passare all’esecuzione della stessa mossa, Ove ciò non accada, il fallimento è pressoché sicuro. Per evitarlo, occorre che almeno i due terzi dei nodi siano inappuntabili in fatto di affidabilità ed integrità. Quando la maggioranza non risponde a tale logica si apre la porta non solo ad errori, ma anche ad attacchi pericolosissimi, a partire da quello 51%. Ecco perché il Byzantine Fault Tolerance (BFT) deve essere preso in considerazione da ogni azienda prima di partire.
BFT: non tutte le blockchain lo risolvono nel medesimo modo
La soluzione al Bizantine Fault Tolerance è fondamentale e ogni blockchain deve porsi il problema. Non tutte la reti, però, adottano lo stesso approccio. Ad esempio, Bitcoin lo fa con il sistema Proof-of-Work, che obbliga a grande potenza di calcolo, ottenibile soltanto previo grande impiego di risorse finanziarie per l’acquisto dei macchinari e l’energia.
Un approccio simile, però, sarebbe un controsenso in una blockchain operante nel settore sanitario. In questo caso, potrebbe essere più valido un sistema come il Delegated Proof-of-Stake, in cui a fare premio è la reputazione del nodo. La scelta avviene cioè su un piano etico, molto più affine ad un settore come l’assistenza sanitaria che alla finanza.
Si tratta quindi di un problema molto serio, non a caso tra le cause di fork, ovvero di separazioni tra due parti della stessa comunità. Ove una minoranza sia indotta a pensare che l’esito di una votazione sia stato originato da una truffa può trarne come dovuta conseguenza la scissione. Per evitare che ciò possa accadere è quindi necessario un meccanismo di consenso in grado di eliminare alla radice qualsiasi equivoco, preservando la decentralizzazione. Ecco perché continuano ad esserne proposti di nuovi.