Il 'number that can only be used once'(numero che può essere utilizzato una sola volta) noto anche come nonce, è un numero arbitrario utilizzato in crittografia all'interno dei cosiddetti protocolli di autenticazione.

In una rete blockchain basata sulla Proof of Work (Prova di Lavoro) il nonce funziona in combinazione con l' hash come elemento di controllo per evitare la manipolazione della informazione dei blocchi.

Questo numero casuale garantisce che i vecchi hash non possano essere riutilizzati in quelli che vengono chiamati attacchi replay.

In una riga, un nonce nella crittografia è:

Un numero casuale una tantum destinato all'autenticazione del trasferimento dati tra due o più parti.

Normalmente il nonce implementa anche un timestamp o marcatura oraria.

Potrebbe anche essere aggiunto un client nonce o ' cnonce', che migliorerà la sicurezza implementando l'autenticazione d'accesso.

È necessario assicurarsi che il nonce venga utilizzato una sola volta, pertanto, è indispensabile aggiungere una variante temporale che prevenga la ripetizione; per garantirlo è possibile anche generare casualmente un numero sufficiente di bit per ridurre questa probabilità.

Così aumenta la sicurezza e rende impossibile qualsiasi modifica all'interno del blocco, qualunque essa sia perché l'alterazione di qualsiasi elemento all'interno di un blocco altera l'intero hash e l'intera struttura del blocco.

Il calcolo del nonce viene eseguito in modo forzato, o analogamente: richiede grandi risorse di calcolo e di tempo; è quindi necessario raggiungere questo valore eseguendo una prova di lavoro o PoW.

È impossibile prevedere la combinazione di bit, che in genere è a 32 bit e che darà come risultato un hash corretto.