¿Qué es un Nonce?

El ‘number that can be only used once’, (número que solo puede usarse una vez) también conocido como nonce, es un número arbitrario que se emplea en criptografía dentro de los denominados protocolos de autenticación.

En una red blockchain basada en Proof of Work (Prueba de Trabajo) el nonce funciona en combinación con el hash como un elemento de control para evitar la manipulación de la información de los bloques.

Este número aleatorio puede garantizar que los hash antiguos no se vuelvan a utilizar en lo que se denominan ataques de repetición.

En una línea, un nonce en criptografía es:

Un número aleatorio usado una sola vez destinado a la autenticación de transferencia de datos entre dos o más partes.

Normalmente el nonce implementa también un timestamp o marca de tiempo.

Se podría añadir también un cliente nonce o ‘cnonce’, lo cual permitirá mejorar la seguridad implementando la autenticación de acceso.

Se debe garantizar que el nonce se utilice una sola vez. Por lo tanto, se le debe agregar una variante de tiempo que impida la repetición. Para garantizar eso también se puede generar de forma aleatoria, un número suficiente de bits que reduzca esta probabilidad.

Esto añade seguridad y provoca que cualquier cambio dentro del bloque, sea cual sea, se convierta en imposible. Esto gracias a que la existencia de cualquier elemento dentro de un bloque altera todo el hash y toda la estructura del bloque.

El cálculo del nonce se realiza de manera forzada, o lo que es lo mismo: se requiere de grandes cantidades de recursos de cómputo y también de tiempo, por lo que conseguir este valor se necesita realizar una prueba de trabajo o PoW.

Es imposible predecir la combinación de bits, que normalmente es de 32 bits y que daría como resultado un hash correcto.

CriptoMundo

CriptoMundo.com es un medio digital independiente que difunde noticias y contenido sobre criptomonedas y tendencias emergentes de tecnologías financieras. Ofrece noticias, guías, artículos de opinión y gráficos en tiempo real.

Monedas

Bitcoin

Ethereum