Il problema di far accordare partecipanti distanti che non possono fidarsi l’uno dell’altro, a cui Bitcoin dà una risposta pratica.
Formulato nel 1982 nell’informatica teorica, si racconta così: più generali assediano una città, comunicano solo attraverso messaggeri, e devono decidere insieme se attaccare o ritirarsi — se agiscono in ordine sparso perdono. Alcuni di loro però sono traditori e mandano messaggi contraddittori a destinatari diversi, e i messaggeri stessi possono perdersi o essere intercettati. La domanda è se esista una procedura che permetta ai generali leali di arrivare comunque alla stessa decisione.
È la versione astratta del problema che deve affrontare qualunque sistema distribuito senza autorità centrale: mettersi d’accordo su una sola verità quando una parte dei partecipanti mente e nessuno può verificare direttamente cosa sappiano gli altri. Applicato al denaro digitale, è il motivo per cui prima di Bitcoin serviva sempre un’entità fidata che tenesse il registro: senza, nulla impediva di raccontare a due persone diverse due storie incompatibili sugli stessi fondi.
La risposta di Bitcoin non consiste nell’individuare chi è onesto, cosa che resta impossibile. Consiste nel rendere costoso mentire: con il proof-of-work, proporre una versione della storia richiede di spendere energia, e la versione che tutti riconoscono è quella su cui si è accumulato più lavoro. L’accordo smette di essere una questione di fiducia e diventa una questione di costo — ed è ciò che permette a due sconosciuti di scambiarsi valore senza che nessuno faccia da garante.
Vedi anche: Consenso, Proof-of-work, Decentralizzazione, Doppia spesa (double spend), Nodo (full node), Peer-to-peer (P2P).