Cos'è il proof of work?
Definizione · Proof of work (PoW)
Un sistema in cui il diritto di aggiungere un blocco va a chi trova per primo un hash dell'intestazione del blocco sotto un target. Trovarlo richiede un numero enorme di tentativi; verificarlo richiede un solo hash.
Satoshi Nakamoto lo ha descritto nel whitepaper di Bitcoin nel 2008, basandosi su Hashcash di Adam Back, un'idea precedente per rendere costoso lo spam via email. L'hash valido è la prova. Non puoi ottenerne uno senza fare il lavoro, e chiunque può vedere che lo hai fatto.
Il resto di questa pagina ripercorre ogni parte, e il riquadro sopra ti permette di provarlo: quello è un vero formato di intestazione Bitcoin, con l'hash calcolato in tempo reale nel tuo browser. Per il quadro più ampio del mining, vedi la nostra guida completa al mining di Bitcoin.
Quale problema risolve il proof of work?
Bitcoin non ha alcuna azienda, banca o server al comando. Migliaia di computer mantengono la propria copia del registro, e devono concordare su quale blocco viene dopo e in quale ordine sono avvenuti i pagamenti. Altrimenti qualcuno potrebbe spendere la stessa moneta due volte.
Un semplice voto non funziona online, perché chiunque può avviare mille computer falsi e votare mille volte. Si chiama attacco Sybil. Il proof of work lo aggira: il tuo peso si misura in hash, e gli hash costano elettricità e hardware.
Chi ha voce in capitolo sul prossimo blocco?
Un voto per nodo
Un attaccante avvia 60 nodi falsi gratis e supera in voti i 12 nodi onesti.
Un voto per hash
miner onesti 88%attaccante 12%
Gli stessi 60 nodi condividono l'hardware reale dell'attaccante, quindi insieme pesano ancora il 12%. Le copie sono gratis, gli hash no.
Cosa c'è dentro l'intestazione di un blocco Bitcoin?
I miner non calcolano l'hash dell'intero blocco. Calcolano l'hash della sua intestazione di 80 byte, che vincola tutto il resto. Questi sono i sei campi che hai modificato nel riquadro in alto:
| Campo | Byte | Cosa contiene | Chi lo cambia |
|---|---|---|---|
| Versione | 4 | Quale insieme di regole segue il blocco | Cambia raramente |
| Hash del blocco precedente | 32 | L'hash del blocco precedente, che collega la catena | Nuovo a ogni blocco |
| Merkle root | 32 | Un'unica impronta di tutte le transazioni del blocco | Il miner, quando le transazioni o il nonce extra cambiano |
| Ora | 4 | Quando il miner dichiara che il blocco è stato creato (tempo Unix) | Il miner, entro i limiti |
| Bit | 4 | Il target, compresso in 4 byte | La rete, ogni 2.016 blocchi |
| Nonce | 4 | Un numero gratuito con cui riprovare | Il miner, a ogni tentativo |
Poiché l'intestazione include l'hash del blocco precedente, cambiare un vecchio blocco ne cambia l'hash, il che rompe l'intestazione successiva, e quella dopo ancora. Abbiamo verificato il vero blocco genesi del 2009 con lo stesso codice usato dall'esempio interattivo, sul nostro server, quando questa pagina è stata creata:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Come funziona SHA-256 in Bitcoin?
SHA-256 trasforma qualsiasi input in un numero di 256 bit, scritto come 64 caratteri esadecimali. Bitcoin lo esegue due volte sull'intestazione (viene chiamato SHA-256d). Le proprietà che contano per il mining sono semplici:
Stesso input, stesso output
Deterministico
La stessa intestazione dà sempre lo stesso hash, su qualsiasi computer. Ecco perché la verifica funziona.
256 bit
Dimensione fissa
Una riga breve o un intero libro, l'hash è sempre 64 caratteri esadecimali.
A senso unico
Nessuna scorciatoia indietro
Non puoi calcolare un input che dia l'hash che vuoi. Puoi solo provare degli input.
≈ 50%
Valanga
Cambia un carattere e circa metà dei bit si invertono. Guarda la griglia nell'esempio interattivo.
Quest'ultima proprietà è il cuore del proof of work. Un hash vicino al target non ti dice nulla sul prossimo tentativo, quindi non c'è un percorso furbo verso un blocco valido. Ogni miner sta giocando alla stessa lotteria, e più hash al secondo comprano solo più biglietti.
Cos’è il target, e perché gli zeri iniziali?
Il target è un numero di 256 bit. Un blocco è valido quando il suo hash, letto come numero, è uguale o inferiore a esso. Poiché i numeri piccoli iniziano con zeri, un target più basso si manifesta come più zeri iniziali. Ogni zero esadecimale in più significa in media 16 volte più tentativi.
Hash medi necessari per trovare un blocco valido
- Il blocco giocattolo nell'esempio interattivo · 4 zeri esadecimali iniziali65,536
- Il target più facile di Bitcoin (2009) · 8 zeri esadecimali iniziali, bit 1d00ffff4,294,967,296
- Un blocco Bitcoin oggi · circa 20 zeri esadecimali iniziali (stima in tempo reale)6.0 × 1023
La rete sposta il target ogni 2.016 blocchi, circa due settimane, così i blocchi continuano ad arrivare circa ogni dieci minuti indipendentemente da quanto hashrate entra o esce. In questo momento la rete gira a circa 1003 EH/s (in tempo reale, aggiornato ogni ora). Come funziona quell'aggiustamento è nella nostra guida alla difficoltà del mining di Bitcoin, e la spiegazione dell'hashrate tratta le unità.
Cos'è un nonce, e cos'è il nonce extra?
Il nonce (“numero usato una volta”) è il campo di 4 byte che i miner cambiano a ogni tentativo. È l'unico campo che esiste puramente per essere cambiato. Il problema è che 4 byte danno solo circa 4,3 miliardi di valori, e le macchine moderne li divorano quasi istantaneamente.
Il ciclo del miner
- 01
Prova ogni nonce
0, 1, 2 e così via fino a 4.294.967.295. Sono tutti i valori che 4 byte possono contenere.
- 02
Si esaurisce, in fretta
Una singola macchina da 100 TH/s li passa tutti in circa 43 milionesimi di secondo.
- 03
Cambia il nonce extra
Il miner modifica un campo di riserva nella propria transazione di ricompensa (la coinbase).
- 04
Nuova radice di Merkle
Quella transazione è cambiata, quindi la radice di Merkle cambia e ogni nonce dà di nuovo hash nuovi.
Quindi i miner cambiano anche un nonce extra, alcuni byte di riserva nella coinbase, la prima transazione del blocco che paga il miner. Una nuova coinbase significa una nuova radice di Merkle, e questo significa miliardi di nuovi nonce da provare. In un pool di mining, il pool assegna a ogni miner il proprio intervallo di nonce extra così nessuno ripete il lavoro di qualcun altro.
Perché un blocco è costoso da trovare ma economico da verificare?
Per trovare un blocco
≈ 6.0 × 1023 hash
L'intera rete, tutte le sue macchine, circa dieci minuti di tentativi.
Stima in tempo reale, aggiornata ogni ora.
Per verificarlo
1 hash
Qualsiasi nodo, anche un laptop economico, calcola l'hash dell'intestazione di 80 byte una volta e lo confronta con il target in ben meno di un millisecondo.
Il miner deve provare hash finché uno non cade sotto il target. Tutti gli altri devono solo calcolare l'hash dell'intestazione una volta e confrontarlo. Questo costo squilibrato è ciò che permette a migliaia di normali computer di verificare la catena senza fidarsi dei miner che l'hanno costruita.
Prova tu stesso la parte di ricerca qui sotto. Questa demo usa un formato di blocco più semplice dell'esempio interattivo, ma è la stessa lotteria a doppio SHA-256, e ogni blocco trovato si collega all'ultimo.
Interattivo · mina un blocco nel tuo browser
Vero proof of work SHA-256, header semplificato
Hash del blocco (doppio SHA-256)
Modifica le transazioni: l'hash cambia completamente con una sola lettera.
Tentativi: 0
Il tuo hashrate: n/d
Tempo: 0,0 s
Cos'è la regola della catena più lunga, e cos'è un attacco del 51%?
A volte due miner trovano un blocco quasi nello stesso momento, e la rete ha brevemente due versioni. I nodi seguono la catena con più lavoro totale dietro di sé. Le persone la chiamano la catena più lunga, ma è in realtà la più pesante: pochi blocchi a un'alta difficoltà possono superare più blocchi a una bassa.
Per invertire un pagamento, un attaccante dovrebbe costruire una catena più pesante di tutti gli altri, partendo da prima di quel pagamento. Ogni nuovo blocco sopra (una conferma) mette l'attaccante ancora più indietro. Il whitepaper ha calcolato le probabilità; sposta il cursore per vederle:
Interattivo · un attaccante può recuperare terreno?
Formula dal whitepaper di Bitcoin, sezione 11
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Blocchi di ritardo dell'attaccante (conferme). Le barre usano una scala logaritmica, da uno su un milione fino a certo.
Con il 10% dell'hashrate, la probabilità di riscrivere un pagamento dopo 6 conferme è 0,024%, e dopo 1 conferma è 20,5%.
Con il 50% o più, l'attaccante alla fine vince. Questo è l'attacco del 51%. È serio, ma ha dei limiti:
Con la maggior parte dell'hashrate, un attaccante può
- Sostituire i blocchi recenti con la propria catena
- Spendere due volte monete che si sono inviati da soli
- Escludere alcune transazioni dai propri blocchi
Anche allora, non possono
- Spendere monete dai wallet di altre persone
- Creare monete oltre la ricompensa di blocco
- Cambiare le regole di Bitcoin per tutti gli altri
Ecco perché gli exchange aspettano diverse conferme per i grandi depositi. Sei è la regola generale comune.
Perché il proof of work usa così tanta energia?
Perché l'energia è la sicurezza. Un blocco valido è la prova che è stata spesa vera elettricità. Per riscrivere la storia, un attaccante deve spendere almeno altrettanto di nuovo, e continuare a spendere mentre la rete onesta va avanti.
Dove va l'energia, e cosa compra
Ricompensa di blocco e commissioni
Nuovi BTC più commissioni per ogni blocco, pagati a chi lo trova.
Macchine ed elettricità
I miner spendono fino a quanto vale per loro la ricompensa.
Hashrate della rete
Tutta quella spesa si manifesta come hash al secondo.
Costo per riscrivere la storia
Un attaccante deve spendere più di tutto questo, blocco dopo blocco.
Quanta elettricità sia, e da dove venga, è un dibattito legittimo. Il indice di Cambridge traccia le stime, e la nostra guida all'energia del mining di Bitcoin ripercorre i numeri. Ogni halving riduce la parte di ricompensa in monete nuove, quindi nel tempo le commissioni devono coprire una quota maggiore di quel budget di sicurezza.
Proof of work contro proof of stake: qual è la differenza?
Il proof of stake (PoS) sceglie il prossimo produttore di blocchi tra le persone che bloccano monete come deposito, invece che tra chi brucia elettricità. Ethereum è passata dal proof of work al proof of stake nel 2022. Ecco un confronto equo:
| Proof of work | Proof of stake | |
|---|---|---|
| Chi aggiunge il blocco successivo | Il primo miner a trovare un hash sotto il target | Un validatore scelto in proporzione alla sua quota |
| Cosa lo protegge | Elettricità e hardware spesi fuori dalla catena | Monete bloccate dentro la catena, che possono essere confiscate per imbrogli |
| Consumo energetico | Alto, per progetto | Basso |
| Per partecipare | Macchine ed energia a basso costo | Monete da mettere in staking |
| Regolamento | Diventa più sicuro a ogni conferma | Checkpoint espliciti di finalità |
| Critica principale | Consumo energetico e concentrazione del mining | Concentrazione dello stake e un design più complesso |
| Storico | Bitcoin, dal 2009 | Ethereum, dal 2022 |
Gli sviluppatori di Bitcoin hanno mantenuto il proof of work perché il suo costo sta fuori dal sistema, quindi nessuno può comprare il controllo con monete che già possiede. I sostenitori del proof of stake sottolineano il risparmio energetico e la finalità più rapida.
Si può guadagnare bitcoin dal mining senza eseguire il proof of work in prima persona?
Sì. Con CloudMineCrypto mini bitcoin gratis dal tuo telefono o browser, senza hardware, rumore o bolletta elettrica. Attiva il piano gratuito di 8 ore, e aggiungi altri piani gratuiti guardando pubblicità, giocando, completando offerte e facendo il check-in ogni giorno. Il tuo saldo BTC cresce mentre i tuoi piani sono attivi, e prelevi sul tuo wallet, Lightning incluso.
Ogni piano ha un hashrate. La tua stima corrisponde alla quota di quell’hashrate sulla rete nel suo complesso, moltiplicata per 6 blocchi all’ora e per la ricompensa del blocco. Questa è la formula che l’app usa per stimare i tuoi premi (si applicano regole e limiti). Vuoi più potenza? Un piano a pagamento opzionale aggiunge hashrate; il prezzo viene mostrato prima della conferma.
Da sapere: i premi sono stime che seguono l'andamento della rete e non sono garantiti, e un piano non dà la proprietà di alcuna macchina o pool. Limiti o verifica potrebbero applicarsi ai prelievi. I dettagli sono nelle regole dei premi e nella guida al mining di Bitcoin gratuito. Si applicano i termini.
Domande frequenti
Cos'è il proof of work in termini semplici?
È un modo per rendere costoso in termini di sforzo reale l'aggiunta di un blocco. I miner calcolano l'hash dell'intestazione del blocco più e più volte, cambiando un numero chiamato nonce, finché il risultato non scende sotto un target. Trovare quell'hash richiede un numero enorme di tentativi, ma chiunque può verificarlo con un solo hash.
Cos'è un nonce in Bitcoin?
Un numero di 4 byte nell'intestazione del blocco che i miner cambiano a ogni tentativo. Ha circa 4,3 miliardi di valori possibili. Quando si esauriscono, i miner cambiano un nonce extra dentro la transazione coinbase, il che dà una nuova radice di Merkle e un nuovo set di hash.
Perché Bitcoin usa SHA-256 due volte?
Bitcoin calcola l'hash dell'intestazione di 80 byte con SHA-256 e poi calcola di nuovo l'hash di quel risultato. Satoshi non ha mai spiegato questa scelta. L'interpretazione comune è che protegga dagli attacchi di estensione della lunghezza e dia un margine di sicurezza extra.
Cosa permette di fare a qualcuno un attacco del 51%?
Chi ha la maggior parte dell'hashrate può costruire in privato una catena più lunga e sostituire i blocchi recenti, il che gli permette di spendere due volte le proprie monete o bloccare alcune transazioni. Non può spendere le monete di altre persone, creare monete oltre le regole o cambiare le regole per tutti.
Il proof of stake è migliore del proof of work?
Usa molta meno energia, e la sicurezza deriva da monete bloccate come stake. Il proof of work lega la sicurezza a un costo esterno, elettricità e hardware, e ha fatto funzionare Bitcoin dal 2009. Ognuno comporta compromessi diversi, quindi quale sia migliore dipende da cosa valuti di più.
Posso guadagnare bitcoin dal mining senza il mio hardware?
Sì. Nell'app CloudMineCrypto attivi piani di mining gratuiti (il piano gratuito, la pubblicità, i giochi, le offerte e un check-in giornaliero) e il tuo saldo BTC cresce mentre sono attivi, poi prelevi sul tuo wallet. I premi sono stime basate sull'hashrate del tuo piano e sui dati di rete in tempo reale, non sono garantiti, e un piano non dà la proprietà di alcun hardware.
Fonti e approfondimenti
- Bitcoin: A Peer-to-Peer Electronic Cash System (il whitepaper) · Satoshi Nakamoto, bitcoin.org
- Guida alla blockchain: intestazioni dei blocchi, proof of work, coinbase · Documentazione per sviluppatori Bitcoin
- Guida al mining: mining in solitaria, pool, getblocktemplate · Documentazione per sviluppatori Bitcoin
- Difficoltà · Bitcoin Wiki
- Conferma · Bitcoin Wiki
- Cambridge Bitcoin Electricity Consumption Index · Cambridge Centre for Alternative Finance
- Dashboard di mining: hashrate, difficoltà, blocchi recenti · mempool.space
I dati in tempo reale di questa pagina (hashrate della rete, ricompensa di blocco, prezzo del BTC) provengono dall'API di CloudMineCrypto, aggiornata ogni ora, e sono etichettati dove compaiono. Questa guida è a scopo educativo e non è consulenza finanziaria. CloudMineCrypto non è un prodotto di investimento; le ricompense nell'app sono stime e non sono garantite.
Hai letto come funziona. Ora guardalo succedere.
Richiedi un piano di mining gratuito di 8 ore nell'app CloudMineCrypto e guarda i tuoi BTC stimati salire in base ai dati in tempo reale della rete. Niente hardware, niente carta.