Cosa sono “i Generali Bizantini” – (BFT) BYZANTINE FULL TOLLERANCE

Dalla nascita di Bitcoin nel 2008, come tipologia di pagamento elettronico peer-to-peer, sono stati creati molte altri Token e Cryptovalute, ognuno di essi con un particolare meccanismo di consenso. Tutte hanno in comune, tipicamente, la blockchain, come elemento centrale della loro architettura. Tra le più interessanti emerge la BFT: BYZANTINE FULL TOLLERANCE

A parte poche eccezioni, le blockchain sono intenzionalmente progettate per essere decentralizzate. Funzionano come un libro mastro digitale che viene gestito da una rete distribuita di nodi su personal computer. Per questo motivo, la tecnologia legata  alla Blockchain ha consentito la creazione di sistemi economici privi di fiducia (trustless), in cui transazioni finanziarie affidabili e trasparenti possono essere eseguite/inoltrate senza la necessità di Regolatori o intermediari.

Proprio per tale ragione le cryptovalute vengono assuntete come alternativa valida ai sistemi bancari e di pagamento (FIAT) tradizionali.

Alla stregua della maggior parte dei sistemi di calcolo distribuiti (DLT), i partecipanti ad una rete di cryptovaluta devono concordare/settare regolarmente lo stato giornaliero della blockchain, ed è ciò che viene chiamato: “Raggiungimento del consenso”. Tuttavia, conseguire e raggiungere un consenso sulle DLT, in modo efficiente e certo, è assai arduo e ben lungi dall’essere un’attività basica.

Or bene, domandiamoci come può una rete distribuita di nodi supportare concordare e validare una decisione, se alcuni dei nodi possono fallire o agire in modo truffaldino ? Questo è il punto centrale del cosiddetto: “problema dei Generali Bizantini”, che ha dato le origini al concetto di: “tolleranza ai guasti bizantina”.

Caliamoci nella analisi DELLA BYZANTINE FULL TOLLERANCE

Esiste il famoso scritto del 1982 degli scienziati: Pease, Lamport e Shostak, che descrive lo scenario, nel quale più di due generali devono concordare tra loro la strategia, prima di poter attaccare il loro nemico comune. La complicazione aggiunta risiede nel fatto che uno o più generali possono essere (o si manifestano) dei traditori, ovvero che possono mentire sulla loro scelta (per es. dichiarano di essere d’accordo ad attaccare per le 12:00, ma invece non lo faranno).

Al fine di giungere al consenso dunque, il comandante e ogni luogotenente di battaglia devono concordare sulla stessa decisione (ritirata oppure attacco).

Ogni generale capeggia il suo esercito, ed  ogni gruppo si trova in ​​diverse posizioni attorno all’obiettivo che intendono attaccare.

Adesso, hanno tutti circondato la città, ma sussiste un problema: la presenza di grandi barriere fisiche, come le colline, le montagne e i canyon, che separano i generali. In ogni caso possono comunicare tra di loro, solo inviando messaggeri. 

Appare dunque certo il fatto che per poter conquistare la città, solo un attacco lanciato contemporaneamente da tutti i generali potrebbe avere la meglio, e occupare con successo la città. Per avere il CONSENSO di tutti, l’unica soluzione è sfruttare i messaggeri per far recapitare i messaggi vicendevolmente.

Sembra facile … ma esiste una criticità non da poco..

Il problema è che alcuni generali potrebbero essere stati corrotti in precedenza. In cambio del loro tradimento, ottenere soldi dalle ricchezze della città. Alla luce di ciò tali generali traditori (BIZZANTINI), potrebbero inviare informazioni malevoli ai loro colleghi al fine di rovinare l’attacco, inquinando e non favorendo, un CONSENSO comune. Non di meno potrebbe pure succedere che i loro messaggi potrebbero essere a loro volta ” corrotti ” da altri messaggeri, o andare perduti.

