La faglia bizantina, o problema dei generali bizantini, è stato un argomento ampiamente dibattuto in vari campi come l'informatica oi sistemi distribuiti. Nella cripto, in particolare nella tecnologia blockchain, la tolleranza ai guasti bizantina (BFT) gioca un ruolo estremamente importante. Scopriamo di più su BFT in questo articolo!
Che cos'è la tolleranza ai guasti bizantina (BFT)?
La tolleranza ai guasti bizantina è la capacità con cui un sistema distribuito o una rete può funzionare e raggiungere un consenso (accordo neutrale), considerando che alcuni partecipanti potrebbero non agire o agire in modo dannoso. Il suo nome deriva da un paradosso chiamato problema dei generali bizantini, mentre la tolleranza ai guasti bizantina è la soluzione al problema.
Affinché la rete funzioni correttamente, anche se alcuni dei suoi partecipanti incontrano problemi (intenzionalmente o meno), devono esserci alcune regole e condizioni comuni in modo che i partecipanti funzionali possano garantire il consenso della rete.
Qual è il problema dei generali bizantini?
Il problema dei generali bizantini è stato introdotto per la prima volta nel 1982 in un documento da un gruppo di persone della Microsoft Research. Il problema è stato chiaramente descritto come segue:
“Immagina che diverse divisioni dell'esercito bizantino siano accampate fuori da una città nemica, ciascuna divisione comandata dal proprio generale. I generali possono comunicare tra loro solo tramite messaggero. Dopo aver osservato il nemico, devono decidere un piano d'azione comune.
Tuttavia, alcuni dei generali potrebbero essere traditori, cercando di impedire ai generali fedeli di raggiungere un accordo. I generali devono decidere quando attaccare la città, ma hanno bisogno di una forte maggioranza del loro esercito per attaccare allo stesso tempo.
I generali devono disporre di un algoritmo per garantire che (a) tutti i generali leali decidano lo stesso piano d'azione e (b) un piccolo numero di traditori non possa indurre i generali leali ad adottare un cattivo piano. I generali fedeli faranno tutti ciò che l'algoritmo dice che dovrebbero, ma i traditori possono fare tutto ciò che desiderano. L'algoritmo deve garantire la condizione (a) indipendentemente da ciò che fanno i traditori. I generali leali non dovrebbero solo raggiungere un accordo, ma dovrebbero concordare un piano ragionevole”.
Il problema dei generali bizantini, sebbene simile al problema dei due generali (paradosso dei due generali), è una versione più generale. In maniera più complicata, il problema dei generali bizantini può imporre più varianti. Ad esempio, i messaggeri possono non riuscire a consegnare il messaggio lungo la strada o addirittura modificare deliberatamente il contenuto originale.
Cos'è BFT in Crypto?
Nella cripto, in particolare nella tecnologia blockchain , la tolleranza ai guasti bizantina gioca un ruolo estremamente importante. Quando applichiamo il problema dei generali bizantini alle criptovalute, i generali sono i nodi . Tutti i nodi all'interno di una rete blockchain devono comunicare tra loro e trovare un modo per raggiungere un consenso, che porta a metodi che chiamiamo algoritmi di consenso .
Esistono numerosi modi per ottenere la tolleranza ai guasti bizantina. Pertanto, esistono anche vari algoritmi di consenso nello spazio blockchain, ognuno con le proprie soluzioni al problema per un'efficienza ottimale.
Bitcoin , con il suo algoritmo di consenso Proof of Work, è tra i primi a raggiungere la tolleranza ai guasti bizantina in criptovaluta. Dalla sua introduzione nel 2008, Proof of Work ha dimostrato di essere una delle soluzioni più sicure e affidabili a questo problema, insieme al successo di Bitcoin.
Come Proof of Work raggiunge la tolleranza agli errori bizantina
Come funziona la pratica tolleranza ai guasti bizantina?
La Practical Byzantine Fault Tolerance (pBFT) è un algoritmo di consenso introdotto alla fine degli anni '90 da Barbara Liskov e Miguel Castro con l'obiettivo di risolvere i problemi esistenti delle già disponibili soluzioni di tolleranza ai guasti bizantini.
In generale, pBFT funziona assegnando inizialmente 1 nodo come nodo primario (leader) e altri come nodo secondario (backup). Qualsiasi nodo può diventare il primario se quello attuale non funziona.
Inoltre, un sistema pBFT può funzionare quando e solo quando il numero massimo di nodi dannosi non deve essere maggiore o uguale a un terzo di tutti i nodi all'interno del sistema.
Ci sono 4 fasi dei round di consenso pBFT:
- Richiesta: il client invia una richiesta al nodo principale (leader).
- Pre-preparazione: il nodo principale (leader) trasmette la richiesta a tutti i nodi secondari (di backup).
- Preparare: i nodi (primario e secondario) eseguono il servizio richiesto.
- Commit: la risposta viene inviata al client se è valida.
Come funziona la tolleranza ai guasti bizantina (pBFT).
Centralizzazione e decentramento
Come puoi vedere, per raggiungere la tolleranza ai guasti bizantina, ogni nodo (o partecipante) all'interno della rete deve comunicare e cooperare con l'altro. Non esiste una fonte di informazioni affidabile su cui qualcuno possa fare affidamento. Pertanto, solo le reti decentralizzate devono considerare la tolleranza ai guasti bizantina.
Per le reti centralizzate, invece, sono sempre presenti una o più terze parti che fungono da intermediari tra ogni partecipante, facilitando molto la comunicazione e il consenso. Ogni partecipante non deve più fidarsi dell'altro; possono semplicemente fornire tutte le informazioni all'intermediario.
Tolleranza ai guasti bizantina nella centralizzazione e nel decentramento
Domande frequenti su BFT in Crypto
La Proof of Stake è tollerante agli errori bizantini?
Come accennato in precedenza, la tecnologia blockchain richiede algoritmi di consenso per raggiungere la tolleranza ai guasti bizantina. Essendo uno di questi, Proof of Stake può soddisfare i requisiti di tolleranza agli errori bizantini proprio come Proof of Work.
Scopri di più: Che cos'è PoS? Perché è la tolleranza ai guasti bizantina?
Tendermint è BFT?
Tendermint, introdotto per la prima volta nel 2014, è il primo adattamento del consenso Proof-of-Stake derivato dall'algoritmo Practical Byzantine Fault Tolerant (PBFT). Pertanto, è considerato un algoritmo di consenso BFT Proof-of-Stake.
Ethereum è tollerante ai guasti bizantina?
Ethereum sta attualmente utilizzando l'algoritmo di consenso Proof-of-Work, simile a quello utilizzato da Bitcoin. In futuro, Ethereum passerà la sua rete a Proof-of-Stake.
Ad ogni modo, Ethereum è ancora in grado di soddisfare la tolleranza agli errori bizantina.
Conclusione
La tolleranza ai guasti bizantina è la capacità con cui un sistema distribuito o una rete può funzionare e raggiungere un consenso (accordo neutrale), considerando che alcuni partecipanti potrebbero non agire o agire in modo dannoso.
Il suo nome deriva da un paradosso chiamato problema dei generali bizantini, mentre la tolleranza ai guasti bizantina è la soluzione al problema.
In breve, il problema dei generali bizantini si riferisce a un problema quando diversi generali vogliono attaccare una fortezza e devono decidere in gruppo se attaccare o ritirarsi. Dobbiamo scoprire come questi generali possono raggiungere un consenso indipendentemente da atti dannosi o tentativi di comunicazione falliti.
Quando applichiamo il problema dei generali bizantini alle criptovalute, i generali sono i nodi. Tutti i nodi all'interno di una rete blockchain devono comunicare tra loro e trovare un modo per raggiungere un consenso, che porta a metodi che chiamiamo algoritmi di consenso.
Esistono numerosi modi per ottenere la tolleranza ai guasti bizantina. Pertanto, esistono anche vari algoritmi di consenso nello spazio blockchain, ognuno con le proprie soluzioni al problema per un'efficienza ottimale.