¿Qué es un nonce en criptomonedas? Minería de Bitcoin, Ethereum, Criptografía

¿Qué es un nonce en criptomonedas? Minería de Bitcoin, Ethereum, Criptografía

En diciembre de 2010, durante el Chaos Communication Congress en Berlín, un pequeño grupo llamado fail0verflow anunció haber extraído la clave maestra de firma de Sony para la PlayStation 3. El exploit no rompió una curva elíptica de 256 bits ni descifró AES. Explotó el hecho de que el sistema de firma de código de Sony reutilizaba el mismo número para cada firma que generaba. Ese número era un nonce.

La misma palabra, "nonce", aparece en tres ámbitos del mundo cripto que prácticamente no tienen nada más en común. Es la variable que un minero de Bitcoin utiliza billones de veces por segundo en busca de un hash de bloque válido. Es el contador que usa tu billetera Ethereum para secuenciar las transacciones salientes, y la razón por la que una transacción atascada bloquea todas las demás que firmas. Es el valor único que necesita un cifrado AES-GCM para evitar que dos mensajes cifrados revelen el contenido del otro. Una palabra, tres funciones, ninguna intercambiable. Confundir una con otra es la razón por la que los principiantes malinterpretan los errores de "nonce demasiado bajo", por la que los mineros diseñan configuraciones imposibles y por la que sistemas como la PS3 pierden su raíz de confianza.

Un nonce de 32 bits llamado "número usado una sola vez": origen

El acrónimo inverso está por todas partes. «Nonce significa número usado una sola vez». Aproximadamente cierto, históricamente erróneo. La palabra inglesa es anterior a la criptografía por unos 750 años. «For the nonce» aparece en manuscritos del inglés medio alrededor del siglo XIII. Significaba «para esta ocasión en particular».

La criptografía adoptó el término en 1978 con el protocolo de autenticación Needham-Schroeder. En este caso, la propiedad que lo define no es la aleatoriedad, sino la unicidad dentro de un ámbito definido. Wikipedia, remitiéndose a la práctica real, define un nonce como «un número arbitrario que puede utilizarse una sola vez en una comunicación criptográfica». Un contador, una marca de tiempo, un valor aleatorio o cualquier combinación de los tres cumplen esta condición. Lo importante es que, dentro del sistema, el mismo nonce nunca se repita con la misma clave ni en el mismo contexto.

Una sola palabra realiza el trabajo, y este se divide en tres partes. El nonce de minería de Bitcoin varía hasta que el hash del bloque cae por debajo del objetivo de dificultad. El nonce de cuenta de Ethereum es un contador que la red no permite que se repita. Un nonce criptográfico en el cifrado simétrico es un valor asociado a una clave, y reutilizarlo una vez invalida el cifrado.

La palabra es imprecisa. Los contextos no lo son.

Nonce en criptomonedas

Cómo funciona el nonce en la minería de Bitcoin

En Bitcoin, el nonce ocupa un campo de 32 bits dentro del encabezado del bloque de 80 bytes. Cuatro bytes. Los valores van de cero a 4.294.967.295. Algo menos de 4.300 millones de números posibles, una cifra que parecía enorme cuando Satoshi escribió el protocolo y que ahora un ASIC del tamaño de un escritorio procesa en microsegundos.

La minería consiste en una carrera por encontrar un valor en ese campo que produzca un hash de bloque válido. Se toma la cabecera de 80 bytes. Se procesa dos veces con SHA-256, la función hash criptográfica en la que se basa la cadena de bloques de Bitcoin. El resultado es un número de 256 bits. Este número se compara con el hash objetivo establecido por el objetivo de dificultad de la red, el mecanismo de consenso que impulsa la prueba de trabajo. ¿Por debajo del objetivo? El bloque es válido y el minero gana. ¿Por encima del objetivo? Se incrementa el nonce en uno y se vuelve a calcular el hash. Los mineros de Bitcoin repiten este proceso hasta que alguien encuentra un nonce válido y el nuevo bloque se añade a la cadena de bloques.

¿Por qué un campo tan pequeño para una tarea tan grande? Por razones estructurales. El nonce es el elemento más barato del encabezado que un minero puede modificar. Todos los demás campos tienen dependencias. La raíz Merkle resume las transacciones del bloque, por lo que cambiarla obliga a recalcular todo el árbol de transacciones antes de poder intentar un nuevo hash. El nonce evita todo eso. Cada intento de hash es independiente. Incrementar el nonce no proporciona un avance más cercano que elegir un valor aleatorio. Fuerza bruta disfrazada de consenso.