Questi problemi che attanagliano la comunicazione sono legati al fatto che un generale è solo in grado di comunicare con un altro attraverso i messaggi, che vengono inoltrati da un corriere; ne consegue che la sfida centrale del problema dei generali bizantini è chele missive medesime potranno sempre essere in qualche modo persi, ritardati, distrutti.

Sorge spontanea la domanda: COME POSSIAMO RAGGIUNGERE IL CONSENSO nel reale ?

Appare evidente che non c’è soluzione in presenza di almeno ⅓ (o numero maggiore) di generali “traditori”.

Chiamiamo questi potenziali traditori: “generali nodi bizantini”, i quali possono agire negativamente.

Passiamo a Considerare scenari con 3 attori ed 1 traditore

In virtù del fatto che che conosciamo 3 nodi sembrerebbe che non possiamo giungere al conseguimento del consenso con un nodo bizantino; ma dall’altre parte, ciò non implica che non sia possibile generare un algoritmo per favorire e consentire ai nodi di conseguire un consenso con non più di 1/3 dei nodi bizantini.

Una colpa bizantina, ed assai pericolosa, è proprio un ifetto che si riferisce a qualsiasi deviazione arbitraria dal protocollo. In quanto, non solo i nodi potrebbero non fermarsi, rispondere o ricevere informazioni, ma potrebbero pure decidere di rilasciare false e corrotte info.

Ricordiamoci sempre che la funzionalità di un nodo racchiude in sé  l’invio, la ricezione, la memorizzazione e l’elaborazione dei dati e delle informazioni. A maggior ragione i guasti bizantini sono un superset di corti circuiti dimensionali (il nodo non restituire valori, o peggio bloccarsi). Il comportamento della maggior parte degli infedeli e aggressori, come i generali corrotti che provano ad ostacolare il consenso, cade sotto questo tipo di colpa e attività.

Ed è proprio lo stesso errore che si palesa in una BLOCKCHAIN pubblica, in quanto anche in una situazione di DLT, i partecipanti alla rete sono sconosciuti ed è imprevedibile il loro atteggiamento e comportamento.

L’insieme di questi atteggiamenti come può riguardare i fondamentali della blockchain ?

Evidenziamo maggiormente come la Blockchain è una tecnologia che rappresenta una soluzione concreta logica e razionale ad un problema/evento sociale.

La Blockchain è una struttura-dati regolamentata da un tipico sistema distribuito che vede la presenza di un numero illimitato di parteciapanti al processo e lavoro di consenso. Così come un numero sconosciuto di errori bizantini. In pratica risulta essere l’ambiente più contradditorio e più complesso che possiamo immaginare.è “semplicemente” una struttura dati governata da un sistema distribuito con un numero illimitato di partecipanti al processo di consenso e un numero sconosciuto di errori bizantini.


SIMILITUDINI tra LA BLOCKCHAIN e la Guerra FIAT

La distribuzione dello storage dei dati e della potenza computazionale sui medesimi, rappresentano la geografica distanza tra i generali, ed il perimetro operativo entro il quale agiscono.

Nella loro interezza i nodi rappresentano i generali

Gli errori o nodi dannosi rappresentano i traditori.

I possibili messaggi e missive, o pacchetti, rilasciati continuamente tra i nodi, rappresentano potenzialmente inaffidabili messaggeri; la loro ricerca di arrivare al consenso e l’ opportunità di includere un blocco o una catena di transazioni valida in Blockchain.

Le dinamiche e la storia è la medesima.

Alla fine, che cosa è la BFT ?

La tolleranza intrinseca ai guasti bizantina (BFT), è la capacità e proprietà di un sistema software (..e hardware) in grado di resistere all’insieme di insuccessi derivata dal problema dei generali bizantini. Pertanto, significa che un sistema BFT è in grado di continuare a funzionare (e lo sarà sempre), anche se alcuni nodi falliscono o agiscono in via malevola.

Esistono Blockchain che utilizzano consensi BFT ? 

Affermativo. Ripple e Stellar ad esempio, sono le tecnologie Blockchain più conosciute che utilizzano il consenso di BFT.

Nessuna risposta.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *