Vulnerabilidad de ataque de distorsión temporal en el protocolo Bitcoin
El desarrollador de Bitcoin, Antoine Poinsot, presentó una nueva propuesta de mejora el 26 de marzo de 2025, con el objetivo de corregir múltiples vulnerabilidades y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin. Esta propuesta de bifurcación suave, conocida como "Limpieza de Gran Consenso", no solo aborda el problema de las transacciones duplicadas que discutimos anteriormente, sino que también propone una solución para una vulnerabilidad aún más grave: el "Ataque de Distorsión Temporal".
Mecanismo de protección de marca de tiempo de bloque de Bitcoin
Antes de discutir el ataque de distorsión temporal, necesitamos entender las reglas de protección contra la manipulación del tiempo en el protocolo de Bitcoin actual:
Regla de tiempo medio pasado (MPT): La marca de tiempo del bloque debe ser posterior al tiempo medio de los 11 bloques anteriores.
Reglas futuras del tiempo de bloque: la marca de tiempo del bloque no puede exceder las 2 horas sobre la mediana del tiempo de los nodos pares, y la diferencia máxima permitida entre el tiempo del nodo y el reloj del sistema local es de 90 minutos.
El propósito de estas reglas es prevenir que las marcas de tiempo de los bloques se desvíen demasiado del tiempo real, pero debido a la necesidad de considerar la sincronización inicial de la cadena de bloques, no se pueden prohibir completamente las marcas de tiempo pasadas.
El error de cálculo de Satoshi Nakamoto
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, lo que teóricamente equivale a aproximadamente dos semanas. Sin embargo, al calcular el ajuste de dificultad de minería, el protocolo utiliza un método que no es muy preciso. Calcula la diferencia de marcas de tiempo entre el primer y el último bloque en la ventana de 2016 bloques, pero en realidad debería calcular el intervalo entre 2015 bloques. Esto hace que el tiempo objetivo sea un 0.05% más largo de lo que debería, lo que resulta en un intervalo objetivo real de Bitcoin de 10 minutos y 0.3 segundos, en lugar de los precisos 10 minutos.
Este pequeño error no es significativo en la operación real, ya que desde el nacimiento de Bitcoin, el intervalo promedio entre bloques ha sido inferior a 10 minutos, principalmente debido al crecimiento continuo de la potencia de cálculo.
Principio del ataque de distorsión temporal
El ataque de distorsión temporal aprovecha este error de Satoshi Nakamoto en el cálculo de la dificultad. El atacante, manipulando las marcas de tiempo de los bloques, puede hacer que el tiempo de la cadena de bloques se retrase gradualmente en comparación con el tiempo real, cumpliendo así con las reglas del protocolo. En concreto, el atacante hará:
Para la mayoría de los bloques, se establece la marca de tiempo en 1 segundo más tarde que el bloque anterior.
Cada seis bloques se adelanta la marca de tiempo 1 segundo, para cumplir con las reglas de MPT.
En el último bloque de cada período de ajuste de dificultad, establece la marca de tiempo en el tiempo del mundo real.
La marca de tiempo del primer bloque del nuevo ciclo de ajuste de dificultad ha vuelto al pasado, siendo 1 segundo más tarde que el penúltimo bloque del ciclo anterior.
Esta operación hará que la dificultad comience a disminuir después del segundo ciclo de ajuste, lo que permitirá a los atacantes crear bloques a una velocidad muy rápida y obtener una gran cantidad de Bitcoin.
Impacto y viabilidad del ataque
En teoría, este tipo de ataque podría tener graves consecuencias, pero su implementación enfrenta muchos desafíos:
Se necesita controlar la mayor parte de la potencia de cálculo de la red.
La existencia de mineros honestos aumentará la dificultad de ataque.
El proceso de ataque es visible públicamente y puede activar una reparación de emergencia.
Se necesita un período continuo de cuatro semanas para lograr la reducción de dificultad, proporcionando tiempo para responder.
Solución
Para solucionar esta vulnerabilidad, la propuesta de Poinsot sugiere que al comienzo de cada nuevo ciclo de ajuste de dificultad, se requiera que la marca de tiempo del primer bloque no sea anterior a 2 horas de la marca de tiempo del último bloque del ciclo anterior. Esta regla simple puede limitar eficazmente el grado en que la dificultad puede ser manipulada hacia abajo, al mismo tiempo que mantiene suficiente flexibilidad para adaptarse a las fluctuaciones normales de la red.
Esta solución de reparación es más simple y conservadora en comparación con otros posibles métodos de solución (como modificar completamente el algoritmo de ajuste de dificultad o eliminar la regla MTP), y puede prevenir eficazmente los ataques de distorsión temporal mientras minimiza el riesgo de bloques inválidos inesperados.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
17 me gusta
Recompensa
17
7
Compartir
Comentar
0/400
CryptoComedian
· hace18h
Cuanto más se modifica el código, más atractivo se vuelve, y cuantos más errores se encuentran, más trabajo comienza.
Ver originalesResponder0
NftDeepBreather
· hace18h
¡Este descubrimiento de la vulnerabilidad es demasiado tarde!
Ver originalesResponder0
liquidation_watcher
· hace18h
La minería no es tan simple.
Ver originalesResponder0
AirdropSweaterFan
· hace18h
Reparar es lo más importante para la seguridad.
Ver originalesResponder0
alpha_leaker
· hace18h
Finalmente alguien ha puesto el ojo en la Marca de tiempo.
Ver originalesResponder0
DuckFluff
· hace18h
¿La marca de tiempo también se puede jugar de manera engañosa?
Vulnerabilidad de ataque de distorsión temporal del protocolo BTC: los desarrolladores proponen un plan de defensa
Vulnerabilidad de ataque de distorsión temporal en el protocolo Bitcoin
El desarrollador de Bitcoin, Antoine Poinsot, presentó una nueva propuesta de mejora el 26 de marzo de 2025, con el objetivo de corregir múltiples vulnerabilidades y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin. Esta propuesta de bifurcación suave, conocida como "Limpieza de Gran Consenso", no solo aborda el problema de las transacciones duplicadas que discutimos anteriormente, sino que también propone una solución para una vulnerabilidad aún más grave: el "Ataque de Distorsión Temporal".
Mecanismo de protección de marca de tiempo de bloque de Bitcoin
Antes de discutir el ataque de distorsión temporal, necesitamos entender las reglas de protección contra la manipulación del tiempo en el protocolo de Bitcoin actual:
Regla de tiempo medio pasado (MPT): La marca de tiempo del bloque debe ser posterior al tiempo medio de los 11 bloques anteriores.
Reglas futuras del tiempo de bloque: la marca de tiempo del bloque no puede exceder las 2 horas sobre la mediana del tiempo de los nodos pares, y la diferencia máxima permitida entre el tiempo del nodo y el reloj del sistema local es de 90 minutos.
El propósito de estas reglas es prevenir que las marcas de tiempo de los bloques se desvíen demasiado del tiempo real, pero debido a la necesidad de considerar la sincronización inicial de la cadena de bloques, no se pueden prohibir completamente las marcas de tiempo pasadas.
El error de cálculo de Satoshi Nakamoto
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, lo que teóricamente equivale a aproximadamente dos semanas. Sin embargo, al calcular el ajuste de dificultad de minería, el protocolo utiliza un método que no es muy preciso. Calcula la diferencia de marcas de tiempo entre el primer y el último bloque en la ventana de 2016 bloques, pero en realidad debería calcular el intervalo entre 2015 bloques. Esto hace que el tiempo objetivo sea un 0.05% más largo de lo que debería, lo que resulta en un intervalo objetivo real de Bitcoin de 10 minutos y 0.3 segundos, en lugar de los precisos 10 minutos.
Este pequeño error no es significativo en la operación real, ya que desde el nacimiento de Bitcoin, el intervalo promedio entre bloques ha sido inferior a 10 minutos, principalmente debido al crecimiento continuo de la potencia de cálculo.
Principio del ataque de distorsión temporal
El ataque de distorsión temporal aprovecha este error de Satoshi Nakamoto en el cálculo de la dificultad. El atacante, manipulando las marcas de tiempo de los bloques, puede hacer que el tiempo de la cadena de bloques se retrase gradualmente en comparación con el tiempo real, cumpliendo así con las reglas del protocolo. En concreto, el atacante hará:
Esta operación hará que la dificultad comience a disminuir después del segundo ciclo de ajuste, lo que permitirá a los atacantes crear bloques a una velocidad muy rápida y obtener una gran cantidad de Bitcoin.
Impacto y viabilidad del ataque
En teoría, este tipo de ataque podría tener graves consecuencias, pero su implementación enfrenta muchos desafíos:
Solución
Para solucionar esta vulnerabilidad, la propuesta de Poinsot sugiere que al comienzo de cada nuevo ciclo de ajuste de dificultad, se requiera que la marca de tiempo del primer bloque no sea anterior a 2 horas de la marca de tiempo del último bloque del ciclo anterior. Esta regla simple puede limitar eficazmente el grado en que la dificultad puede ser manipulada hacia abajo, al mismo tiempo que mantiene suficiente flexibilidad para adaptarse a las fluctuaciones normales de la red.
Esta solución de reparación es más simple y conservadora en comparación con otros posibles métodos de solución (como modificar completamente el algoritmo de ajuste de dificultad o eliminar la regla MTP), y puede prevenir eficazmente los ataques de distorsión temporal mientras minimiza el riesgo de bloques inválidos inesperados.