Il mining di criptovalute utilizza un sistema chiamato hashing crittografico. Questa funzione semplicemente prende qualsiasi input (messaggi, parole o dati di qualsiasi tipo) e lo trasforma in un codice alfanumerico di lunghezza fissa noto come "hash."

Ogni input crea un hash completamente unico ed è quasi impossibile prevedere quali input genereranno determinati hash. Anche cambiare un carattere dell'input porterà a un codice di lunghezza fissa totalmente diverso.

Ogni nuovo blocco ha un valore chiamato "hash target." Per avere il diritto di riempire il blocco successivo, i miner devono produrre un hash che sia inferiore o uguale al valore numerico dell'hash "target." Poiché gli hash sono completamente casuali, è solo una questione di tentativi ed errori finché un miner non ha successo.