Parallelismo con le 5 componenti del consenso
Rispetto al consenso di Nakamoto implementato nel contesto Bitcoin, è possibile trovare un parallelismo con le 5 componenti del consenso nelle blockchain:
- La generazione di blocchi richiede una Proof-of-Work mediante la risoluzione di un puzzle crittografico con un determinato grado di difficoltà tale da mantenere un intervallo di generazione e un grado di protezione adatti
- Il gossiping viene impiegato per la distribuzione dei blocchi/transazioni appena ricevuti o localmente generati
- Un blocco/transazione deve essere validato prima di essere inviato in broadcast agli altri o collegato alla coda di una catena locale; La validità si realizza evitando la double-spending o controllando la PoW allegata al blocco
- La catena più lunga rappresenta il raggiungimento del consenso in caso di disaccordo (che ha causato la fork)
- Chi ha generato un blocco accettato con successo può ottenere un reward; Sottomettere una nuova transazione ha un costo monetario
Tolleranza ai Guasti
- Consenso Distribuito Classico: La tolleranza ai guasti è espressa in termini di numero di nodi non corretti che il sistema può tollerare
- Consenso di Nakamoto: La tolleranza ai guasti è caratterizzata in termini di percentuale di potenza di hashing totale controllata da un avversario
Condizioni per la Sicurezza Nakamoto
- La rete deve sincronizzarsi più velocemente del tasso di generazione dei blocchi.
- Una maggioranza onesta di potenza di calcolo deve garantire la crescita della catena principale, che alla fine supererà qualsiasi ramo malizioso
Superamento del Limite del 33% BFT
- Nei protocolli BFT classici, se più di 1/3 dei nodi è malizioso, il consenso fallisce, portando i nodi onesti a decidere valori contrastanti
- Nakamoto:
- Il consenso di Nakamoto elude questo vincolo fondamentale adottando una finalità probabilistica
- Le decisioni contrastanti (fork) sono temporaneamente consentite, con la garanzia che verranno eliminate in futuro dallo sforzo continuo della maggioranza onesta
Limitazioni e Attacchi
- Basso throughput: L'intervallo di 10 minuti e la dimensione limitata del blocco sono necessari per una propagazione adeguata; Modificarli aumenterebbe le fork, minando la sicurezza
- Alto consumo energetico: La PoW consuma enormi quantità di energia
- Eclipse Attack: Un attaccante può isolare un nodo vittima dalla rete, impedendogli di vedere la catena principale e di contribuire ad essa