- decentralizedb
Conceptos claves en Bitcoin: Ajuste de Dificultad, Target u Objetivo, Proof of Work y la importancia de la Latencia.
Bitcoin es un registro público descentralizado que utiliza un mecanismo de consenso llamado Proof of Work (PoW) o Prueba de Trabajo, el cual permite validar transacciones y asegurar que todos los participantes estén de acuerdo con el historial de bloques (conocido como blockchain o cadena de bloques).
En este sistema, conceptos como el objetivo (target) y la dificultad son clave para mantener el equilibrio de la red, y aunque están estrechamente relacionados, tienen significados distintos que son esenciales para entender cómo funciona la minería en Bitcoin.
¿Qué es el "Objetivo" en Bitcoin?
Partiré definiendo Target u Objetivo: es un valor numérico muy grande (de 256 bits) que establece el umbral que debe cumplir el hash de un bloque para que sea considerado válido.
El hash se calcula aplicando dos veces el algoritmo SHA-256 a la cabecera del bloque, que incluye información como el hash del bloque anterior, la raíz de Merkle y un número llamado nonce.
Cuanto más bajo es el objetivo, más difícil se vuelve encontrar un hash que cumpla con este requisito, ya que hay menos combinaciones posibles de resultados válidos.
El objetivo se ajusta periódicamente para garantizar que los bloques se generen a un ritmo constante.
En términos simples, para que un bloque sea aceptado por la red, los mineros deben encontrar que el resultado de la función SHA-256, sobre la cabecera de un bloque, debe dar como resultado el ser igual o menor que el target con el que la red esta trabajando al momento de validar el bloque.
No voy a entrar en el detalle técnico y por ende no voy a explicar cómo se calcula, pero si deseas indagar más te dejo este link.
(Cabecera de un bloque)
¿Qué es la "Dificultad" en Bitcoin?
La dificultad es una medida relativa de cuán difícil es encontrar un hash válido comparado con la dificultad original establecida en el bloque génesis. Se calcula con esta fórmula:
Se calcula utilizando la siguiente fórmula:
difficulty = difficulty_1_target / current_target
o
Dificultad = Objetivo de referencia / Objetivo actual
¿Cómo Funciona la Proof of Work (PoW) o Prueba de Trabajo?
Haciendo un paréntesis, es útil entender cómo se lleva a cabo el proceso técnico que da seguridad a toda la red de Bitcoin, el cuál esta basado en PoW.
El proceso de encontrar el hash valido de un bloque es similar a una lotería. Los mineros están continuamente intentando encontrar ese hash correcto mediante prueba y error, en un juego de fuerza bruta gobernado por la Proof of Work (PoW).
Este proceso consiste en aplicar la función hash SHA-256 a la cabecera del bloque. La magia ocurre porque, dentro de la cabecera del bloque, hay un campo denominado nonce, el cual es parte del bloque a resolver y es el único valor que los mineros pueden modificar libremente.
Si el campo
nonce
no existiera, la salida de la función SHA-256 siempre sería la misma, y los mineros no podrían hacer ningún intento nuevo.
Así que los mineros van ajustando este valor nonce y recalculan el hash de la cabecera una y otra vez hasta obtener aquel hash de la cabecera de un bloque que este por debajo del TARGET de la red, es decir van cambiando ese número, aplicándole la función sha256 y el resultado lo comparan con el target sucesivamente hasta que obtienen un valor válido, esto lo tiene que hacer contra reloj, ya que el target esta ajustado de tal forma que pueda resolverse en un intervalo de hasta 10 minutos y, además, compite contra otros mineros.
Una vez que un minero encuentra un hash válido, lo propaga a la red. Los demás nodos revisan si el hash cumple con el objetivo y, si es así, el bloque es aceptado. Ese minero se convierte en el ganador de la lotería y obtiene como recompensa:
-
La subvención del bloque (block subsidy), incluida en una transacción especial llamada coinbase
-
Las comisiones de todas las transacciones dentro del bloque
La Importancia de la Latencia en la Red
Ya hemos comentado que hay un Target u Objetivo, que existe una Dificultad para encontrar ese objetivo y que todo ello se realiza mediante la Prueba de Trabajo.
Pero antes de terminar de ver cómo funciona el Ajuste de Dificultad en su conjunto, vamos a introducir un concepto más, vamos a hablar de la Latencia.
La latencia se refiere al tiempo que tarda un bloque en propagarse por la red. Una baja latencia es crucial para evitar bifurcaciones accidentales (forks), que suceden cuando dos bloques válidos se encuentran casi al mismo tiempo y algunos nodos siguen una cadena diferente temporalmente.
Según un estudio de Decker y Wattenhofer (2013), un bloque tarda en promedio 12.6 segundos en llegar al 95% de los nodos. Si ese tiempo aumenta, se incrementa la posibilidad de conflictos y cadenas huérfanas.
Una red con alta latencia es menos eficiente y más propensa a errores de consenso, lo cual afecta directamente su seguridad. Por eso, mantener una latencia baja es vital para el buen funcionamiento de Bitcoin.
Entonces por temas de estabilidad en la red y de latencia es necesario establecer un periodo de tiempo para que cada bloque sea generado, es decir es necesario asegurar un tiempo que permita la transferencia de bloques en la red de manera segura y que garantice que no hay pérdidas de información o generación de demasiados bloques.
El Ajuste de Dificultad como Mecanismo de Estabilidad en Bitcoin
Ahora que ya hemos repasado todos los conceptos que considero necesarios e importantes dentro de lo que sería el mecanismo de ajuste de dificultad de Bitcoin, podemos adentrarnos en su funcionamiento.
Dado que la potencia computacional de la red de Bitcoin (el hashrate) varía con el tiempo (aumentar si entran más mineros o disminuir si abandonan la red), se estableció el Ajuste de Dificultad como parte de las reglas de consenso de Bitcoin.
La red se ajusta automáticamente la dificultad cada 2,016 bloques. Cada 2016 bloques las marcas de tiempo que los bloques almacenan son comparados para determinar cuánto tiempo llevó encontrarlos. El resultado es un número que mide los segundos transcurridos entre la generación del primer bloque y del último de esos 2016 bloques que se están comparando.
El valor ideal esperado es 1.209.600 segundos transcurridos (que son el equivalente a dos semanas). Es decir queremos que los 2016 bloques demoren 2 semanas en ser generados y eso nos daría una media de un bloque cada 10 minutos.
Lo cual nos lleva a indicar que:
-
Si los bloques se minaron más rápido de lo previsto, la dificultad se deberá aumentar en el siguiente ajuste.
-
Si fueron más lentos, la dificultad se deberá disminuir en el siguiente ajuste.
Para poder ir ajustando el target y como ya hemos visto, se estableció el concepto de Dificultad, este representa cuanto trabajo debe aportar un minero para resolver un bloque con el target actual. Me explico:
- La dificultad en Bitcoin comenzó con un valor de 1 (y nunca podrá ser menor que 1).
- Al momento de escribir este artículo la dificultad es de 16,553×10¹² (actualización al 04/abril/2025: 121.508 x 1012), lo cual significa que en promedio tomaría ~16.5 millones de veces más tiempo el poder encontrar un bloque válido que si la dificultad fuera de 1, como cuando se minó el primer bloque (o de ~121.5 millones si tomamos la actualización al 04/abril/2025).
Este mecanismo es uno de los pilares de la resiliencia y previsibilidad de Bitcoin. Y es independiente del precio: que suba la dificultad no implica necesariamente que el precio también lo hará. Lo que sí significa es que hay más competencia por minar bloques, por lo general debido a una mayor inversión en hardware y energía.
Después de ver estos conceptos y esta explicación, me viene a la mente una de las preguntas que veo de forma más recurrente y que es ¿qué pasaría si en los próximos años la dificultad aumentará tanto que la minería dejara de ser rentable?.
Con lo explicado hasta aquí, creo que podríamos responder que es el target el responsable de medir el poder de computo de la red de Bitcoin y, además, también es el responsable de establecer el poder de computo que un minero debe usar para poder resolver y encontrar un bloque en un periodo de 10 minutos aproximadamente. Por lo que, si un porcentaje X de los mineros desapareciera (porque ya no les es rentable) el target se ajustaría y la dificultad disminuiría para que sea rentable nuevamente.
Curiosidad: El Bug del Ajuste de Dificultad
Como nota y curiosidad comentar que existe un pequeño bug en el código original de Bitcoin relacionado con el ajuste de dificultad.
El cálculo del tiempo esperado para 2,016 bloques se basa erróneamente en 2,015 intervalos. Esto provoca que los ajustes de dificultad sean en promedio un 0.0496% más altos de lo que deberían.
La comunidad ha determinado es un error menor y no compromete la seguridad de la red, comparado con el riesgo del hard-fork que requiere la implementación de su corrección.
Curiosidad: Coinbase o Transacción Base
Ahora voy a comentar otra curiosidad no conocida por todos los que empiezan en el mundo de Bitcoin.
¿Sabías qué?, un bloque de Bitcoin, a pesar de que se diga que puede ir vacío en realidad siempre tendrá por lo menos una transacción y esa transacción es la Transacción de Coinbase. Esta transacción siempre es la primera y es usada para que el minero pueda reclamar la recompensa en bitcoin que obtiene al minar un bloque. Si ese bloque tuviera más transacciones, las incluiría dentro de esta transacción en una campo denominado, también coinbase.
Un par de datos curiosos:
- De nada le sirve a un minero tratar de minar bloques sin transacciones, ya que el tiempo que le lleva obtener el hash que esta por debajo del target de la red, es el mismo que le llevará hacerlo con un bloque que tuviera o no transacciones, por lo que su incentivo se incrementa si trata de incluir transacciones, ya que podrá, además de la recompensa, cobrar las comisiones.
- El otro dato es que el minero solo podrá gastar los bitcoins que ha obtenido de la Coinbase una vez que haya 100 confirmaciones sobre el bloque minado, a este concepto se le denomina Coinbase_Maturity
En cocnlusión, Bitcoin se mantiene como la red más segura del mundo gracias a su arquitectura cuidadosamente diseñada. El sistema de ajuste de dificultad, el concepto de objetivo, la importancia del nonce en la PoW, la latencia, la Coinbase y la naturaleza descentralizada de los mineros forman un conjunto robusto que ha resistido más de una década de intentos de ataque y evolución constante.
Comprender todos estos conceptos no solo ayuda a apreciar el funcionamiento de Bitcoin, sino también a ver por qué es tan difícil replicar su seguridad y resiliencia.
Bueno, espero que el contenido te haya aclarado, y como digo en todos mis artículos, si ves algún error o tienes algún comentario o duda, por favor no dudes en hacerme llegar tus comentarios, yo aprendo de lo que me van anotando además de lo que voy investigando.
Te agradezco mucho el tiempo que te has tomado en leerme.
Puedes dejar una propina con el botón «Invítame un café».
O mediante Lightning network:
También puedes hacerlo onchain, vía Paynyms de Samourai Wallet:
PayNym: +decentralized