El diseño se mantuvo durante aproximadamente un año. Luego, los ASIC lo rompieron. Los mineros modernos agotan todo el espacio de nonce de 4300 millones en microsegundos, no en segundos. Un Bitmain Antminer S21 Pro funciona a 234 terahashes por segundo. El campo de nonce completo se agota en ese hardware en aproximadamente 18 microsegundos . A mayo de 2026, la tasa de hash total de la red Bitcoin se sitúa cerca de 996 EH/s, con una dificultad de 132,47 billones. Un solo S21 Pro consume todos los valores de nonce posibles decenas de miles de veces por segundo por sí solo.

Así, el protocolo de Satoshi deja al minero dos salidas limpias una vez que se agota el espacio de 32 bits. La primera es el "nonce extra", un campo oculto dentro del scriptSig de la transacción coinbase. BIP34 lo codifica. De dos a cien bytes, controlado por el minero. Si se modifica el nonce extra, cambia el TXID de coinbase, se debe recalcular la raíz merkle, cambia el encabezado del bloque y se abre una nueva búsqueda de nonce de 32 bits. La segunda salida es aumentar la marca de tiempo o rotar los bits de versión dentro del rango permitido por el protocolo. Los grupos de minería actuales realizan todos estos ciclos como parte de su operación normal. Ajustar el nonce es la modificación más barata. Ajustar el nonce extra es la segunda más barata. Las rotaciones de merkle y marca de tiempo se encuentran más alejadas, en orden de cuánto trabajo cuesta recalcular cada una.

Cuando alguien consigue un hash por debajo del objetivo —los mineros lo llaman el "nonce dorado"— el nuevo bloque se difunde rápidamente por la red peer-to-peer, y todos los competidores abandonan su búsqueda actual para comenzar de nuevo en la siguiente ronda.

Modelo ASIC Tasa de hash Es hora de agotar el nonce de 32 bits. Eficiencia
Antminer S21 200 TH/s ~21 µs 17,5 J/TH
Antminer S21 Pro 234 TH/s ~18 µs 15 J/TH
Antminer S21 XP 270 TH/s ~16 µs 13,5 J/TH

Un ejemplo real y reciente sirve de base para la abstracción. El bloque 948.000, minado a principios de 2026, tiene el hash `00000000000000000001b01841afc366a4f999b291c8563ee0d0db956fc2db44` y un valor nonce ganador de 2.582.463.598 . Ese único entero, combinado con el resto del encabezado del bloque, produjo un hash lo suficientemente bajo como para ser añadido a la cadena de bloques. Todos los demás nonce que su minero probó en esa ronda produjeron algo demasiado grande.

Esto es, mecánicamente hablando, la prueba de trabajo. No es un rompecabezas en el sentido de un acertijo. Es la búsqueda de un valor nonce válido, pagado con electricidad.

Nonce de hash vs. nonce de cuenta: misma palabra, diferente función

En el mundo de las criptomonedas, el término "nonce" se reutiliza para otra cosa, y esta coincidencia es la principal fuente de confusión entre los principiantes. El nonce de minería de Bitcoin es una variable de búsqueda. El nonce de cuenta de Ethereum es un contador. Comparten el nombre, pero casi nada más.

Nonce de hash (Bitcoin) Nonce de cuenta (Ethereum)
Trabajo Buscar un hash válido debajo del objetivo Secuenciar transacciones salientes por cuenta
Dónde vive Encabezado de bloque (32 bits) Estado de la cuenta (número entero completo, comienza en 0)
¿Quién lo muta? El minero, en hardware, miles de millones por segundo La billetera, automáticamente, una por envío
Qué significa "incorrecto" El billete de lotería no funciona, prueba con el siguiente. La transacción ha sido rechazada o está bloqueada.
¿Vinculado al consenso? Sí, esta es una prueba de trabajo. No, esto es protección contra repetición.

Un hash nonce es un número temporal que un minero desecha. Un account nonce es un estado permanente grabado en la vista que la red tiene de tu dirección. Confundir uno con el otro —tratando el nonce de la cadena de bloques de Bitcoin como si fuera un contador de secuencia— es la razón por la que la gente interpreta un error de Ethereum de "nonce demasiado bajo" y asume que su configuración de minería está dañada. Diferentes cadenas de bloques, diferentes funciones, misma palabra. Incluso dentro de un mismo ecosistema, el papel del nonce en las operaciones de la cadena de bloques depende completamente de si se está observando la capa de consenso o la capa de cuentas.

