Bitcoin vulnerabilidad de seguridad: ataque de distorsión temporal
Recientemente, un desarrollador de Bitcoin propuso una nueva propuesta de bifurcación suave, destinada a reparar varios fallos y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin. Uno de los fallos más graves se conoce como "ataque de distorsión temporal", y este artículo lo explorará en detalle.
Mecanismo de protección de la marca de tiempo del bloque de Bitcoin
Antes de discutir el ataque de distorsión temporal, primero revisemos las reglas actuales de protección contra la manipulación del tiempo:
Regla de tiempo medio pasado (MPT): La marca de tiempo del bloque debe ser posterior al tiempo medio de los últimos once bloques.
Reglas del tiempo de bloque futuro: la marca de tiempo del bloque no puede adelantarse más de 2 horas respecto al tiempo medio de los pares de nodos. La diferencia máxima permitida entre el tiempo del nodo y el reloj del sistema local es de 90 minutos.
Las reglas MPT evitan que las marcas de tiempo de los bloques sean excesivamente retroactivas, mientras que las reglas de bloques futuros evitan que las marcas de tiempo sean demasiado adelantadas. Es importante señalar que no se puede implementar un mecanismo similar a las reglas de bloques futuros para evitar que los bloques tengan marcas de tiempo del pasado, ya que esto podría afectar la sincronización inicial de la cadena de bloques. Los ataques de distorsión temporal aprovechan precisamente las marcas de tiempo falsificadas, llevándolas muy atrás en el tiempo.
Problemas de cálculo del período de ajuste de dificultad
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculado a un objetivo 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 marcas de tiempo entre el primer y el último bloque en la ventana de 2016 bloques relevante. Esta ventana de 2016 bloques en realidad contiene 2015 intervalos de bloques, por lo que el tiempo objetivo que se utiliza teóricamente debería ser 60 segundos * 10 minutos * 2015 intervalos, equivalente a 1,209,000 segundos.
Sin embargo, el protocolo de Bitcoin utiliza el número 2016 para calcular el objetivo. 60 segundos * 10 minutos * 2016 = 1,209,600 segundos. Este es un error de "uno menos", que puede ser causado por la confusión entre la distancia entre bloques.
Este error provoca que el tiempo objetivo sea un 0.05% más largo de lo que debería ser. Por lo tanto, el intervalo de tiempo objetivo real de Bitcoin es de 10 minutos y 0.3 segundos, en lugar de 10 minutos exactos. Aunque este error parece insignificante, está relacionado con otro problema más grave.
Principio del ataque de distorsión temporal
Los ataques de distorsión temporal aprovechan este error en el cálculo de la dificultad. En un escenario ideal, supongamos que la minería está completamente centralizada, los mineros pueden establecer cualquier marca de tiempo permitida por el protocolo. El atacante adoptará la siguiente estrategia:
Para la mayoría de los bloques, establece la marca de tiempo avanzando un segundo respecto al bloque anterior.
Para avanzar el tiempo lo más lentamente posible, los mineros pueden mantener la misma marca de tiempo durante seis bloques consecutivos y luego aumentar el tiempo en un segundo en el siguiente bloque.
En el último bloque de cada ciclo de ajuste de dificultad, establece la marca de tiempo en el tiempo del mundo real.
La marca de tiempo del primer bloque del siguiente período vuelve al pasado, un segundo antes del penúltimo bloque del período anterior.
Esta operación cumple con las reglas de MTP, ya que una sola anomalía no afectará la mediana de 11 bloques. De esta manera, la cadena de bloques se retrasará gradualmente con respecto al tiempo real, y la dificultad seguirá aumentando. Sin embargo, a partir del segundo ciclo de ajuste, la dificultad comenzará a ajustarse hacia abajo, lo que permitirá a los mineros crear bloques a una velocidad muy rápida, potencialmente generando una gran cantidad de Bitcoin.
Viabilidad y desafíos del ataque
A pesar de que este ataque es teóricamente devastador, enfrentar algunos desafíos en su implementación:
Puede que necesite controlar la mayor parte de la potencia de cálculo.
La existencia de mineros honestos aumentará la dificultad del ataque.
Las reglas MTP y las marcas de tiempo honestas pueden limitar el grado de retroceso de las marcas de tiempo maliciosas.
Si un minero honesto genera el primer bloque de cualquier ventana de ajuste de dificultad, el ataque de ese ciclo fallará.
El proceso del ataque es visible públicamente, lo que puede dar tiempo a la comunidad para lanzar una reparación de emergencia.
Soluciones potenciales
Existen varias formas posibles de reparar esta vulnerabilidad:
Cambiar el algoritmo de ajuste de dificultad, calculando el intervalo de tiempo entre bloques en diferentes ventanas de 2016.
Cancelar la regla MTP, exigiendo que el tiempo siempre avance hacia adelante en cada bloque.
Establecer nuevas reglas de límite: exigir que el tiempo del primer bloque del nuevo período de dificultad no sea anterior a un número específico de minutos antes del último bloque del período anterior.
Actualmente, la propuesta de limpieza de consenso sugiere adoptar un tercer método, estableciendo un límite de tiempo de 2 horas. Este periodo de tiempo representa aproximadamente el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, lo que puede limitar efectivamente la capacidad de manipular la dificultad hacia abajo.
Sobre la duración específica del período de gracia que se debe utilizar, existen diferentes opiniones en la industria. Tanto la limitación de 10 minutos como la de 2 horas tienen sus pros y sus contras, y se deben sopesar. Cualquiera que sea la solución adoptada finalmente, corregir esta vulnerabilidad mejorará significativamente la seguridad y estabilidad de la red Bitcoin.
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
8
Republicar
Compartir
Comentar
0/400
MintMaster
· 08-12 04:11
Alguien todavía está pensando en el mundo Cripto.
Ver originalesResponder0
consensus_whisperer
· 08-11 04:51
Nueva vulnerabilidad ha llegado, es hora de arreglarlo.
Ver originalesResponder0
liquidation_surfer
· 08-09 19:16
Otra vez hay que sacar dinero para reparar los fallos, tsk tsk.
Ver originalesResponder0
MeaninglessApe
· 08-09 17:34
Otra vez hay vulnerabilidades, no sé qué decir familia.
Ver originalesResponder0
GhostAddressHunter
· 08-09 17:34
¿Hay alguien que haya encontrado una vulnerabilidad? Diga que es negro, pues es negro.
Ver originalesResponder0
GasWaster
· 08-09 17:31
Ataque es ataque, de todos modos no entiendo, así que eso es todo.
Ver originalesResponder0
MEVHunter
· 08-09 17:11
heh, encontré otro exploit sabroso... el tiempo es solo otra variable para manipular, para ser honesto. he estado monitoreando esta vulnerabilidad desde los días de testnet
Ver originalesResponder0
ApeWithNoFear
· 08-09 17:10
Las máquinas de minería son realmente aterradoras.
Bitcoin enfrenta ataques de distorsión temporal, las vulnerabilidades del protocolo generan riesgos de seguridad.
Bitcoin vulnerabilidad de seguridad: ataque de distorsión temporal
Recientemente, un desarrollador de Bitcoin propuso una nueva propuesta de bifurcación suave, destinada a reparar varios fallos y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin. Uno de los fallos más graves se conoce como "ataque de distorsión temporal", y este artículo lo explorará en detalle.
Mecanismo de protección de la marca de tiempo del bloque de Bitcoin
Antes de discutir el ataque de distorsión temporal, primero revisemos las reglas actuales de protección contra la manipulación del tiempo:
Regla de tiempo medio pasado (MPT): La marca de tiempo del bloque debe ser posterior al tiempo medio de los últimos once bloques.
Reglas del tiempo de bloque futuro: la marca de tiempo del bloque no puede adelantarse más de 2 horas respecto al tiempo medio de los pares de nodos. La diferencia máxima permitida entre el tiempo del nodo y el reloj del sistema local es de 90 minutos.
Las reglas MPT evitan que las marcas de tiempo de los bloques sean excesivamente retroactivas, mientras que las reglas de bloques futuros evitan que las marcas de tiempo sean demasiado adelantadas. Es importante señalar que no se puede implementar un mecanismo similar a las reglas de bloques futuros para evitar que los bloques tengan marcas de tiempo del pasado, ya que esto podría afectar la sincronización inicial de la cadena de bloques. Los ataques de distorsión temporal aprovechan precisamente las marcas de tiempo falsificadas, llevándolas muy atrás en el tiempo.
Problemas de cálculo del período de ajuste de dificultad
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculado a un objetivo 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 marcas de tiempo entre el primer y el último bloque en la ventana de 2016 bloques relevante. Esta ventana de 2016 bloques en realidad contiene 2015 intervalos de bloques, por lo que el tiempo objetivo que se utiliza teóricamente debería ser 60 segundos * 10 minutos * 2015 intervalos, equivalente a 1,209,000 segundos.
Sin embargo, el protocolo de Bitcoin utiliza el número 2016 para calcular el objetivo. 60 segundos * 10 minutos * 2016 = 1,209,600 segundos. Este es un error de "uno menos", que puede ser causado por la confusión entre la distancia entre bloques.
Este error provoca que el tiempo objetivo sea un 0.05% más largo de lo que debería ser. Por lo tanto, el intervalo de tiempo objetivo real de Bitcoin es de 10 minutos y 0.3 segundos, en lugar de 10 minutos exactos. Aunque este error parece insignificante, está relacionado con otro problema más grave.
Principio del ataque de distorsión temporal
Los ataques de distorsión temporal aprovechan este error en el cálculo de la dificultad. En un escenario ideal, supongamos que la minería está completamente centralizada, los mineros pueden establecer cualquier marca de tiempo permitida por el protocolo. El atacante adoptará la siguiente estrategia:
Esta operación cumple con las reglas de MTP, ya que una sola anomalía no afectará la mediana de 11 bloques. De esta manera, la cadena de bloques se retrasará gradualmente con respecto al tiempo real, y la dificultad seguirá aumentando. Sin embargo, a partir del segundo ciclo de ajuste, la dificultad comenzará a ajustarse hacia abajo, lo que permitirá a los mineros crear bloques a una velocidad muy rápida, potencialmente generando una gran cantidad de Bitcoin.
Viabilidad y desafíos del ataque
A pesar de que este ataque es teóricamente devastador, enfrentar algunos desafíos en su implementación:
Soluciones potenciales
Existen varias formas posibles de reparar esta vulnerabilidad:
Actualmente, la propuesta de limpieza de consenso sugiere adoptar un tercer método, estableciendo un límite de tiempo de 2 horas. Este periodo de tiempo representa aproximadamente el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, lo que puede limitar efectivamente la capacidad de manipular la dificultad hacia abajo.
Sobre la duración específica del período de gracia que se debe utilizar, existen diferentes opiniones en la industria. Tanto la limitación de 10 minutos como la de 2 horas tienen sus pros y sus contras, y se deben sopesar. Cualquiera que sea la solución adoptada finalmente, corregir esta vulnerabilidad mejorará significativamente la seguridad y estabilidad de la red Bitcoin.