La vulnerabilidad de ataque de distorsión temporal en el protocolo Bitcoin. Una nueva propuesta pretende solucionarlo a través de una bifurcación suave.

Vulnerabilidad de ataque de distorsión temporal en el protocolo Bitcoin

El desarrollador de Bitcoin Antoine Poinsot propuso una nueva propuesta de mejora el 26 de marzo de 2025, con el objetivo de corregir varios fallos y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin a través de una actualización de bifurcación suave. Uno de los fallos más graves se conoce como "ataque de distorsión temporal", y este artículo lo explorará en profundidad.

Bitcoin seguridad vulnerabilidades: ataque de distorsión temporal

Mecanismo de protección de la marca de tiempo del bloque de Bitcoin

Antes de discutir el ataque de distorsión temporal, repasemos las reglas de protección contra la manipulación del tiempo en la actual red de Bitcoin:

  1. Tiempo medio pasado (MPT) regla: la marca de tiempo del bloque debe ser posterior al tiempo medio de los últimos 11 bloques.

  2. Reglas de tiempo de bloque futuro: la marca de tiempo del bloque no debe exceder las 2 horas más que el tiempo medio de los nodos pares. Además, la diferencia máxima permitida entre el tiempo del nodo y el reloj del sistema local es de 90 minutos, lo que también es una medida de seguridad.

Las reglas MPT aseguran que las marcas de tiempo de los bloques no sean demasiado retroactivas, mientras que las reglas de bloques futuros evitan que las marcas de tiempo sean demasiado anticipadas. Es importante señalar que no se pueden implementar medidas similares a las reglas de bloques futuros para evitar que los bloques usen marcas de tiempo del pasado, ya que esto podría afectar el proceso de sincronización inicial de la cadena de bloques. Los ataques de distorsión temporal precisamente aprovechan la posibilidad de falsificar marcas de tiempo antiguas.

Bitcoin seguridad vulnerabilidades: ataque de distorsión temporal

El pequeño error de Satoshi Nakamoto

El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculando un tiempo objetivo de 10 minutos por bloque, lo que equivale aproximadamente a dos semanas. Para calcular el ajuste de dificultad de minería, el protocolo calculará la diferencia de la marca de tiempo entre el primer y el último bloque en la ventana de 2016 bloques relacionada. Esta ventana de 2016 bloques en realidad incluye 2015 intervalos de bloques (es decir, 2016 menos 1). Por lo tanto, el tiempo objetivo utilizado teóricamente debería ser 60 segundos × 10 minutos × 2015 intervalos, lo que equivale a 1,209,000 segundos.

Sin embargo, el protocolo de Bitcoin utiliza el número 2016 en sus cálculos. 60 segundos × 10 minutos × 2016 = 1,209,600 segundos. Este es un pequeño error que podría haber surgido de la confusión de Satoshi Nakamoto sobre el concepto de intervalo entre bloques.

Este error provoca que el tiempo objetivo sea un 0.05% más largo de lo que debería. De hecho, el intervalo de tiempo objetivo de Bitcoin no es de 10 minutos, sino de 10 minutos y 0.3 segundos. Esta pequeña desviación no tiene un impacto grave; de hecho, desde el nacimiento de Bitcoin, el intervalo promedio de creación de bloques ha permanecido alrededor de 9 minutos y 36 segundos, claramente menos de 10 minutos. Esto se debe principalmente a que, desde 2009, la potencia de cálculo promedio de la red ha estado aumentando de manera constante.

Bitcoin seguridad vulnerabilidades: ataque de distorsión temporal

Principio del ataque de distorsión temporal

El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011, aprovechando este pequeño error de Satoshi Nakamoto en el cálculo de la dificultad. Suponiendo que la minería esté completamente centralizada, un atacante podría manipular las marcas de tiempo de los bloques de la siguiente manera:

  1. Para la mayoría de los bloques, establecer la marca de tiempo para avanzar solo 1 segundo respecto al bloque anterior.
  2. Para cumplir con las reglas de MPT, mantener la misma marca de tiempo durante 6 bloques consecutivos y luego aumentar el tiempo en 1 segundo en el siguiente bloque.
  3. En el último bloque de cada ciclo de ajuste de dificultad, establece la marca de tiempo en el tiempo del mundo real.
  4. El primer bloque de la próxima ventana de ajuste de dificultad, establece nuevamente la marca de tiempo hacia el pasado, 1 segundo antes del penúltimo bloque del período anterior.

Este tipo de ataque puede hacer que la blockchain esté cada vez más desfasada con respecto al tiempo real, y al mismo tiempo, la dificultad seguirá aumentando, lo que hará que la minería sea cada vez más difícil. Sin embargo, a partir del segundo ciclo de ajuste, la dificultad comenzará a ajustarse a la baja. El atacante luego puede crear bloques a una velocidad muy rápida, generando una gran cantidad de Bitcoin y, por lo tanto, obteniendo beneficios potenciales.

Bitcoin seguridad vulnerabilidad: ataque de distorsión temporal

Viabilidad y desafíos del ataque

A pesar de que este ataque es teóricamente destructivo, en la práctica se enfrenta a numerosos desafíos:

  1. Es posible que se necesite controlar la mayor parte de la potencia de cálculo de la red.
  2. La existencia de mineros honestos aumentará la dificultad del ataque.
  3. Las reglas de MTP y las marcas de tiempo honestas pueden limitar el grado de retroceso de las marcas de tiempo maliciosas.
  4. El proceso de ataque es visible para todos, lo que puede activar una reparación de bifurcación suave de emergencia.

Soluciones potenciales

Reparar esta vulnerabilidad es relativamente simple, pero puede requerir cambios en el protocolo de bifurcación suave. Una solución sencilla es exigir que la marca de tiempo del primer bloque del nuevo ciclo de dificultad no sea anterior a un número específico de minutos del último bloque del ciclo anterior. En la propuesta de Poinsot, este límite de tiempo se establece en 2 horas, lo que representa aproximadamente el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, y puede limitar eficazmente el grado de manipulación de la dificultad.

Las ventajas de este límite de 2 horas incluyen:

  • Minimizar el riesgo de bloques inválidos inesperados
  • Mantenerse en línea con las reglas de la marca de tiempo del bloque futuro
  • Cambios relativamente conservadores, que en condiciones normales pueden ser más flexibles que las reglas de MTP

Sin embargo, este método aún permite a los atacantes manipular la dificultad hacia abajo aproximadamente un 0.6% en cada ciclo, pero será un cambio único y no se podrá acumular.

En general, aunque el ataque de distorsión temporal representa una amenaza teórica, su ejecución real es bastante difícil. A través de actualizaciones adecuadas del protocolo, podemos mejorar aún más la seguridad y estabilidad de la red Bitcoin.

Bitcoin vulnerabilidades de seguridad: ataque de distorsión temporal

BTC-0.19%
Ver originales
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.
  • Recompensa
  • 5
  • Compartir
Comentar
0/400
LiquidationKingvip
· 07-13 07:37
El tiempo debe ser protegido por el código.
Ver originalesResponder0
DegenWhisperervip
· 07-10 09:13
¿Es realmente fiable la bifurcación suave?
Ver originalesResponder0
DarkPoolWatchervip
· 07-10 09:09
Es mejor reparar las vulnerabilidades a tiempo.
Ver originalesResponder0
TokenVelocityTraumavip
· 07-10 09:06
Las vulnerabilidades deben ser corregidas lo antes posible.
Ver originalesResponder0
DegenWhisperervip
· 07-10 08:55
He esperado demasiado tiempo por esta reparación.
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)