Solo a scopo educativo; non costituisce consulenza né raccomandazione d’investimento. Gli investimenti possono comportare perdite.
Risposta diretta
Il mining di Bitcoin costruisce blocchi candidati validi e calcola ripetutamente i loro header di 80 byte con SHA-256d finché trova un risultato numerico non superiore al target di consenso. Il miner vincente propone soltanto il blocco. Non può rendere valida una transazione invalida, decidere fatti esterni o controllare monete altrui: ogni full node verifica indipendentemente prova, header, transazioni, script, output spesi, limiti e valore coinbase consentito.
Un nodo miner o pool ottiene candidati tramite interfacce come getblocktemplate. I campi rilevanti includono version, previousblockhash, transactions, coinbasevalue, target, bits, height, weightlimit e sigoplimit. Il template è un punto di partenza scelto per policy, non promette di includere ogni transazione né di accettare un blocco modificato. Validità di consenso, policy mempool, selezione delle fee e regole del pool sono livelli distinti.
L’hardware cerca varianti dell’header. Esaurito il nonce a 32 bit, il software cambia l’extranonce coinbase, ricostruisce la Merkle root e può aggiornare tempo o versione consentiti per creare nuovo spazio. Ogni hash è un tentativo indipendente. Più potenza compatibile aumenta la frequenza attesa, ma non pianifica un blocco né garantisce una scadenza.
Il mining solo riceve tutto l’output coinbase consentito ma ha elevata varianza. Un pool aggrega lavoro e usa target share più facili; soltanto una share che raggiunge anche il target di rete può diventare blocco. Il pool riduce la varianza, non aumenta l’emissione attesa. Custodia, controllo dei template, validazione delle share e passività PPS, PPLNS o altre aggiungono rischio di controparte e concentrazione.
Come analizzare il mining
- Fissa identità e autorità. Registra
chain,network,client version, regole,bestblockhash, fornitore del template, endpoint del pool, beneficiario e ora. Separa nodo, builder, operatore, firmware, impianto e proprietario. - Riproduci la selezione. Acquisisci
mempooleUTXO set; verifica validità, dipendenze, fee, peso, operazioni di firma, locktime e commitment witness. Ricostruisci il candidato e spiega la policy; il fee rate non è consenso. - Riconcilia coinbase e header. Verifica sussidio per altezza, fee incluse, output, commitment, hash precedente e Merkle tree. Segui
nonce,extranoncecoinbase,Merkle root,timeeversion bits; scarta template oltre i limiti. - Verifica ricerca e invio. Decodifica il target compatto e prova
block_hash <= targetcon ordine dei byte e hash della rete. Trovata la soluzione, ricostruisci il blocco, invialo consubmitblocko protocollo operativo e conserva l’esito. - Segui validazione e propagazione indipendenti. Confronta full node per header, transazioni, script, coinbase e chainwork. Misura propagazione, punte rivali, esiti stale o orphan e riorganizzazioni; trovare prova non garantisce permanenza canonica.
- Riconcilia ricompensa e contabilità del pool. Separa
coinbase,subsidy + transaction fees, fee e riserve,pool target,network target,shareaccettata, share stale, metodo, maturità, minimo, custodia e controparte. - Stressa economia e sicurezza. Dichiara tasso effettivo, disponibilità, efficienza, elettricità, raffreddamento, personale, hosting, manutenzione, ammortamento, finanziamento, imposte, limitazione, sussidio, fee, prezzo e difficoltà. Stressa varianza, guasti, shock, ritardo, insolvenza, censura, concentrazione e reorg.
Il prodotto è una proposta di blocco e una prova di ricerca computazionale. I nodi decidono la validità; la fork choice sceglie il ramo valido attivo; la difficoltà cambia target solo al confine; le applicazioni fissano le conferme. Il mining partecipa, ma non sostituisce nulla di ciò.
Esempi svolti
1. Il nonce non è tutto lo spazio
L’header di 80 byte ha nonce a 32 bit con 2^32 = 4,294,967,296 valori. A 200 TH/s, provarli richiede circa:
4,294,967,296 / 200,000,000,000,000 = 0.0000214748 seconds
Il lavoro continua: cambiare extranonce coinbase, derivare un’altra Merkle root e aggiornare campi consentiti apre un altro spazio nonce. Trattare il nonce come capacità totale è un errore di categoria.
2. Varianza solo ed elettricità
Con rete 600 EH/s e miner effettivo 200 TH/s, la quota semplificata è 200 TH/s / 600 EH/s = 0.0000333333%. Per 144 blocchi al giorno, l’attesa è lambda = 144 * 0.000000333333 = 0.000048 blocks/day, con attesa media 1 / 0.000048 = 20,833.33 days. Poisson dà P(0) = exp(-0.000048) = 99.9952001152% di zero blocchi giornalieri.
Una macchina da 3,5 kW a 0,06 USD/kWh costa 3.5 kW * 24 * USD 0.06/kWh = USD 5.04/day di elettricità diretta. Mancano raffreddamento, hosting, fermo, riparazioni, ammortamento, finanza e imposte. Il valore atteso non è data d’incasso; un raro successo solo non è credito giornaliero.
3. Contabilità coinbase e maturità
Supponi sussidio 3.125 BTC e fee valide 0.42 BTC. Il massimo creato dalla coinbase è 3.125 + 0.42 = 3.545 BTC; chiedere di più invalida il blocco e meno rinuncia a valore.
L’output coinbase richiede 100 blocks di maturità prima della spesa. Il blocco può diventare stale o essere riorganizzato. Saldo del pool, coinbase immatura e pagamento esterno finale sono diritti distinti con rischi diversi.
4. Share del pool e ipotesi di pagamento
Con share accettate di uguale difficoltà, il pool registra 2,000,000 e un miner 50,000: la quota è 50,000 / 2,000,000 = 2.5%. Con blocco da 3,545 BTC e fee 2%, sono distribuibili 3.545 * (1 - 0.02) = 3.4741 BTC e spettano 3.4741 * 2.5% = 0.0868525 BTC.
Se il target pool è 1,000 volte più facile, una share accettata ha probabilità semplificata 1 / 1,000 di raggiungere anche il target di rete. La contabilità reale normalizza difficoltà variabile, rifiuta duplicati e stale, applica PPS, FPPS, PPLNS o altro contratto e separa valore pagato dal pool da ricavo condizionato al blocco.
Rischi ed errori di revisione
Errori di protocollo e template
- Dire che i miner validano transazioni invece di scegliere candidati verificati dai nodi.
- Mescolare catena, rete, fork, punta, client, fornitore o pool.
- Trattare mempool o template come consenso, insieme completo o blocco futuro garantito.
- Selezionare per fee singola ignorando antenati, discendenti, peso, firme, lock e commitment.
- Sbagliare altezza del sussidio, fee, output coinbase, witness o Merkle root.
- Cercare su hash precedente, target, tempo o versione obsoleti dopo una nuova punta.
- Confrontare hash e target con codifica, endianità o algoritmo errati.
Errori di pool e operatività
- Equiparare share accettata a blocco di rete o contare share senza normalizzare difficoltà.
- Convertire quota attesa in blocchi, ricavi o date garantiti ignorando varianza.
- Equiparare quota pool a proprietà permanente dell’hardware o omettere concentrazione.
- Omettere share stale e rifiutate, latenza, firmware, temperatura, disponibilità, limitazione e guasti.
- Ignorare metodo, base fee, riserve, minimi, maturità, custodia, prelievo e insolvenza.
- Trattare un blocco trovato come finale prima di accettazione, propagazione, scelta e reorg.
- Riutilizzare credenziali, indirizzi o firmware remoto senza autenticazione, controllo e incident response.
Errori economici e di sicurezza
- Chiamare profitto fiat il BTC lordo atteso senza prezzo, difficoltà, fee, energia, raffreddamento, lavoro, ammortamento, finanza e imposte.
- Deducere elettricità o emissioni dal tasso senza efficienza, uso, raffreddamento, luogo, ora e mix.
- Supporre risposta immediata della difficoltà o blocchi di dieci minuti programmati.
- Affermare che halving garantisce prezzo, capitolazione o spesa di sicurezza costante.
- Affermare che maggioranza hash falsifica firme, ruba monete o impone inflazione invalida.
- Usare tasso alto come prova contro concentrazione di pool, produttore, firmware, geografia, energia, rete o software.
Idee sbagliate comuni
- I miner possono approvare qualsiasi transazione. Scelgono e ordinano; i nodi onesti rifiutano blocchi contrari al consenso.
- Solo il nonce è mutabile. Extranonce cambia coinbase e Merkle root; tempo e versione consentiti ampliano lo spazio.
- Una share del pool è una parte di blocco. Prova lavoro sotto un target più facile; quasi mai raggiunge quello di rete.
- Il ricavo giornaliero atteso è pagamento garantito. La scoperta è casuale e il pagamento dipende da contratto, maturità e controparte.
- Più hashrate significa automaticamente più profitto. Quota, difficoltà, fee, prezzo, efficienza, energia e costi decidono il risultato.
Argomenti correlati
Fonti
- Blockchain Technology Overview - NIST (consultato: 2026-08-19)
- Bitcoin: A Peer-to-Peer Electronic Cash System - Bitcoin.org (consultato: 2026-08-19)
- Bitcoin Developer Guide: Mining - Bitcoin Project (consultato: 2026-08-19)
- Bitcoin Developer Guide: Block Chain - Bitcoin Project (consultato: 2026-08-19)
- Bitcoin Developer Reference: Block Chain - Bitcoin Project (consultato: 2026-08-19)
- Bitcoin Core: miner.cpp - Bitcoin Core (consultato: 2026-08-19)
- Bitcoin Core: pow.cpp - Bitcoin Core (consultato: 2026-08-19)
- BIP 22: getblocktemplate - Fundamentals - Bitcoin BIPs (consultato: 2026-08-19)