Proof of Work (PoW): come i miner proteggono una blockchain

Proof of Work (PoW): come i miner proteggono una blockchain

La proof of work (PoW) è un meccanismo di consenso, ovvero una regola che permette a molti computer di concordare su un unico registro condiviso senza un’autorità centrale, in cui i partecipanti dimostrano uno sforzo computazionale costoso che chiunque può verificare rapidamente. In Bitcoin, lo sforzo consiste nel trovare l’hash di un blocco pari o inferiore a un obiettivo prestabilito (target).

La Proof of Work È Nata come Difesa contro la Posta Indesiderata

L’idea alla base della proof of work fu proposta per combattere la posta indesiderata anni prima che Bitcoin esistesse. In un documento intitolato “Pricing via Processing or Combatting Junk Mail,” presentato nel 1992 e pubblicato nel 1993, Cynthia Dwork e Moni Naor suggerirono che un utente dovesse eseguire un calcolo moderatamente difficile per ottenere l’accesso a una risorsa condivisa. Il costo era pensato per scoraggiare un uso frivolo, e gli autori si riferivano in particolare alla posta indesiderata.

In generale, una proof of work è un dato costoso e dispendioso in termini di tempo da produrre, ma facile da verificare per gli altri. Hashcash, un sistema creato da Adam Back, allegava una prova basata su hash di questo tipo a ogni email per scoraggiare lo spam e gli abusi di tipo denial-of-service. Il denial of service consiste nell’inondare un servizio di richieste in modo che altri non possano utilizzarlo.

Il whitepaper di Bitcoin, datato 31 ottobre 2008 e pubblicato sotto lo pseudonimo Satoshi Nakamoto, descrive un sistema di proof of work simile a Hashcash. Bitcoin lo utilizza affinché una rete di computer possa concordare su un’unica catena di blocchi senza bisogno di un’autorità centrale.

Come Funziona la Proof of Work in Bitcoin?

Il mining di Bitcoin è il processo di creazione di blocchi validi, e creare un blocco valido richiede di dimostrare la proof of work. Un miner è un partecipante che cerca di trovare un blocco valido. Un miner inizia raccogliendo le transazioni in attesa in un blocco candidato, ovvero un lotto di transazioni proposte per la catena. Successivamente, il miner compila l’header del blocco, un riepilogo di 80 byte di quel blocco.

Bitcoin applica l’hash SHA-256 all’header due volte, un metodo chiamato doppio SHA-256. SHA-256 è una funzione crittografica di hash. Una funzione di hash trasforma dati di qualsiasi dimensione in un’impronta di lunghezza fissa chiamata hash. La proof of work impone una condizione: letto come numero, l’hash dell’header deve essere pari o inferiore al target.

Il target è una soglia che l’hash di un blocco valido non deve superare. La difficoltà di rete misura quanto sia più difficile raggiungere il target attuale rispetto al target più facile consentito dalle regole. Quando il target scende, la difficoltà di rete sale, e un target più basso lascia meno hash accettabili, quindi la ricerca richiede più tempo.

Per ottenere un hash diverso, un miner modifica il nonce, un numero a 32 bit memorizzato nell’header. Il miner poi applica l’hash all’header, confronta il risultato con il target e ripete il processo. Questa ricerca viene spesso chiamata “rompicapo hash”, ma nulla viene risolto con l’ingegno: in media, un hash pari o inferiore al target può essere trovato solo attraverso una corrispondente quantità di lavoro di forza bruta, ovvero provando valore dopo valore.

La tabella seguente offre un esempio della stessa ricerca su scala ridotta. La regola è inventata, non è la vera regola di Bitcoin, e applica SHA-256 una sola volta anziché due. Il digest SHA-256 del testo “hello” seguito da un nonce deve iniziare con un numero prestabilito di zeri. I digest sono scritti in esadecimale, una notazione in base 16 che usa le cifre 0-9 e le lettere a-f. Un digest che inizia con degli zeri è un numero piccolo, quindi ogni regola funziona come un target.

Regola

Input (testo più nonce)

Digest SHA-256

Risultato

Il digest inizia con 000

hello0

