Objetivo – Target

« Back to Glossary Index

El objetivo es un número de 256 bits que comparten todos los clientes de Bitcoin. El doble hash SHA-256 del encabezado de un bloque debe ser menor o igual que el objetivo actual para que el bloque sea aceptado por la red. Cuanto más bajo es el objetivo, más difícil es generar un bloque.

Es importante darse cuenta de que la generación de bloques no es un problema largo y establecido (como hacer un millón de hashes), sino más bien una lotería. Cada hash es un número aleatorio entre 0 y el valor máximo de un número de 256 bits (2 ^ 256-1). Si un hash está por debajo del objetivo, el nodo gana. Si no, incrementa el nonce (cambiando completamente el hash) e intenta nuevamente.

La red Bitcoin intenta producir un bloque cada diez minutos en promedio. A medida que el poder de hash de minería cambia con el tiempo, lo logra cambiando el valor objetivo.

Históricamente (antes de bifurcarse de BTC en agosto de 2017), Bitcoin cambiaba su objetivo cada 2016 bloques (exactamente dos semanas si se mantenía perfectamente un tiempo de bloque de 10 minutos). Este cambio en el objetivo se conoce como ‘ajuste de dificultad’. Bajo el paradigma de ajuste de dificultad original, al ajustar el objetivo, cada cliente de Bitcoin comparó el tiempo real que tomó generar bloques de 2016 con el objetivo de dos semanas, y modificó el objetivo por la diferencia de porcentaje. Un solo retarget nunca cambia el objetivo hacia abajo (aumentando la dificultad) en más de un factor de 4, o hacia arriba (disminuyendo la dificultad) en más de un factor de 0,75. Esto evita grandes cambios en la dificultad.

Después de la bifurcación dura de agosto de 2017, Bitcoin cambió el algoritmo de ajuste de dificultad original a lo que se denominó el algoritmo de Ajuste de dificultad de emergencia (EDA). El EDA tenía la capacidad de actualizar el valor objetivo cada vez que se encontraba un nuevo bloque (a diferencia de cada bloque de 2016), mientras que todavía tenía como objetivo un promedio de tiempo de bloque de diez minutos. El EDA se cambió al Algoritmo de Ajuste de Dificultad (DAA) el 17 de noviembre de 2017 para abordar las inestabilidades asociadas con el EDA. El DAA usa un promedio móvil de los últimos 144 bloques para determinar los cambios en el objetivo y, al igual que el EDA, el objetivo puede cambiar cada bloque. Un único retarge DAA nunca cambia el objetivo hacia abajo (aumentando la dificultad) en más de un factor de 2, o hacia arriba (disminuyendo la dificultad) en más de un factor de 2. Esto establece los límites máximos para cualquier cambio de dificultad.

La razón por la cual el EDA (y más tarde el DAA) debió implementarse fue debido a la creación de la red BTC competidora, que se esperaba que obtuviera significativamente más poder de hash que Bitcoin (conocido como Bitcoin Cash en ese momento). Estas medidas se implementaron para que la producción de bloques pudiera permanecer relativamente estable debido a la capacidad de los mineros de reasignar instantáneamente hash entre las redes.

Se propone que Bitcoin volverá al algoritmo de ajuste de dificultad original (todavía utilizado por Bitcoin Core – BTC) en el futuro.

¿Cómo se almacena el objetivo en bloques?

Cada bloque almacena una representación empaquetada en su encabezado de bloque (llamado Bits ) para su objetivo hexadecimal real. El objetivo puede derivarse de Bits a través de una fórmula predefinida. Por ejemplo, si el objetivo empaquetado en el bloque es 0x1b0404cb, el objetivo hexadecimal es:

  0x0404cb * 2 ** (8 * (0x1b - 3)) = 0x00000000000404CB000000000000000000000000000000000000000000000000

Tenga en cuenta que el valor 0x0404cb es un valor con signo en este formato. El mayor valor legal para este campo es 0x7fffff. Para obtener un valor mayor, debe desplazarlo hacia abajo un byte completo. También 0x008000 es el valor válido positivo más pequeño.

¿Cuál es el objetivo actual?

Verifique el campo Bits del bloque más reciente en un explorador de bloques .

¿Cuál es el objetivo máximo?

El objetivo máximo utilizado por los dispositivos de minería SHA256 es:

  0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Debido a que Bitcoin almacena el objetivo como un tipo de punto flotante, esto se trunca:

  0x00000000FFFF0000000000000000000000000000000000000000000000000000

El objetivo máximo es el objetivo utilizado en el Bloque Génesis y representa una dificultad de 1. Su representación empaquetada como Bits es 0x1d00ffff.

Dado que un objetivo más bajo dificulta la generación de Bitcoin, el objetivo máximo es la dificultad más baja posible.

enlaces relacionados

Ver también Dificultad

Atribución

Este contenido se basa en el contenido de https://en.bitcoin.it/wiki/Target bajo Creative Commons Attribution 3.0 . Aunque puede haber sido ampliamente revisado y actualizado, reconocemos a los autores originales.

« Back to Glossary Index