Per disincentivare la creazione di __enormi quantità di transazioni in poco tempo__ (che creerebbe numerosi problemi alla rete) le transazioni vanno accompagnate con un __proof of work__, ovvero la soluzione ad un complesso problema matematico, per provare che del tempo è stato speso per generare la transazione.
### La messa in circolo tramite Bitcoin Mining
All'origine della rete, essa è __inutilizzabile__ a causa delle sue stesse regole: __se nessuno può trasferire bitcoins senza possederli, come è possibile ottenere dei bitcoin?__
I bitcoin vengono messi in circolazione tramite __bitcoin mining__, che consiste nel effettuare i controlli matematematici per __provare la validità di una transazione__.
Il processo di __controllo della validità di una transazione__ è lento e richiede molta potenza di calcolo, di coseguenza __per incentivarlo, la rete premia i "lavoratori" inserendo dei bitcoin nel loro portafoglio__.
Nel tempo, i Bitcoin hanno acquistato __un valore anche di centinaia di dollari per un singolo Bitcoin__ quindi il __bitcoin mining__ può essere un'attività estremamente __lucrativa__.
### Proof of Work
Un proof of work consiste semplicemente nel trovare un __valore__ il cui __hash SHA-256__, quando rappresentato tramite notazione esadecimale, inizia con una certa quantità di __zeri__.
Esempi:
| Valore | SHA-256 (Troncato)|
| -- | -- |
| test | 9f86d081884c7d65... |
| valore_di_esempio | a9a23159b7c4555b... |
| stringa_hash | 4b4c1b2efca629b62... |
Essendo l'__hashing__ una procedura __non prevedibile__, l'unico modo per trovare un hash che soddisfi i requisiti è __procedere casualmente__.
Dunque il tempo richiesto per calcolare __miliardi di hash__ fino a trovare un valore che soddisfi i __requisiti__ è immenso, rendendo il __proof-of-work__ una procedura inventata per essere lenta, in modo da __provare__ che numerosi minuti sono stati spesi per effettuare un'operazione e dunque impedire l'invio di immense quantità di operazioni.
Nel tempo, il numero di transazione da validare è aumentato sempre di più, ma anche il numero e la potenza di calcolo offerta dai miners è aumentata: ecco perchè sono nate le __mining pool__, delle organizzazione che raggruppano i miners in modo da produrre __enormi quantità di bitcoin in pochissimo tempo__, dividendolo __in base alla percentuale di calcoli svolti da ogni miner__.
I vantaggi principali sono __la percezione di piccole quantità di bitcoin molto spesso__ da parte di ogni miner, invece che __percepire enormi quantità ma dopo anni e anni di lavoro__, poichè un singolo computer è estremamente lento in questa procedura, e percepirebbe un guadagno dalla rete enorme ma solo dopo enormi quantità di tempo.
In casi in cui la grande quantità di corrente elettrica necessaria per il mining e i costi aggiuntivi di manutenzione e aria condiziata non superino i guadagni, il mining può essere un'attività in grado di generare profitti.
Nel passato ci sono stati casi in cui dei software miner sono stati inclusi nel codice di alcuni popolari programmi gratuiti come __uTorrent__ e il videogioco __Team Fortress 2__. Questo ha permesso ai malfattori di guadagnare soldi sfruttando la potenza di calcolo degli utenti di questi software (ovviamente in maniera illecita).