5a936ee19a0cf3c70d8cb0006111b7a52f45ec01703e0af8cdc8c6d81ac5850c

Fallisce (inizia con 5)

Il digest inizia con 000

hello1

91e9240f415223982edc345532630710e94a7f52cd5f48f5ee1afc555078f0ab

Fallisce (inizia con 9)

Il digest inizia con 000

hello2

87298cc2f31fba73181ea2a9e6ef10dce21ed95e98bdac9c4e1504ea16f486e4

Fallisce (inizia con 8)

Il digest inizia con 000

hello10284

0006bc9ad4253c42e32b546dc17e5ea3fedaecdabef371b09906cea9387e8695

Riesce al tentativo numero 10.285

Il digest inizia con 0000

hello60067

0000e49eab06aa7a6b3aef7708991b91a7e01451fd67f520b832b89b18f4e7de

Riesce al tentativo numero 60.068

In questa ricerca su scala ridotta, ogni zero aggiuntivo moltiplica per 16 il numero medio di tentativi. Una regola a tre zeri richiede in media circa 4.096 tentativi, e una a quattro zeri circa 65.536, ma una singola ricerca può richiederne di più o di meno, come mostrano le due righe che hanno avuto successo: 10.285 è più di 4.096, e 60.068 è meno di 65.536. Verificare uno qualsiasi di questi risultati richiede un singolo calcolo SHA-256.

La ricerca reale di Bitcoin è di gran lunga più estesa. Il numero previsto di hash per blocco è pari circa alla difficoltà di rete moltiplicata per 2 elevato alla 32. A ottobre 2026, questo corrisponde a oltre 500 sestilioni di hash per blocco in media, e la cifra cambia ogni volta che la difficoltà di rete viene adeguata. Un sestilione è un 1 seguito da 21 zeri.

Verificare il lavoro di un blocco è molto più economico che produrlo. Un nodo è un computer della rete Bitcoin che controlla i blocchi secondo le regole della rete. Per verificare il lavoro di un blocco, un nodo ricalcola una sola volta il doppio hash SHA-256 dell’header del blocco e lo confronta con il target. Produrre il blocco ha richiesto quel numero di tentativi, mentre verificarlo richiede un solo calcolo di hash. È proprio questo divario a rendere il lavoro una prova.

La Proof of Work Permette ai Nodi di Concordare su Un’Unica Catena Senza un’Autorità Centrale

Due miner possono trovare blocchi validi quasi nello stesso istante, lasciando la rete con versioni concorrenti della catena. La proof of work fornisce a ogni nodo una regola di scelta: un nodo segue la catena con più lavoro alle spalle, ovvero quella che sarebbe più difficile da ricreare. Poiché chiunque può verificare il lavoro svolto, non serve un’autorità centrale che stabilisca quale catena sia valida.

Ogni blocco contiene l’hash del blocco precedente, quindi modificare un blocco passato significa rifare il lavoro per quel blocco e per tutti quelli successivi. La proof of work è pensata per rendere costosa la riscrittura della storia, e il costo per modificare un determinato blocco cresce con ogni nuovo blocco aggiunto dopo di esso.

La proof of work riguarda anche il doppio spending, ovvero il tentativo di spendere due volte gli stessi BTC. Invertire un pagamento già incluso in un blocco significherebbe rifare quel lavoro.

I Miner Ricevono il Sussidio e le Commissioni, e la Difficoltà di Rete Detta il Ritmo

In Bitcoin, un miner il cui blocco valido viene accettato dalla rete riceve la ricompensa del blocco. La ricompensa è composta da due parti: il sussidio del blocco, ovvero i BTC di nuova creazione, e le commissioni di transazione pagate dagli utenti le cui transazioni sono incluse in quel blocco. A ottobre 2026, il sussidio per i miner è pari a 3,125 BTC per blocco dall’ultimo halving avvenuto nell’aprile 2024.

Il sussidio del blocco viene dimezzato ogni 210.000 blocchi, un evento chiamato halving che si verifica circa ogni quattro anni. Solo il sussidio viene dimezzato, non le commissioni.