Nonce de cuenta Ethereum y el problema de las transacciones atascadas

Cada cuenta externa en Ethereum tiene su propio nonce. El contador comienza en cero la primera vez que la dirección envía una transacción. A partir de ahí, aumenta en uno por cada transacción que se incluye en un bloque. Cuando envías algo, tu billetera solicita a la red el valor actual, añade el siguiente número y firma. La red solo acepta la cola de salida en estricto orden: nonce 0, luego 1, luego 2. No se permiten saltos.

Este estricto ordenamiento es lo que le otorga a Ethereum su protección contra repeticiones. Una transacción firmada se vincula a un nonce específico y, desde EIP-155, también a un chainID específico. Un atacante no puede retransmitir una transacción ejecutada antigua como si fuera nueva. Para cuando llega la retransmisión, el nonce de la cuenta ya ha avanzado. El chainID elimina las repeticiones entre cadenas de inmediato. Dentro de una cadena, una transacción confirmada reside en un punto de un contador que ya ha avanzado.

El mismo ordenamiento rígido genera el problema con el que se topan constantemente las nuevas carteras de Ethereum. Una transacción se envía con una propina demasiado baja. Los validadores la rechazan. La mempool la descarta de la cola de prioridad. La transacción queda en un limbo: ni confirmada ni fallida, simplemente bloqueada. Peor aún, cada transacción posterior firmada por la misma dirección obtiene un nonce más alto. La red se niega a procesar ninguna de ellas hasta que la transacción bloqueada se confirme o se reemplace. Una transacción lenta bloquea toda la cola.

La solución reside en un mecanismo llamado reemplazo por tarifa. Tu billetera retransmite una nueva transacción con el mismo nonce que la anterior, pero con más gas. EIP-1559, el modelo de precios de gas que ha regido Ethereum desde la actualización de Londres en agosto de 2021, establece la regla: la nueva transacción debe aumentar tanto `maxFeePerGas` como `maxPriorityFeePerGas` al menos un diez por ciento con respecto a la original. ¿Quieres cancelar la transacción anterior directamente en lugar de reemplazarla? Envía una autotransferencia de cero ETH con el nonce bloqueado y una propina mayor. El espacio se consume a sí mismo y todas las transacciones posteriores en la cola se desbloquean.

Las cifras de mayo de 2026, para contextualizar. Propina de prioridad promedio cercana a 1,875 Gwei. Una cancelación estándar de 21.000 gas cuesta alrededor de $0,05 en un día tranquilo, y sube a dólares bajos durante la congestión. Hay una lección que todos aprenden tarde o temprano por las malas: siempre reemplaza primero el nonce pendiente más bajo . Aumentar la comisión en una transacción posterior mientras su predecesora sigue bloqueada no sirve de nada.

La abstracción de cuentas modifica ligeramente esta situación. Las cuentas inteligentes ERC-4337 utilizan un nonce bidimensional, dividiendo el número entero en una "clave" de 192 bits y una secuencia de 64 bits. Diferentes claves forman flujos de transacciones paralelos. Un lote bloqueado en una clave no afecta al procesamiento de otra. El nonce de la cuenta finalmente ha dejado de ser un simple contador lineal.

Un último mito que vale la pena desmentir. La transición de Ethereum a la prueba de participación en la fusión, en septiembre de 2022, no eliminó el nonce de la cuenta. Lo que desapareció fue el nonce de minería dentro del encabezado del bloque, ya que ahora los validadores se seleccionan por ranura en lugar de mediante un hash. El nonce de la cuenta permaneció exactamente donde siempre estuvo: en el árbol de estado de la cuenta.

Nonce criptográfico en el cifrado: la versión catastrófica

Si nos alejamos de la tecnología blockchain, el nonce criptográfico ofrece una solución más precisa. Si nos equivocamos, todo se viene abajo.

Cada cifrado autenticado moderno combina una clave secreta con un nonce por mensaje. AES-GCM, el algoritmo principal de TLS 1.3, utiliza 96 bits. La especificación se encuentra en la norma NIST SP 800-38D. ChaCha20-Poly1305, la alternativa codificada en la RFC 8439 (junio de 2018), copia la misma longitud de nonce de 96 bits y la combina con una clave de 256 bits. La regla para ambos, en términos sencillos, es que cada par (clave, nonce) se ejecuta exactamente una vez. La reutilización no es una degradación gradual, sino un abismo.

