Exposición de vulnerabilidad del protocolo Bitcoin: ataques de distorsión temporal podrían provocar manipulaciones masivas de dificultad

robot
Generación de resúmenes en curso

Vulnerabilidad del protocolo Bitcoin: ataque de distorsión temporal

En marzo de 2025, la comunidad de desarrollo de Bitcoin propuso una propuesta de bifurcación suave llamada "Limpieza de Gran Consenso". Esta propuesta tiene como objetivo corregir varios defectos y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin, incluidos los problemas de transacciones duplicadas que hemos discutido recientemente. Otro defecto más grave se conoce como "Ataque de Distorsión Temporal", que es precisamente el contenido que este artículo abordará en detalle.

Bitcoin seguridad vulnerabilidad: 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, necesitamos entender las reglas de protección contra la manipulación del tiempo en la red de Bitcoin actual:

  1. Regla del tiempo medio pasado (MPT): La marca de tiempo del nuevo bloque debe ser posterior a la mediana de las marcas de tiempo de los 11 bloques anteriores.

  2. Reglas de tiempo de bloque futuro: La marca de tiempo del nuevo bloque no puede adelantarse más de 2 horas con respecto a la mediana de tiempo de los nodos de la red. Al mismo tiempo, la diferencia de tiempo máxima permitida entre los nodos es de 90 minutos, lo que constituye una garantía adicional.

Las reglas de MPT previenen que las marcas de tiempo de los bloques sean demasiado retroactivas, mientras que las reglas de bloques futuros limitan las marcas de tiempo a ser excesivamente adelantadas. Es importante señalar que no se pueden aplicar restricciones similares a las reglas de bloques futuros a las marcas de tiempo pasadas, ya que esto podría afectar el proceso de sincronización inicial de la cadena de bloques. El ataque de distorsión temporal se logra precisamente mediante la falsificación de marcas de tiempo que retroceden significativamente.

Bitcoin vulnerabilidad de seguridad: ataque de distorsión temporal

El error "casi uno" de Satoshi Nakamoto

El periodo de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculado con un tiempo de bloque de 10 minutos, lo que equivale a aproximadamente dos semanas. Al calcular el ajuste de dificultad de minería, el protocolo calcula la diferencia de las marcas de tiempo de los dos bloques en los extremos de la ventana de 2016 bloques. Esta ventana en realidad incluye 2015 intervalos de bloques (2016-1). Por lo tanto, el tiempo objetivo que debería utilizarse teóricamente es 60 segundos × 10 minutos × 2015 intervalos = 1,209,000 segundos. Sin embargo, el protocolo de Bitcoin utiliza el número 2016 para calcular el tiempo objetivo: 60 segundos × 10 minutos × 2016 = 1,209,600 segundos. Este es un típico error de "uno menos", probablemente porque Satoshi Nakamoto confundió el número de bloques con el número de intervalos de bloques al hacer el cálculo.

Este error provoca que el tiempo objetivo sea un 0.05% más largo de lo que debería ser. En otras palabras, el intervalo real de bloque objetivo de Bitcoin no es de 10 minutos, sino de 10 minutos y 0.3 segundos. Esta pequeña diferencia no es significativa en la práctica, ya que desde el nacimiento de Bitcoin, debido al crecimiento continuo de la potencia de cálculo, el intervalo promedio de bloques se ha mantenido alrededor de 9 minutos y 36 segundos, claramente inferior a los 10 minutos. Esto también explica por qué el reciente evento de reducción a la mitad se adelantó a abril de 2024 en lugar de enero de 2025. Aunque este error de 0.3 segundos puede parecer insignificante, ha dado lugar a una vulnerabilidad más grave.

Principio del ataque de distorsión temporal

El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011, aprovechando un error de Satoshi Nakamoto en el cálculo de la dificultad. Suponiendo que la minería está completamente centralizada, los mineros pueden establecer la marca de tiempo de manera arbitraria dentro de los límites permitidos por el protocolo. El atacante configurará la marca de tiempo de la mayoría de los bloques para que sea solo un segundo anterior al bloque anterior, haciendo que la cadena de bloques avance lentamente en el tiempo, mientras cumple con las reglas de MTP. Para maximizar la desaceleración del avance del tiempo, el atacante puede mantener la misma marca de tiempo en seis bloques consecutivos y luego aumentar un segundo en el séptimo bloque, repitiendo este ciclo.

