Nonce en bitcoin: la clave para la minería

Valoración: 2.82 (481 votos)

En el entorno de Bitcoin, la minería es el proceso fundamental que asegura la integridad de la blockchain y permite la creación de nuevos Bitcoins. Un elemento crucial en este proceso es el nonce, una palabra que proviene de la combinación de “ number used only once ” (número usado solo una vez).

Tabla de Contenido

¿Qué es un Nonce en Bitcoin?

Un nonce es un número de 32 bits (o 4 bytes) que los mineros utilizan para generar un hash válido, el cual se requiere para producir un nuevo bloque en la blockchain de Bitcoin. Este número se incluye en el encabezado del bloque junto con otra información, como:

  • La versión del software
  • El hash del bloque anterior
  • Una marca de tiempo
  • El objetivo de dificultad
  • La raíz Merkle

Los mineros compiten entre sí para generar un hash que sea menor o igual que el hash objetivo de la red. Para lograrlo, los mineros modifican repetidamente el nonce después de cada intento fallido.

bitcoin nonce - Cuál es el propósito de un nonce

¿Cómo funciona el Nonce en la Minería?

El proceso de hashing consiste en aplicar una función hash criptográfica a la información contenida en el bloque. Esta función matemática convierte los datos del bloque en un valor único, un resultado de longitud fija de caracteres hexadecimales. Este valor hash sirve como una huella digital criptográfica del bloque, garantizando que el contenido del bloque no se altere.

El nonce es la única variable en el encabezado del bloque que un minero puede modificar. Al cambiar el nonce, el minero puede cambiar el hash del bloque y calcular diferentes soluciones posibles.

Por ejemplo, si tomamos el siguiente párrafo:

“Un nonce es un número de 32 bits (o 4 bytes) que los mineros utilizan para generar un hash válido…”

Y lo enviamos a través de un algoritmo de hashing SHA-256, obtenemos el siguiente valor hexadecimal:

acd691b23cc47b03addf7329b0467c6190e758ee763d7d648af75b5c5ae73e3a

Al agregar un valor de cero (el nonce) al final del párrafo, obtenemos un valor hexadecimal diferente:

f4be24818264fdb8d120f7fe04b8b8f8d4359bc7b1a112412fa968aab7acb782

Si cambiamos ese cero por un uno, obtenemos:

9e3f30005b29927043ecfcec9edf815493326fe2060015fd56ed3213564c7200

Este es el funcionamiento del nonce en la programación de minería de Bitcoin. El valor del nonce se incrementa en uno con cada intento hasta que se alcanza un valor específico.

El primer minero que encuentra un hash válido debajo del objetivo de dificultad de la red recibe la recompensa por el bloque. Su bloque se transmite a la red, se agrega a la blockchain y el proceso comienza nuevamente.

Objetivo de Dificultad

El objetivo de dificultad es una medida de cuán difícil es encontrar un nonce válido. Se ajusta periódicamente para mantener una tasa de generación de bloques consistente.

El Nonce Extra y la Marca de Tiempo

En un explorador de bloques, los nonces generalmente solo aumentan hasta miles de millones. Por ejemplo, el nonce para el bloque 841,948 era 1,614,498,31El bloque 841,949 tenía un nonce de 4,218,083,700. Una plataforma de minería moderna puede generar muchos más hashes que esto en menos de un segundo.

Además, el nonce está limitado a 32 bits (4 bytes), por lo que solo puede llegar a un poco más de 29 mil millones. Tiene que reiniciarse para ser útil porque el hashing es muy rápido. Por lo tanto, se creó un método adicional después de que los mineros ASIC de Bitcoin comenzaran a dividir la blockchain. Se genera otro número, llamado nonce extra, de forma aleatoria y se utiliza en el campo de datos de la coinbase. Este valor se agrega al espacio de transacción de la coinbase, lo que cambia la raíz Merkle.

La raíz Merkle es parte del encabezado del bloque, por lo que el hash del encabezado del bloque cambia. Tanto el nonce extra como el nonce se manipulan para intentar encontrar la solución. Si no se puede encontrar una solución utilizando ninguno de estos, el programa de minería permite a los mineros ajustar la marca de tiempo. La combinación de estos tres valores permite que la blockchain mantenga su objetivo de minar un bloque cada 10 minutos aproximadamente.

En la minería de Bitcoin, los mineros compiten para encontrar un nonce que cumpla con los criterios de dificultad de la red. La información en el encabezado de un bloque se envía a través de un algoritmo de hashing, lo que da como resultado un valor que debe ser menor o igual que el objetivo de dificultad de la red.

En cada intento de cumplir con el objetivo, el nonce se incrementa en uno. Si excede el límite de 32 bits, se reinicia, y el nonce extra y la marca de tiempo se utilizan en combinación con él hasta que un minero tiene éxito.

Si quieres conocer otros artículos parecidos a Nonce en bitcoin: la clave para la minería puedes visitar la categoría Finanzas / Inversiones.

Subir