¿Cómo se ve el precipicio? Reutilizar un nonce en AES-GCM con una clave. Supongamos que un atacante ha capturado ambos textos cifrados. Los combina mediante XOR. Se pierde el XOR de los dos textos planos subyacentes. La confidencialidad desaparece de un solo golpe. Y lo peor está por venir. El modo de autenticación de GCM filtra su subclave de autenticación interna: el valor que firma cada texto cifrado con esa clave. Con la subclave en mano, el atacante escribe nuevos textos cifrados autenticados y el receptor legítimo los acepta como reales. Un cifrado de última generación, con un nonce defectuoso, se desliza por debajo de un desplazamiento César.

Nada de esto es hipotético. Un informe de USENIX WOOT de 2016, titulado "Adversarios que desobedecen los nonces", analizó los puntos finales HTTPS de producción y detectó 184 servidores que reutilizaban nonces de GCM. Las compilaciones defectuosas incluían imágenes específicas de Cisco IOS XE y firmware Radware ADC. La vulnerabilidad CVE-2016-0270 y varias CVE relacionadas hacen un seguimiento de estas vulnerabilidades.

La vulnerabilidad de la PS3 de Sony en diciembre de 2010 fue la misma enfermedad con un cifrado diferente: ECDSA. Cada firma ECDSA necesita un valor único y secreto, escrito como k . El código de firma de Sony omitió este requisito. Codificó una constante k y la reutilizó en cada firma. Si un atacante recibe dos firmas ECDSA sobre mensajes diferentes con el mismo valor k , tendrá dos ecuaciones lineales con dos incógnitas. Al resolverlas, se obtiene la clave de firma privada, en formato cerrado. fail0verflow explicó esto en el escenario del 27.º Congreso de Comunicación del Caos en Berlín. La clave maestra de firma de Sony llegó a Internet en cuestión de horas. Todas las PS3 fabricadas perdieron su cadena de confianza de inmediato.

La solución determinista, codificada como RFC 6979 en 2013, elimina el generador de números aleatorios del proceso. Se deriva k a partir de un HMAC del mensaje y la clave privada. Mismo mensaje, misma clave, mismo k : sin generador de números aleatorios que pueda corromperse. Las bibliotecas modernas de Bitcoin incluyen ECDSA determinista por defecto.

De estas historias se derivan dos corolarios que suelen confundir a los desarrolladores. Con los cifrados AEAD (AES-GCM, ChaCha20-Poly1305), un nonce predecible es suficiente. Un contador funciona. La unicidad es el requisito fundamental. Con las firmas ECDSA y Schnorr, la regla se invierte. Un k predecible es catastrófico. El nonce de firma debe ser único, impredecible y secreto a la vez. La combinación de ambos enfoques es precisamente la razón por la que siguen apareciendo errores de reutilización de nonce en el código de las carteras personalizadas. La auditoría de 2024 del proyecto de copia de seguridad Kopia registró un riesgo de colisión aleatoria de GCM-nonce en claves de larga duración, y los informes de pruebas de penetración en SDK más recientes presentan hallazgos similares mes tras mes.

Nonce vs. sal vs. IV: evitando la confusión triple

En los informes de seguridad, se usan tres palabras como si significaran lo mismo: Sal, Nonce, IV. No son sinónimos.

El salt es fundamental para el hash de contraseñas. Se toma un valor aleatorio por usuario, se mezcla con el hash y, a partir de ese momento, las tablas arcoíris precalculadas para "password123" dejan de funcionar contra la base de datos. El salt se encuentra en texto plano junto al hash. Nadie lo oculta. Que dos usuarios compartan un salt es problemático; permite que un atacante que descifre uno, descifre también el otro. No es el fin del mundo.

El nonce se utiliza para la mensajería y las firmas. En el cifrado simétrico, se utiliza por mensaje; en ECDSA, por firma. Los algoritmos de cifrado AEAD, como AES-GCM, exponen el nonce en texto plano, del mismo modo que una sal se encuentra junto a un hash. ECDSA lo oculta, lo trata como un secreto y exige una aleatoriedad nueva en cada iteración. En cualquier caso, las colisiones no son un problema, sino un desastre. Se pierde toda la garantía.