Ogni 2.016 blocchi, il protocollo Bitcoin adegua la difficoltà di rete. Misura quanto tempo hanno impiegato quei blocchi, usando gli orari registrati nei loro header, e confronta questo valore con 1.209.600 secondi, ovvero due settimane. Successivamente riscala il target in proporzione, in modo che i blocchi continuino ad arrivare in media ogni 10 minuti circa. Un singolo adeguamento può modificare la difficoltà di rete al massimo di un fattore 4 in entrambe le direzioni.

L’hashrate è il numero totale di hash al secondo calcolati dalle macchine della rete. Quando l’hashrate aumenta, i blocchi tendono ad arrivare più velocemente di ogni 10 minuti, e il successivo adeguamento aumenta la difficoltà di rete. Quando i blocchi arrivano troppo lentamente, l’adeguamento abbassa la difficoltà di rete. L’adeguamento misura solo i tempi dei blocchi: non conta i miner e non tiene conto del prezzo del BTC.

Il tempo di blocco di 10 minuti di Bitcoin è una media, non una garanzia per ogni singolo blocco. In un modello statistico della scoperta dei blocchi, circa il 63% dei blocchi arriva entro 10 minuti dal precedente.

In Cosa Differisce la Proof of Work dalla Proof of Stake?

Proof of work e proof of stake sono entrambi meccanismi di consenso che decidono quale partecipante aggiunge il blocco successivo a una blockchain. Una blockchain è un registro condiviso composto da blocchi collegati in sequenza. La proof of work lega questo diritto al lavoro computazionale: un miner esegue l’hashing finché un blocco non soddisfa il target.

La proof of stake lega questo diritto alle criptovalute che un partecipante blocca come garanzia, il che significa che le monete restano accantonate mentre il partecipante prende parte all’aggiunta dei blocchi. Un partecipante che tenta un’attività illegittima può essere penalizzato.

I due meccanismi differiscono per ciò che un partecipante impegna: lavoro computazionale nella proof of work, monete bloccate nella proof of stake.

Perché la Proof of Work Consuma Elettricità?

Il mining di Bitcoin utilizza elettricità perché la proof of work è un calcolo reale, e le macchine che calcolano assorbono energia. Il costo fa parte della definizione stessa: una proof of work richiede tentativi ed errori per essere prodotta, e in Bitcoin sono le macchine a svolgere questi tentativi ed errori.

Ogni hash calcolato da una macchina utilizza una certa quantità di energia, quindi più hash in totale generalmente significa più energia assorbita. Se si uniscono più macchine, i blocchi tendono ad arrivare più velocemente, la difficoltà di rete aumenta al successivo adeguamento, e ogni blocco richiede allora in media più hash.

Alcuni responsabili politici e pianificatori delle reti elettriche hanno sollevato preoccupazioni su come l’elettricità utilizzata dai miner di criptovalute negli Stati Uniti influisca su costi, affidabilità ed emissioni. Le stime pubblicate sul consumo elettrico di Bitcoin variano a seconda del metodo e del periodo considerato.

Un Hash Valido Dimostra che è Stato Impiegato uno Sforzo, Non che una Transazione è Valida

Un hash pari o inferiore al target dimostra che qualcuno ha svolto il lavoro. Non dimostra nulla riguardo alla validità delle transazioni contenute nel blocco. Un nodo completo accetta un blocco solo se ogni transazione al suo interno è valida e non già spesa, e un software per nodi come Bitcoin Core rifiuta un blocco che rivendica più del sussidio più le commissioni, indipendentemente da quanto lavoro ci sia dietro.

La proof of work inoltre non rende permanente la storia. Rende costosa la sua riscrittura. Una parte che controlla la maggior parte dell’hashrate della rete può rivedere la cronologia recente delle transazioni e impedire la conferma di nuove transazioni. Attendere un maggior numero di conferme, ovvero blocchi costruiti sopra il blocco che registra una transazione, aumenta il costo di una sua revisione senza eliminare la possibilità che avvenga.

La proof of work inoltre non remunera lo sforzo in sé. A livello di protocollo, l’hashing che non si conclude con un blocco accettato non riceve alcuna ricompensa, indipendentemente da quanta elettricità sia stata utilizzata.

27 novembre 2025

Notizie GoMining

Potresti essere interessato a: