Ecco una lista delle cose che succedono nelle operazioni di mining:
- Il software di mining scarica una lista di transazioni attive e le raggruppa in un blocco.
- Nel blocco viene inserita la coinbase transaction, una transazione che invia X BTC al minatore che elaborerà il blocco.
- Il software crea il Merckle root, che è l'hash di tutte le transazioni.
- Il software crea un file binario che si chiama block header, che contiene il Merckle root hash, l'hash del blocco precedente ed altre informazioni, come abbiamo visto precedentemente.
- Il campo denominato NONCE è un numero incrementale che sarà cambiato durante l'operazione di mining.
Miniera a cielo aperto
L'obiettivo è quello di creare un hash (doppio SHA256) che sia minore del numero contenuto nel campo BITS dell'header. Questo campo rappresenta una versione compressa (corta) del hash target, in sostanza il primo che riesce a generare un hash minore di quello scritto nel campo BITS, vince i BTC. In estrema sintesi:
- Si prende il block header come input.
- Si cambia il NONCE.
- Si calcolano degli hash fino a quando non si trova uno minore dell'hash target (campo BITS).
- GOTO punto 2
- Oppure si vince e poi GOTO punto 1.