IV —abreviatura de vector de inicialización— es el nombre antiguo para lo que las especificaciones más recientes llaman nonce. Los modos CBC y CTR usaron la palabra durante años. La documentación moderna de AEAD cambió, principalmente porque "vector" sonaba a tarea de matemáticas y la gente seguía usándolo. "Nonce" se basa más en la regla.

¿Necesitas una regla que quepa en una nota adhesiva? Una sal protege un secreto que guardas. Un nonce protege un secreto que envías.

Nonce en criptomonedas

Por qué el nonce importa más allá de las curiosidades sobre la minería de bitcoin

Un nonce es un objeto pequeño. Treinta y dos bits en Bitcoin. Un contador en Ethereum. Doce bytes en AES-GCM. Tiene una importancia desproporcionada para su tamaño. Para los usuarios comunes, cada transacción de Ethereum bloqueada, cada handshake TLS con un sitio bancario, cada firma que produce una billetera de hardware depende de que un nonce se maneje correctamente. Para los desarrolladores, el manejo incorrecto del nonce es el punto de entrada más común para errores catastróficos en el código criptográfico personalizado. El incidente de la PS3 fue un caso extremo, pero el mismo modo de falla sigue apareciendo en los SDK de billeteras y herramientas de respaldo más recientes. Para la economía de Bitcoin, el nonce de 32 bits combinado con la mecánica del nonce adicional es lo que hizo que la minería ASIC fuera una lotería justa en primer lugar. Una de las decisiones de diseño más importantes de Satoshi, oculta a plena vista dentro de un campo de encabezado poco llamativo.

Un nonce es aquello que indica que esto sucedió una sola vez, en este orden y exactamente de esta manera . Si se elimina, todo sistema que dependa de la unicidad se desmorona y se convierte en algo que un atacante puede reconstruir fácilmente. El consenso se rompe. La protección contra ataques de repetición desaparece. El cifrado se filtra. Las firmas se falsifican.

¿Alguna pregunta?

Sí, en ambos casos, aunque de maneras diferentes. Solana conserva los nonces a nivel de cuenta y añade cuentas de nonce persistentes para la firma sin conexión. Ethereum, basado en prueba de participación, mantuvo el nonce de cuenta tras la fusión de septiembre de 2022, pero eliminó el nonce de minería de los encabezados de los bloques, ya que ahora los validadores se seleccionan por ranura en lugar de por rompecabezas hash.

En Ethereum, la única forma de hacerlo es mediante el método de reemplazo por comisión, que consiste en intercambiar intencionalmente una transacción no confirmada por otra con el mismo nonce pagando una tarifa de gas más alta. Tras la confirmación, dos transacciones no pueden compartir un nonce en la misma cuenta. En AES-GCM, bajo una misma clave, compartir un nonce está totalmente prohibido. La reutilización compromete la confidencialidad y la autenticación simultáneamente.

Ejecute replace-by-fee. Envíe una nueva transacción con el mismo nonce que la anterior, incrementando `maxFeePerGas` y `maxPriorityFeePerGas` en un diez por ciento o más. Para cancelar en lugar de reemplazar, envíe una transferencia de valor cero a su propia dirección con ese nonce anterior y una propina mayor. Reemplace siempre primero el nonce pendiente más bajo.

Tres funciones, una misma idea subyacente. Un nonce garantiza la unicidad, impidiendo que se repita la misma operación. Secuencia las transacciones en los libros de contabilidad basados en cuentas. Y es la variable de búsqueda que los mineros ajustan al buscar un hash válido en la prueba de trabajo. Mecanismos diferentes, mismo objetivo: lograr que cada evento sea distinto de todos los demás.

La frase suele referirse a un token de autenticación o de nivel de cuenta. Imagínese un valor de un solo uso vinculado a una sesión, una transacción o una solicitud de API, de modo que la solicitud no se pueda repetir. El término "token" aquí no se refiere al estándar ERC-20. Tanto OAuth como OpenID Connect utilizan tokens nonce en sus flujos de autenticación.

El término "nonce" se refiere a un número que se utiliza una sola vez dentro de un ámbito criptográfico específico. Bitcoin lo usa como el campo de búsqueda de 32 bits que un minero recorre para encontrar un hash válido. Ethereum lo usa como el contador que ordena las transacciones salientes de una cuenta. El cifrado lo usa como el valor por mensaje que, junto con una clave, nunca debe repetirse.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.