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.


aggiornato il 2023-10-26