Análisis y propuesta de solución para la vulnerabilidad de distorsión temporal del protocolo Bitcoin

robot
Generación de resúmenes en curso

Protocolo de Bitcoin: un análisis profundo del ataque de distorsión temporal

Resumen

Recientemente, la comunidad de desarrollo de Bitcoin propuso una nueva propuesta de bifurcación suave, destinada a corregir varios errores y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin. Uno de los errores más graves se conoce como "ataque de distorsión temporal", que es precisamente el tema que se va a profundizar en este artículo.

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, necesitamos entender los mecanismos de protección contra la manipulación del tiempo en el protocolo actual de Bitcoin:

  1. Regla del tiempo medio pasado (MPT): La marca de tiempo de un nuevo bloque debe ser posterior al tiempo medio de los 11 bloques anteriores.

  2. 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. Además, la diferencia máxima permitida entre el tiempo del nodo y el reloj del sistema local es de 90 minutos.

Las reglas MPT impiden que las marcas de tiempo de los bloques sean demasiado retrospectivas, mientras que las reglas de bloques futuros limitan las marcas de tiempo que son excesivamente anticipadas. Es importante señalar que no se puede implementar un mecanismo similar a las reglas de bloques futuros para evitar completamente las marcas de tiempo pasadas, ya que esto podría afectar el proceso de sincronización inicial de la cadena de bloques.

Bitcoin漏洞 de seguridad: ataque de distorsión temporal

El error de "uno menos" de Satoshi Nakamoto

El ciclo de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculando un tiempo de bloque de 10 minutos, lo que equivale aproximadamente a dos semanas. Al 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 dentro de la ventana de 2016 bloques relacionados.

Sin embargo, Satoshi Nakamoto cometió un pequeño pero notable error en el código original. Usó 2016 en lugar de 2015 para calcular el tiempo objetivo, lo que llevó a que el tiempo objetivo fuera un 0.05% más largo de lo que realmente debería ser. Esto significa que el intervalo de bloque objetivo real de Bitcoin es de 10 minutos y 0.3 segundos, en lugar de los precisos 10 minutos.

Aunque este error de 0.3 segundos parece trivial, está relacionado con otro problema más grave. El cálculo de la dificultad se basa en el primer y el último bloque de cada ventana de 2016 bloques, en lugar de la diferencia entre el último bloque de la ventana anterior y el último bloque de la ventana actual. Esta forma de cálculo crea la posibilidad de un ataque de distorsión temporal.

Principio del ataque de distorsión temporal

El ataque de distorsión temporal aprovecha el error de Satoshi Nakamoto en el cálculo de la dificultad. En este tipo de ataque, los mineros maliciosos manipulan las marcas de tiempo de los bloques para influir en el ajuste de la dificultad. Los pasos del ataque son los siguientes:

  1. Para la mayoría de los bloques, los mineros configuran la marca de tiempo para que sea solo 1 segundo antes que el bloque anterior.

  2. Para minimizar al máximo el avance del tiempo, los mineros pueden 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 período de ajuste de dificultad, los mineros establecerán la marca de tiempo en el tiempo del mundo real.

  4. La marca de tiempo del primer bloque de la próxima ventana de ajuste de dificultad se establece en el pasado, solo 1 segundo antes del penúltimo bloque de la ventana anterior.

Este modo de ataque provoca que la blockchain esté cada vez más retrasada en relación con el tiempo real, mientras que la dificultad seguirá aumentando. Sin embargo, a partir del segundo ciclo de ajuste, la dificultad comenzará a ajustarse hacia abajo. Esto permite a los mineros generar una gran cantidad de bloques en un corto período de tiempo, potencialmente creando Bitcoin a un ritmo superior al normal.

Bitcoin seguridad vulnerabilidad: ataque de distorsión temporal

Viabilidad y desafíos del ataque

A pesar de que teóricamente este tipo de ataque es destructivo, su implementación práctica enfrenta algunos desafíos:

  1. Se necesita 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. Si un minero honesto produce el primer bloque de cualquier ventana de ajuste de dificultad, el ataque de ese período fallará.

  4. El proceso de ataque es visible públicamente y puede activar una reparación de bifurcación suave de emergencia.

Bitcoin seguridad vulnerabilidad: ataque de distorsión temporal

Solución

Hay varias formas posibles de reparar esta vulnerabilidad:

  1. Cambiar el algoritmo de ajuste de dificultad, calculando la duración entre diferentes ventanas de 2016 bloques.

  2. Cancelar la regla MPT, requiriendo que la marca de tiempo de cada bloque incremente estrictamente.

  3. Establecer nuevas reglas de límite: El tiempo del primer bloque del nuevo ciclo de dificultad no debe ser anterior a un número específico de minutos del último bloque del ciclo anterior (, como 2 horas ).

Actualmente, los desarrolladores tienden a adoptar la tercera opción, estableciendo el límite de tiempo en 2 horas. Esta opción puede mitigar eficazmente los ataques de distorsión temporal y minimizar al máximo el riesgo de generar bloques inválidos por accidente.

Bitcoin seguridad vulnerabilidades: ataque de distorsión temporal

Conclusión

El ataque de distorsión temporal revela una potencial vulnerabilidad de seguridad en el protocolo de Bitcoin. A pesar de que la implementación de este ataque presenta numerosos desafíos en la realidad, nos recuerda la necesidad de revisar y mejorar continuamente la infraestructura de la tecnología blockchain. A través de la propuesta de una solución de bifurcación suave, la comunidad de Bitcoin está respondiendo activamente a esta amenaza potencial, mejorando aún más la seguridad y estabilidad de la red.

BTC-0.11%
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
  • 7
  • Republicar
  • Compartir
Comentar
0/400
ser_ngmivip
· hace15h
El punto ciego finalmente ha sido revelado.
Ver originalesResponder0
NFTArtisanHQvip
· hace22h
La mecánica temporal requiere un análisis más profundo.
Ver originalesResponder0
MEVEyevip
· 08-06 20:33
Proteger los riesgos on-chain
Ver originalesResponder0
SocialAnxietyStakervip
· 08-06 07:37
Vale la pena investigar la reparación de vulnerabilidades
Ver originalesResponder0
ser_we_are_ngmivip
· 08-06 02:45
BTC también será atacado
Ver originalesResponder0
GateUser-1a2ed0b9vip
· 08-06 02:41
La vulnerabilidad clave es realmente complicada.
Ver originalesResponder0
InscriptionGrillervip
· 08-06 02:38
No sirve de nada aunque lo cambie.
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)