Análisis de la vulnerabilidad de distorsión temporal del protocolo Bitcoin
En marzo de 2025, los desarrolladores de Bitcoin propusieron una propuesta de bifurcación suave llamada "Gran Limpieza de Consenso", destinada a corregir varios huecos y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin. Uno de los huecos más graves se conoce como "ataque de distorsión temporal", y este artículo lo explorará en profundidad.
Mecanismo de protección de la marca de tiempo de Bitcoin
Antes de discutir los ataques de distorsión temporal, revisemos las reglas de protección contra la manipulación del tiempo en la red de Bitcoin actual:
Regla del tiempo medio pasado (MPT): La marca de tiempo del bloque debe ser posterior al tiempo medio de los once bloques anteriores.
Reglas de tiempo de bloque futuro: la marca de tiempo del bloque no puede adelantarse más de 2 horas respecto al tiempo medio de los nodos de la red, y la máxima diferencia permitida entre el tiempo de los nodos y el reloj del sistema local es de 90 minutos.
El propósito de estas reglas es prevenir la manipulación excesiva de las marcas de tiempo de los bloques, ya sea hacia el pasado o hacia el futuro. Sin embargo, los ataques de distorsión temporal aprovechan principalmente la vulnerabilidad de falsificación de marcas de tiempo hacia el pasado.
Error de "uno menos" del fundador de Bitcoin
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, que teóricamente equivale a aproximadamente dos semanas. Al calcular el ajuste de dificultad de la minería, el protocolo calcula la diferencia de marcas de tiempo entre el primer y el último bloque en la ventana de 2016 bloques relacionada. Sin embargo, esta ventana en realidad solo contiene 2015 intervalos de bloques.
El tiempo objetivo correcto debería ser 60 segundos * 10 minutos * 2015 intervalos = 1,209,000 segundos. Pero el protocolo de Bitcoin utilizó el número 2016, lo que llevó a un resultado de 1,209,600 segundos. Este error del 0.05% hace que el intervalo de bloque objetivo real de Bitcoin sea ligeramente más largo que 10 minutos, siendo 10 minutos y 0.3 segundos.
Aunque este error parece insignificante, está relacionado con otro problema más grave. El cálculo de la dificultad se basa únicamente en el primer y el último bloque de cada ventana de 2016 bloques, y no en la diferencia entre el último bloque de la ventana anterior y el último bloque de la ventana actual. Este método de cálculo crea condiciones para un ataque de distorsión temporal.
El principio del ataque de distorsión temporal
El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011. En este tipo de ataque, se asume que la minería está completamente centralizada, y el atacante puede manipular las marcas de tiempo de los bloques. El atacante establecerá la marca de tiempo de la mayoría de los bloques para que sea solo un segundo antes que el bloque anterior, mientras cumple con las reglas de MTP. Para avanzar el tiempo lo más lentamente posible, el atacante puede mantener la misma marca de tiempo en seis bloques consecutivos y luego aumentar en un segundo en el séptimo bloque, repitiendo este ciclo.
Esta operación hará que el tiempo de la cadena de bloques se retrase cada vez más respecto al tiempo real. Sin embargo, la clave del ataque radica en el último bloque de cada período de ajuste de dificultad. El atacante establecerá la marca de tiempo de este bloque como el tiempo del mundo real, mientras que la marca de tiempo del primer bloque del siguiente período se establece nuevamente en el tiempo del pasado.
De esta manera, la dificultad después del primer período no se verá afectada. Pero a partir del segundo período de ajuste, la dificultad comenzará a disminuir. Esto permite a los atacantes crear bloques a una velocidad muy rápida, potencialmente generando una gran cantidad de Bitcoin y obteniendo ganancias de ello.
Viabilidad y desafíos del ataque
Aunque teóricamente este tipo de ataque es destructivo, su implementación real enfrenta muchos desafíos:
Necesita controlar la mayor parte de la potencia de cálculo de la red.
La existencia de mineros honestos aumentará la dificultad del ataque.
Las reglas de MTP y las marcas de tiempo honestas limitarán el grado de retroceso de las marcas de tiempo maliciosas.
Si un minero honesto produce el primer bloque de cualquier ventana de ajuste de dificultad, el ataque de ese ciclo fallará.
El proceso de ataque es visible públicamente y puede activar una reparación de bifurcación suave de emergencia.
Solución
Hay varias formas posibles de solucionar esta vulnerabilidad:
Cambiar el algoritmo de ajuste de dificultad, calcular el intervalo de tiempo entre diferentes ventanas de 2016 bloques, al mismo tiempo corregir el error de "faltante uno".
Cancelar la regla MTP, requiriendo que el tiempo se mueva siempre hacia adelante en cada bloque.
Introducir nuevas reglas de restricción que exijan que el tiempo del primer bloque del nuevo período de dificultad no sea anterior a un tiempo específico antes del último bloque del período anterior (como 2 horas).
Actualmente, la propuesta de limpieza del gran consenso utiliza un tercer método, estableciendo un límite de tiempo de 2 horas. Esta solución puede mitigar eficazmente los ataques de distorsión temporal y minimizar el riesgo de bloques inválidos inesperados.
A través de la implementación de estas mejoras, la red Bitcoin podrá resistir mejor los ataques de distorsión temporal, lo que fortalecerá aún más su seguridad y estabilidad.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
14 me gusta
Recompensa
14
5
Republicar
Compartir
Comentar
0/400
CoffeeNFTs
· hace18h
protocolo vulnerabilidad ¿A quién le tengo miedo?
Ver originalesResponder0
DataOnlooker
· hace18h
La minería debe comenzar desde la infancia.
Ver originalesResponder0
CascadingDipBuyer
· hace19h
Ah esto... btc ha tenido otro bug, parece que tengo que comprar la caída con un poco de prisa.
Análisis de la vulnerabilidad de distorsión temporal de Bitcoin: ¿cómo la propuesta de limpieza de consenso repara las debilidades del protocolo?
Análisis de la vulnerabilidad de distorsión temporal del protocolo Bitcoin
En marzo de 2025, los desarrolladores de Bitcoin propusieron una propuesta de bifurcación suave llamada "Gran Limpieza de Consenso", destinada a corregir varios huecos y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin. Uno de los huecos más graves se conoce como "ataque de distorsión temporal", y este artículo lo explorará en profundidad.
Mecanismo de protección de la marca de tiempo de Bitcoin
Antes de discutir los ataques de distorsión temporal, revisemos las reglas de protección contra la manipulación del tiempo en la red de Bitcoin actual:
Regla del tiempo medio pasado (MPT): La marca de tiempo del bloque debe ser posterior al tiempo medio de los once bloques anteriores.
Reglas de tiempo de bloque futuro: la marca de tiempo del bloque no puede adelantarse más de 2 horas respecto al tiempo medio de los nodos de la red, y la máxima diferencia permitida entre el tiempo de los nodos y el reloj del sistema local es de 90 minutos.
El propósito de estas reglas es prevenir la manipulación excesiva de las marcas de tiempo de los bloques, ya sea hacia el pasado o hacia el futuro. Sin embargo, los ataques de distorsión temporal aprovechan principalmente la vulnerabilidad de falsificación de marcas de tiempo hacia el pasado.
Error de "uno menos" del fundador de Bitcoin
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, que teóricamente equivale a aproximadamente dos semanas. Al calcular el ajuste de dificultad de la minería, el protocolo calcula la diferencia de marcas de tiempo entre el primer y el último bloque en la ventana de 2016 bloques relacionada. Sin embargo, esta ventana en realidad solo contiene 2015 intervalos de bloques.
El tiempo objetivo correcto debería ser 60 segundos * 10 minutos * 2015 intervalos = 1,209,000 segundos. Pero el protocolo de Bitcoin utilizó el número 2016, lo que llevó a un resultado de 1,209,600 segundos. Este error del 0.05% hace que el intervalo de bloque objetivo real de Bitcoin sea ligeramente más largo que 10 minutos, siendo 10 minutos y 0.3 segundos.
Aunque este error parece insignificante, está relacionado con otro problema más grave. El cálculo de la dificultad se basa únicamente en el primer y el último bloque de cada ventana de 2016 bloques, y no en la diferencia entre el último bloque de la ventana anterior y el último bloque de la ventana actual. Este método de cálculo crea condiciones para un ataque de distorsión temporal.
El principio del ataque de distorsión temporal
El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011. En este tipo de ataque, se asume que la minería está completamente centralizada, y el atacante puede manipular las marcas de tiempo de los bloques. El atacante establecerá la marca de tiempo de la mayoría de los bloques para que sea solo un segundo antes que el bloque anterior, mientras cumple con las reglas de MTP. Para avanzar el tiempo lo más lentamente posible, el atacante puede mantener la misma marca de tiempo en seis bloques consecutivos y luego aumentar en un segundo en el séptimo bloque, repitiendo este ciclo.
Esta operación hará que el tiempo de la cadena de bloques se retrase cada vez más respecto al tiempo real. Sin embargo, la clave del ataque radica en el último bloque de cada período de ajuste de dificultad. El atacante establecerá la marca de tiempo de este bloque como el tiempo del mundo real, mientras que la marca de tiempo del primer bloque del siguiente período se establece nuevamente en el tiempo del pasado.
De esta manera, la dificultad después del primer período no se verá afectada. Pero a partir del segundo período de ajuste, la dificultad comenzará a disminuir. Esto permite a los atacantes crear bloques a una velocidad muy rápida, potencialmente generando una gran cantidad de Bitcoin y obteniendo ganancias de ello.
Viabilidad y desafíos del ataque
Aunque teóricamente este tipo de ataque es destructivo, su implementación real enfrenta muchos desafíos:
Solución
Hay varias formas posibles de solucionar esta vulnerabilidad:
Actualmente, la propuesta de limpieza del gran consenso utiliza un tercer método, estableciendo un límite de tiempo de 2 horas. Esta solución puede mitigar eficazmente los ataques de distorsión temporal y minimizar el riesgo de bloques inválidos inesperados.
A través de la implementación de estas mejoras, la red Bitcoin podrá resistir mejor los ataques de distorsión temporal, lo que fortalecerá aún más su seguridad y estabilidad.