Blockchain/Nivel II · Mecánica/2.3 Los bloques y la cadena/Lección 5
Ajuste de dificultad cada 2016 bloques
El regulador de dos semanas que mantiene el reloj en marcha
MaterialesUna interfaz de explorador de bloques que muestra el historial de dificultadUna calculadora para cálculos de proporciones
Curiosidad
- ¿Por qué la red ajusta la dificultad cada dos semanas en lugar de después de cada bloque?
- ¿Cómo puede un sistema descentralizado llegar a un acuerdo sobre una corrección matemática sin que una autoridad central emita una actualización?
- ¿Qué sucede con la velocidad de producción de bloques en los días inmediatamente siguientes a una caída masiva en la potencia de hash mundial?
Explorar
- El modelo de seguridad de Bitcoin se basa en un ritmo constante de aproximadamente diez minutos por bloque. Este ritmo equilibra la finalización de las transacciones con la congestión de la red y el consumo de recursos. Sin embargo, el hardware de minería evoluciona rápidamente; los ASICs se vuelven exponencialmente más eficientes con el tiempo. Sin intervención, la dificultad computacional fija significaría que los bloques se encontrarían en segundos en lugar de minutos a medida que aumenta la potencia. Tal volatilidad desestabilizaría las propiedades de seguridad de la cadena y complicaría las expectativas de los usuarios respecto a los tiempos de confirmación.
- Para mantener este ritmo, Bitcoin implementa un bucle de retroalimentación automático conocido como reorientación. Cada 2,016 bloques —un período que dura en promedio catorce días—, cada nodo recalcula de forma independiente el objetivo de proof-of-work. El número 2,016 se obtiene al multiplicar 14 días por 144 intervalos de diez minutos por día. Esta frecuencia logra un equilibrio: lo suficientemente corta como para responder a cambios significativos en la hashrate, pero lo suficientemente larga como para suavizar fluctuaciones temporales o anomalías en la participación de la red.
- El cálculo compara el tiempo real necesario para minar los 2.016 bloques anteriores con los 20.160 minutos esperados. La fórmula es: Nueva Meta = Meta Anterior × (Tiempo Real / Tiempo Objetivo). Si los mineros encuentran los bloques a una velocidad promedio inferior a diez minutos, el tiempo real es menor, lo que da como resultado una fracción menor que uno que disminuye la meta y aumenta la dificultad. Por el contrario, si se tarda más en encontrar los bloques, la meta aumenta para facilitar el acertijo. Este ajuste proporcional asegura que el promedio vuelva a situarse en los diez minutos.
- Para evitar una volatilidad extrema debido a shocks a corto plazo, el ajuste está limitado a un factor de cuatro en cualquier dirección por ciclo. Por grande que sea el cambio en la tasa de hash, un ajuste puede multiplicar o dividir la dificultad como máximo por cuatro. Este límite evita los efectos negativos de las marcas de tiempo distorsionadas y permite que los cambios sean graduales durante eventos dramáticos en el mercado o transiciones de hardware.
- Un ejemplo notable ocurrió en julio de 2021 tras la prohibición impuesta por China a la minería de criptomonedas. La tasa global de hash descendió drásticamente, lo que hizo que los bloques se encontraran significativamente más lento de lo esperado (más de diez minutos). El posterior ajuste de dificultad representó el cambio más grande a la baja en la historia de Bitcoin, con una disminución de casi un 28% para reflejar la reducción del poder computacional. Esta rápida corrección devolvió el tiempo promedio entre bloques a su valor objetivo en un solo ciclo, demostrando la capacidad de respuesta del mecanismo ante shocks económicos y regulatorios reales.
- Entre los ajustes, la red funciona con una dificultad fija. Si la tasa de hash cambia durante estos períodos de dos semanas, los tiempos entre bloques se desviarán de diez minutos hasta el próximo evento de reorientación. Este retraso es un compromiso inherente al ajuste periódico; otras cadenas, en cambio, reorientan cada bloque, sacrificando la simplicidad y previsibilidad de Bitcoin a cambio de una respuesta más rápida. Los usuarios y mineros pueden monitorear este ciclo mediante cualquier explorador de bloques, el cual muestra los bloques restantes hasta el próximo ajuste y el porcentaje estimado de cambio basado en la velocidad actual de minería.
Datos clave
- Difficulty vuelve a dirigir el tráfico cada 2,016 bloques, aproximadamente cada dos semanas.
- La fórmula de ajuste escala el objetivo anterior según la relación entre el tiempo real transcurrido y los 20,160 minutos esperados.
- Los cambios en la dificultad están limitados a un factor de cuatro por ciclo para evitar oscilaciones extremas.
- Un error de “off-by-one” en el código original hace que el cálculo utilice 2,015 intervalos, lo que genera un sesgo insignificante hacia una dificultad mayor.
- El ajuste de julio de 2021 fue el mayor descenso en la historia de Bitcoin, cercano al 28%.
- Cada nodo realiza este cálculo de forma independiente, lo que garantiza el consenso sin coordinación central.
Ejercicio nueve, seis, tres, uno
9ReunirEnumera 9 ajustes de dificultad anteriores del historial de un explorador de bloques, indicando cada fecha y el porcentaje de cambio.
6AgruparAgrupa los 9 según su tamaño y dirección en 6 grupos: subida grande, subida moderada, subida pequeña, bajada pequeña, bajada moderada, bajada grande.
3DestilarReduce los 6 a 3 tipos de eventos que generan los mayores ajustes.
1CristalizarEscribe 1 oración sobre cómo el ciclo de dos semanas de Bitcoin equilibra la capacidad de respuesta con la estabilidad en un entorno descentralizado.
Verificación de hechos
Fechas, cifras y afirmaciones verificadas con las fuentes publicadas que se enumeran a continuación.
- Bitcoin Core source code, pow.cpp (CalculateNextWorkRequired)
- A. M. Antonopoulos & D. A. Harding, Mastering Bitcoin, 3rd ed. (2023), ch. 12
- Bitcoin difficulty history, block 689,472 (July 2021)