Byzantine Generals’ Problem
Problema dei generali bizantini
Byzantine Generals’ Problem
Problema dei generali bizantini
Difficoltà: avanzato
Argomento: tecnologia
DEFINIZIONE
Il problema dei generali bizantini è un esperimento mentale che affronta una questione chiave dell'informatica: è possibile formare un consenso in una rete di computer composta da nodi indipendenti e geograficamente distribuiti?
Il problema è stato proposto nel 1982 da ricercatori dello SRI International Research Institute.
Funziona così: ci sono un certo numero di generali bizantini che assediano una città. Possono comunicare solo attraverso l'invio di messaggeri l'uno all'altro. I generali devono concordare un piano d'azione comune: se attaccare la città o ritirarsi. Tuttavia, alcuni dei generali sono traditori e lavorano attivamente contro la formazione di un consenso; il loro numero e la loro identità sono sconosciuti.
La questione posta dal problema è quale algoritmo decisionale i generali dovrebbero utilizzare per elaborare un piano comune - indipendentemente dall'interferenza dei traditori - e se tale algoritmo esiste o meno.
Secondo l'analisi dei ricercatori, un tale sistema è effettivamente fattibile, ma il numero di generali leali deve rigorosamente superare i due terzi. Ad esempio, in una situazione con tre generali, di cui uno traditore, i leali non possono mai garantire che riusciranno a raggiungere un consenso.
Questo problema è molto rilevante per le criptovalute in quanto sono, in sostanza, sistemi informatici distribuiti: sono composti da nodi di elaborazione delle transazioni che sono indipendenti l'uno dall'altro e da qualsiasi autorità centrale e possono comunicare solo in remoto. Sono i "generali" che hanno bisogno di raggiungere un consenso su quali transazioni sono state effettuate e quando. I nodi hanno il potenziale per fornire dati errati sulle transazioni sia per scelta che per caso e le loro informazioni devono essere risolte.
Bitcoin (BTC) e altre criptovalute risolvono questo problema tramite soluzioni tecniche come gli algoritmi proof-of-work.
- Vedi anche
- BFT (Byzantine Fault Tolerance)
- Consensus Mechanism Meccanismo di Consenso
- PoW (Proof-of-Work)
aggiornato il 2023-10-26