Un sistema di prova di lavoro consiste in un client che invia una sfida (cioè un problema matematico) al server. Il server quindi genera casualmente un nonce (ovvero un numero arbitrario utilizzato solo una volta) ed esegue l'hashing della sfida insieme al nonce. Il server controlla quindi se l'hash risultante soddisfa determinati requisiti. In caso affermativo, il sistema accetta la soluzione come risposta valida.
Progettare un sistema di prova del lavoro