Esta operación hará que el tiempo de la cadena de bloques se retrase gradualmente en relación con el tiempo real, mientras que la dificultad aumente continuamente, haciendo que la minería sea cada vez más difícil. Sin embargo, para potenciar el efecto del ataque, el atacante establecerá la marca de tiempo en el último bloque de cada ciclo de ajuste de dificultad para que coincida con el tiempo del mundo real. El primer bloque del siguiente ciclo se establecerá de nuevo en el pasado, solo un segundo antes que el penúltimo bloque del ciclo anterior. Esta práctica sigue cumpliendo con las reglas de MTP, ya que un solo valor atípico no afectará la mediana de 11 bloques.

Después de implementar este ataque, la dificultad del primer ciclo no se verá afectada. Pero a partir del segundo ciclo de ajuste, la dificultad comenzará a disminuir significativamente. Posteriormente, los atacantes podrán crear bloques a una velocidad muy rápida, potencialmente acuñando una gran cantidad de Bitcoin y obteniendo beneficios de ello.

Bitcoin vulnerabilidad de seguridad: ataque de distorsión temporal

Análisis de viabilidad de ataque

A pesar de que teóricamente este tipo de ataque es devastador, la implementación real enfrenta muchos desafíos:

  1. Puede que sea necesario controlar la mayor parte de la potencia de cálculo de la red.
  2. La existencia de mineros honestos aumentará la dificultad de ataque.
  3. Las reglas de MTP y la marca de tiempo honesta limitarán el grado de retroceso de las marcas de tiempo maliciosas.
  4. Si un minero honesto produce el primer bloque de cualquier ventana de ajuste de dificultad, el ataque de ese ciclo fallará.
  5. El proceso de ataque es visible para todos y puede activar una corrección de bifurcación suave de emergencia.

Bitcoin seguridad vulnerabilidad: ataque de distorsión temporal

Soluciones Potenciales

Hay varias formas posibles de reparar esta vulnerabilidad:

  1. Cambiar el algoritmo de ajuste de dificultad, calcular la diferencia de tiempo entre diferentes ventanas de 2016 bloques y corregir el error de "falta uno". Pero esto puede requerir un hard fork.

  2. Se cancelan las reglas MTP, exigiendo que el tiempo de cada bloque aumente estrictamente. Pero esto podría llevar a que las marcas de tiempo se adelanten en exceso, o a problemas debido a las diferencias horarias entre los mineros.

  3. Una solución más simple es requerir que el tiempo del primer bloque del nuevo período de dificultad no sea anterior a un número específico de minutos del último bloque del período anterior. Actualmente, el rango de tiempo discutido varía de 10 minutos a 2 horas.

En la última propuesta de limpieza de consenso, los desarrolladores tienden a adoptar un límite de 2 horas. Este período de tiempo representa aproximadamente el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, lo que puede limitar eficazmente el espacio para manipular la dificultad a la baja.

Independientemente de la solución adoptada finalmente, la reparación de esta vulnerabilidad de larga data mejorará aún más la seguridad y estabilidad de la red Bitcoin.

Bitcoin seguridad vulnerabilidad: ataque de distorsión temporal

Ver originales
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.
  • Recompensa
  • 4
  • Compartir
Comentar
0/400
ShibaOnTheRunvip
· hace20h
Maté a alguien para ver, este problema es un poco serio.
Ver originalesResponder0
NeverPresentvip
· hace20h
No pensé que sucedería tan rápido.
Ver originalesResponder0
ChainComedianvip
· hace20h
No te preocupes, los mineros no son tontos.
Ver originalesResponder0
GasWastingMaximalistvip
· hace20h
Otra vez hay que cambiar el consenso, btc realmente causa muchos problemas.
Ver originalesResponder0
  • Anclado
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)