Come le blockchain raggiungono il consenso · Lezione 3 di 5
Proof of work
9 min di lettura
L’idea di base: dimostrare un calcolo costoso
La proof of work (PoW) è un modello di consenso in cui i partecipanti che competono per proporre blocchi devono dimostrare di aver svolto un lavoro computazionale. In genere, il lavoro consiste nel tentare ripetutamente di trovare un hash dell’intestazione del blocco che soddisfi una condizione numerica. In media, trovare un risultato valido è costoso, ma per gli altri nodi verificarlo è rapido. In una rete aperta, ciò introduce un costo misurabile per la produzione di cronologie candidate e scoraggia la creazione illimitata e senza costi di identità concorrenti. L’obiettivo non è risolvere un utile rompicapo aritmetico fine a sé stesso; il rompicapo è un metodo per assegnare il diritto di proporre la cronologia e attribuire un costo ai tentativi di sostituirla.
Bitcoin è l’esempio storico più noto. Il documento originale del 2008, Bitcoin: A Peer-to-Peer Electronic Cash System, combinava una rete di computer validatori con un meccanismo di lavoro basato su hash e una regola per riconoscere la catena che rappresenta il maggiore lavoro cumulativo. Questo modulo usa tale struttura come esempio, non per affermare che tutti i sistemi PoW utilizzino parametri identici. Alcuni impiegano algoritmi di hash, cadenze di produzione dei blocchi, politiche di ricompensa e metodi di adeguamento della difficoltà computazionale diversi. Le questioni di sicurezza pertinenti riguardano ciò che il protocollo richiede, il modo in cui il lavoro viene verificato e i criteri usati per confrontare rami validi in competizione.
Come il mining produce un blocco candidato
Il mining è l’attività di ricerca di un blocco candidato il cui hash calcolato sia inferiore a un target definito dal protocollo. Un target numerico più basso è più difficile da raggiungere, perché sono validi meno hash possibili. Un miner raccoglie transazioni idonee, costruisce un blocco candidato conforme alle regole della rete e varia i dati consentiti mentre calcola hash di prova. Può variare un nonce o altre informazioni modificabili. La maggior parte dei tentativi non riesce; alla fine, un miner può trovare un output che soddisfa il target. Trovare un valore valido dimostra che probabilmente sono stati necessari molti tentativi, anche se gli osservatori non possono sapere il numero esatto di tentativi effettuati in un singolo caso.
Il vincitore pubblica il blocco e la relativa prova. Gli altri nodi effettuano autonomamente controlli poco onerosi: l’hash dell’intestazione soddisfa il target? Il blocco è collegato a un predecessore accettato? Tutte le transazioni e i campi rispettano le regole di consenso? Non devono ripetere le migliaia o i bilioni di tentativi non riusciti del miner. Una proof of work valida è necessaria per accettare un blocco in un protocollo PoW, ma non è sufficiente se il blocco contiene una transazione non valida. È importante notare che i miner propongono i blocchi, mentre i nodi completi determinano localmente quali blocchi proposti rispettano le regole. Possedere macchine per il mining non consente a un operatore di ridefinire unilateralmente tali regole per tutti.
Hash rate, target e difficoltà
L’hash rate esprime il numero approssimativo di tentativi di calcolo degli hash effettuati per unità di tempo. La difficoltà rappresenta quanto sia difficile raggiungere il target rispetto a un valore di riferimento definito dal protocollo. Quando l’hash rate complessivo dei partecipanti aumenta, un target invariato tende a produrre blocchi validi con maggiore frequenza. Molte reti PoW adeguano periodicamente il target per avvicinare la produzione media dei blocchi all’intervallo prescelto. Gli adeguamenti si basano in genere sulle osservazioni dei blocchi recenti e sono soggetti a regole specifiche del protocollo. Di conseguenza, aggiungere attrezzature informatiche non garantisce blocchi permanentemente più veloci né permette di prevedere l’ora esatta di arrivo del blocco successivo.
L’intervallo tra i blocchi è una media statistica, non una promessa che un altro blocco arriverà entro una determinata scadenza. I blocchi possono arrivare a breve distanza l’uno dall’altro oppure dopo un’attesa insolitamente lunga. Per i team operativi, questa variazione è importante nella definizione delle politiche di conferma, delle notifiche ai clienti o dell’elaborazione in batch. Un sistema che considera una media di dieci minuti una garanzia sul livello di servizio confonde le statistiche del protocollo con un calendario contrattuale. Analogamente, un’apparente assenza di nuovi blocchi può dipendere dalla normale aleatorietà, da problemi di connettività, da errori software o da un’interruzione più ampia; gli operatori devono disporre di prove prima di attribuirla a una causa specifica.
Come vengono risolti i conflitti tra rami
Due miner possono scoprire blocchi validi che fanno riferimento allo stesso predecessore quasi nello stesso momento. I peer possono ricevere per primi blocchi diversi, generando un fork temporaneo. Un nodo PoW segue in genere il ramo valido con il maggiore lavoro cumulativo, secondo il calcolo di selezione della catena previsto dal protocollo. «Catena più lunga» è un’espressione comunemente usata come abbreviazione, ma limitarsi a contare i blocchi può essere fuorviante quando la difficoltà o il lavoro variano. Un ramo che contiene un blocco non valido deve essere rifiutato, indipendentemente dalla quantità di calcolo che sembra sostenerlo. Il consenso si basa sulla combinazione di regole di validità e di un metodo oggettivo per confrontare cronologie valide.
Un miner il cui blocco non fa più parte della catena selezionata può aver prodotto un blocco valido ma obsoleto. Le relative transazioni non sono necessariamente perdute: le transazioni idonee possono essere proposte di nuovo, mentre quelle in conflitto o già confermate saranno gestite in base allo stato corrente del registro. Questo è uno dei motivi per cui la prima inclusione di una transazione non implica necessariamente un regolamento irreversibile. Una lezione successiva esaminerà in che modo il lavoro accumulato influisce sul livello di certezza e come avviene una riorganizzazione. Per ora, è importante concentrarsi sul meccanismo: osservatori diversi possono convergere sullo stesso ramo valido senza che un’autorità centrale annunci il vincitore.
Presupposti di sicurezza e possibili interruzioni
La proof of work rende costoso un tentativo di riscrivere la cronologia, perché un attaccante potrebbe dover costruire un ramo alternativo che superi la catena onesta in termini di lavoro cumulativo. È una difesa probabilistica. Un avversario con un hash rate considerevole può aumentare la probabilità di riorganizzare blocchi recenti o ritardare determinate transazioni. L’espressione «attacco del 51%» è una formula d’allarme ben nota, ma la fattibilità precisa di un attacco dipende dai presupposti, dalle tempistiche, dall’hash rate concorrente e dagli obiettivi dell’attaccante. Nemmeno una maggioranza della potenza di hash consente a un attaccante di creare dal nulla monete valide o di spendere monete senza rispettare le regole di autorizzazione del protocollo.
La concentrazione del mining introduce ulteriori rischi. Il possesso delle attrezzature, l’accesso all’elettricità, l’hardware specializzato, le catene di fornitura del software e la partecipazione a pool di mining possono influire sull’effettiva autonomia decisionale. Un pool di mining coordina il lavoro di più partecipanti e distribuisce le ricompense secondo le proprie condizioni. I partecipanti al pool possono controllare il proprio hardware senza selezionare autonomamente ogni transazione o template. Gli analisti dovrebbero quindi distinguere la distribuzione fisica delle attrezzature dal controllo sulla costruzione e sulla distribuzione dei blocchi. La sola dispersione geografica non è una misura completa della resilienza della rete.
Costi energetici e operativi
La PoW richiede calcolo fisico e quindi elettricità. Il suo impatto ambientale dipende dal consumo energetico effettivo, dal mix di produzione dell’energia, dal ciclo di vita delle attrezzature e da altre condizioni, non soltanto dall’etichetta del meccanismo di consenso. I sostenitori sottolineano il costo di sicurezza imposto ai tentativi di riscrittura; i critici evidenziano l’uso delle risorse, la concentrazione e le opportunità offerte da approcci più efficienti. Una valutazione istituzionale neutrale dovrebbe quantificare i requisiti del sistema e confrontare le alternative sulla base di criteri trasparenti. Alcune giurisdizioni, per esempio l’UE, richiedono la divulgazione degli impatti climatici e ambientali del meccanismo di consenso utilizzato da una cripto-attività.
Cosa non garantisce la proof of work
La proof of work non garantisce automaticamente una finalità rapida, una partecipazione paritaria, la protezione da ogni bug software o la validità giuridica delle pretese registrate. Il lavoro fornisce un metodo per selezionare la cronologia nell’ambito di un modello di sicurezza; non valuta i fatti esterni alla blockchain. Né la visualizzazione di un block explorer può sostituire una politica di conferma documentata. Applicazioni diverse possono richiedere tolleranze diverse al rischio di una recente inversione della catena. Un ente pubblico che registra avvisi di routine e un sistema di pagamento che trasferisce importi considerevoli possono scegliere procedure diverse, anche se entrambi osservano la stessa rete.
Per i responsabili, i team addetti agli acquisti e i revisori, le domande più utili sono concrete. Quali regole relative all’algoritmo e al target utilizza la rete? Chi gestisce i nodi validatori? Come viene valutato il lavoro cumulativo? Cosa accadrebbe in caso di interruzione delle comunicazioni? Quali dashboard operative segnalano rami concorrenti, ritardi o riorganizzazioni della catena? Queste domande sono più informative dell’affermazione che una rete «usa il mining». Mettono in luce presupposti che possono essere verificati, monitorati e spiegati agli stakeholder non tecnici.
Riepilogo rapido
| Termine | Descrizione |
|---|---|
| Hash rate | Tentativi di calcolo degli hash per unità di tempo |
| Target o difficoltà | Condizione che rende idoneo un tentativo |
| Lavoro cumulativo | Criterio per confrontare i rami PoW validi |
| Validazione | Controlli indipendenti che vanno oltre il rompicapo PoW |
Un breve confronto in vista della prossima lezione
Nella proof of work, l’influenza sulla proposta è collegata al lavoro computazionale e alle risorse necessarie per produrlo. La proof of stake sostituisce questa competizione tra risorse con una partecipazione definita dal protocollo e legata al valore bloccato o impegnato nel sistema. Entrambi i meccanismi devono comunque definire regole di validità, gestire proposte concorrenti e preservare una cronologia coerente. Differiscono nel modo in cui viene assegnata l’influenza, nel modo in cui si scoraggia il comportamento scorretto e nelle dipendenze operative rilevanti. Nessuno dei due è categoricamente adatto a ogni caso d’uso. La prossima lezione esamina queste scelte progettuali senza considerare l’uno o l’altro meccanismo come una tesi di investimento.
Punti chiave per l’esame: Descrivere l’asimmetria tra ricerca e verifica nella PoW, distinguere l’hash rate dalla difficoltà e spiegare perché i nodi selezionano il ramo valido con il maggiore lavoro cumulativo, invece di fidarsi automaticamente del miner o del blocco ricevuto più di recente.
Note sulle fonti
Riferimenti pertinenti: Satoshi Nakamoto (2008), Bitcoin: A Peer-to-Peer Electronic Cash System, sezioni 4–5; NIST IR 8202 (2018), Blockchain Technology Overview.