Definición
Un nonce (Número usado solo una vez) es un número que se usa una sola vez en un criptográfico comunicación para prevenir ataques de repetición y garantizar la vigencia de los mensajes.
En la minería de Bitcoin, el nonce es un número de 32 bits que los mineros incrementan miles de millones de veces por segundo tratando de encontrar una salida hash por debajo de la dificultad objetivo; este es el cálculo de "prueba de trabajo".
En las transacciones de Ethereum, el nonce es un contador de transacciones secuencial por cuenta: cada nueva transacción desde una dirección debe usar el siguiente nonce (empezando desde 0), lo que garantiza que las transacciones se procesen en orden y evita los ataques de repetición de doble gasto.
Si se omite el nonce de una transacción, todas las transacciones posteriores desde esa dirección quedarán bloqueadas hasta que se complete el hueco.
El nonce en dos contextos
Contexto 1: Minería de Bitcoin (Prueba de Trabajo)
Objetivo: Encontrar un hash con una dificultad inferior a la del objetivo. Proceso: El minero prueba diferentes nonces: Nonce = 0: Hash(block_header + 0) = 0xaf2b… (demasiado alto) Nonce = 1: Hash(block_header + 1) = 0xce4a… (demasiado alto) Nonce = 2: Hash(block_header + 2) = 0xb91c… (demasiado alto) … Nonce = 3,847,291,023: Hash = 0x0000000000a3b… (¡por debajo del objetivo!) → ¡Bloque encontrado! Válido prueba de trabajo.
~4 mil millones de nonces agotados por segundo por los mineros ASIC modernos Si no hay un nonce válido en el rango de 32 bits: Modificar la marca de tiempo o la transacción coinbase → Iniciar la búsqueda de nonce nuevamente
Contexto 2: Nonce de cuenta Ethereum (Contador de transacciones)
Alice envía transacciones: TX 1: Nonce = 0 (primera transacción desde la dirección de Alice) TX 2: Nonce = 1 TX 3: Nonce = 2 TX 4: Nonce = 3
Problema: TX 3 se bloquea (tarifa demasiado baja): TX 3 pendiente → TX 4 no se puede procesar (brecha de nonce) Solución: Reenviar TX 3 con gas más alto → TX 3 se confirma → TX 4 se confirma
Protección contra repetición: Si TX 3 fue confirmado en la red principal → La misma transacción no puede repetirse en la red de prueba (los diferentes ID de cadena hacen que el nonce + firma sean únicos para una cadena)
Nonce en sistemas criptográficos
| Sistema | Propósito del nonce | Autonomía |
| minería Bitcoin | Varíe la entrada para encontrar un hash PoW válido. | 0 a 2^32 (~4 mil millones) |
| cuenta Ethereum | Contador de transacciones secuenciales por dirección | 0 a 2^64 – 1 (~18.4 quintillones) |
| protocolos criptográficos | Prevenir ataques de repetición en las firmas | Aleatorio o secuencial |
| SSL / TLS | Garantizar la unicidad de la sesión | Aleatorio por sesión |
Preguntas Frecuentes
P: ¿Por qué Ethereum utiliza un nonce secuencial en lugar de uno aleatorio?
Los nonces secuenciales (0, 1, 2, 3…) garantizan el orden de las transacciones: no se pueden gastar los mismos fondos dos veces y las transacciones se ejecutan en el orden en que se envían. Los nonces aleatorios no evitarían los ataques de repetición con la misma eficacia y requerirían mecanismos adicionales para detectar transacciones duplicadas. Además, la secuencialidad facilita la identificación de transacciones bloqueadas: si el nonce 5 está pendiente y se envía el nonce 6, este último esperará hasta que se confirme el nonce 5.
P: ¿Cómo puedo solucionar una transacción de Ethereum que se ha quedado atascada?
Si una transacción se queda atascada con un nonce pendiente, puede optar por una de las siguientes opciones: (1) Acelerarla: reenviar el mismo nonce con un gas más alto (MetaMask dispone de un botón para acelerarla), o (2) Cancelarla: enviarse 0 ETH a sí mismo con el mismo nonce a un precio de gas más alto, lo que reemplaza la transacción atascada. Una vez resuelto el problema del nonce atascado, se procesarán las transacciones posteriores con nonces más altos.
P: ¿Qué es un ataque de "reutilización de nonce" en criptografía?
En los esquemas de firma criptográfica, reutilizar un nonce con la misma clave privada puede exponer matemáticamente dicha clave. El ataque a PlayStation 3 (fail0verflow, 2010) explotó el nonce constante de Sony en las firmas ECDSA, lo que permitió extraer la clave privada a partir de solo dos firmas. La firma ECDSA de Bitcoin utiliza nonces deterministas (RFC 6979) precisamente para prevenir esta vulnerabilidad.
Consejo de UPay: Si MetaMask La transacción permanece en estado "pendiente" durante horas. Verifique su nonce actual en Etherscan (su dirección → Transacciones → busque el nonce de la transacción pendiente). Active "Controles avanzados de gas" en la configuración de MetaMask y luego reenvíe la transacción usando el mismo nonce con un precio de gas más alto. Esto "reemplaza" la transacción anterior en el mempool. Nunca establezca manualmente un nonce superior a su nonce pendiente actual, ya que creará un espacio que bloqueará todas las transacciones futuras hasta que se complete.
Descargo de responsabilidad: este contenido es sólo para fines educativos y no constituye asesoramiento financiero.
Un día — Haciendo que las criptomonedas sean enciclopédicas










