Glosario / Minería y consenso
Objetivo de dificultad
También se conoce como Target.
- ¿Qué es el objetivo de dificultad?
- El objetivo de dificultad es el número de 256 bits que el hash del encabezado de un bloque no debe superar para que el bloque cuente como prueba de trabajo válida.
La minería es una comparación, no un acertijo con una respuesta. Un minero calcula el hash de un encabezado candidato, lee el resultado de 32 bytes como un número y comprueba si es lo bastante pequeño. Los hash válidos son escasos por diseño, así que la única forma de encontrar uno es seguir intentándolo, y esa repetición de intentos es lo que convierte la electricidad en la seguridad de la cadena.
Cómo funciona
El objetivo de dificultad es un techo para un número, y ese número es el doble SHA-256 del encabezado de bloque de 80 bytes.
Un nodo calcula el hash del encabezado, lee el resultado como un entero little endian (el byte menos significativo primero) y lo compara con el objetivo decodificado a partir del campo nBits del encabezado. Un objetivo más bajo significa menos hash aceptables y más intentos necesarios. El techo más fácil que permite la mainnet es 0x00000000FFFF0000 seguido de ceros, que corresponde a la dificultad 1 y a aproximadamente un hash válido por cada 4.295 millones de intentos. Si se multiplica esa cifra por la dificultad actual, se obtiene el trabajo esperado por bloque: con la dificultad de 148,2 billones registrada en el último ajuste de dificultad de 2025, un bloque promedio le cuesta a toda la red del orden de 640 zettahashes.
Hay dos detalles en los que es fácil equivocarse. En primer lugar, la comprobación es "menor o igual que", así que un hash exactamente igual al objetivo es válido. En segundo lugar, los ceros a la izquierda que todo el mundo señala en un hash de bloque son un efecto de la forma en que se muestran los hash, no la regla en sí. Los exploradores de bloques muestran los hash en orden de bytes invertido, así que un número pequeño aparece como una serie de ceros a la izquierda, pero la comprobación de consenso es aritmética y nunca cuenta caracteres.
También hay un techo absoluto escrito en las reglas, llamado powLimit, que ningún ajuste puede superar. Es lo que impide que el objetivo se relaje sin límite si una gran parte de la red se apagara de golpe.
Dónde aparece
El objetivo de dificultad casi nunca se muestra tal cual, así que aparece bajo uno de tres disfraces.
Los exploradores de bloques lo muestran como dificultad, que es simplemente el objetivo más fácil permitido dividido entre el actual. El software de minería lo recibe dentro de una respuesta a la llamada RPC getblocktemplate, como un campo target. Los pools de minería envían a sus máquinas un objetivo de share deliberadamente mucho más fácil que el objetivo de la red, para que una máquina pueda demostrar que está trabajando sin tener que encontrar antes un bloque real. Bitcoin Core aplica la regla en la función CheckProofOfWork, unas pocas líneas que decodifican nBits, rechazan cualquier valor por encima de powLimit o menor o igual que cero, y después comparan.
Las redes de pruebas lo relajan a propósito. La testnet permite un bloque de dificultad mínima tras veinte minutos sin ninguno, y por eso las monedas de prueba son triviales de minar y no valen absolutamente nada.
Objetivo de dificultad frente a dificultad de minería
El objetivo de dificultad es el límite en bruto; la dificultad es una representación legible del mismo hecho, y los dos se mueven en sentidos opuestos. Cuando la dificultad se duplica, el objetivo se reduce a la mitad. La dificultad existe porque un techo hexadecimal de 64 dígitos es imposible de comparar de un vistazo, y porque un cociente viaja a través de los años: una dificultad de 1 en enero de 2009 frente a una de 148,2 billones a finales de 2025 cuenta una historia que dos cadenas hexadecimales no pueden contar.