Nonce (o “Número solo usado una vez”) es un término criptográfico que se usa para referirse a un número arbitrario que solo se puede usar una vez en una comunicación criptográfica. Los nonces suelen ser generados aleatoriamente por el remitente de un mensaje y luego enviados junto con el mensaje con fines de autenticación. Luego, el receptor del mensaje comprobará si este nonce coincide con lo que se envió y lo utilizará como prueba de que el mensaje proviene de quien dice ser.
Los nonces desempeñan un papel importante en muchos protocolos criptográficos, incluidas las firmas digitales y los algoritmos de intercambio de claves, como Diffie-Hellman Key Exchange (DHKE). Al generar números aleatorios en cada etapa de la comunicación, los nonces ayudan a garantizar que nadie más pueda interceptar o modificar mensajes sin ser detectado.
En las transacciones de criptomonedas, los nonces también se utilizan comúnmente cuando los mineros intentan resolver complejos acertijos matemáticos para ganar recompensas en Bitcoin u otras criptomonedas. Estos acertijos requieren tiempo y potencia de cálculo; por lo tanto, los mineros deben generar números únicos llamados "nonces" que actúan como identificadores de su trabajo en estos acertijos antes de enviarlos para su validación en las redes blockchain. Si dos mineros envían soluciones con el mismo valor nonce en el mismo período de tiempo, existe la posibilidad de que ambas soluciones sean aceptadas, pero solo se otorgará una recompensa, lo que provocará un problema de doble gasto dentro de la red, por lo que es importante generar un nonce único cada vez que se extrae.