Bitcoin vulnerabilidades de seguridad: explorando ataques de distorsión temporal
Recientemente, un desarrollador de Bitcoin propuso una propuesta de bifurcación suave llamada "Limpieza del Gran Consenso", destinada a corregir varios errores y debilidades que han existido en el protocolo de Bitcoin durante mucho tiempo. Uno de los errores más graves se conoce como "Ataque de Distorsión Temporal", y en este artículo se profundizará en este tema.
Mecanismo de protección de la marca de tiempo del bloque de Bitcoin
Antes de discutir el ataque de distorsión temporal, 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 a la hora media de los 11 bloques anteriores.
Reglas futuras del tiempo de bloque: la marca de tiempo del bloque no puede adelantarse más de 2 horas a la mediana del tiempo 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.
Estas reglas tienen como objetivo prevenir que las marcas de tiempo de los bloques se desvíen demasiado del tiempo real. Sin embargo, el ataque de distorsión temporal implica falsificar marcas de tiempo, haciéndolas retroceder significativamente en el tiempo.
El error de "uno menos" de Satoshi Nakamoto
El ciclo de ajuste de dificultad de Bitcoin contiene 2016 bloques, que es aproximadamente un período de dos semanas. Al calcular el ajuste de dificultad de minería, el protocolo compara la diferencia de las marcas de tiempo del primer y el último bloque en la ventana de 2016 bloques relevante. Sin embargo, esta ventana en realidad contiene intervalos de 2015 bloques. Por lo tanto, el tiempo objetivo correcto debería ser de 1,209,000 segundos, pero el protocolo de Bitcoin utiliza 1,209,600 segundos. Este error del 0.05% resulta en un intervalo de tiempo objetivo real de 10 minutos y 0.3 segundos.
Aunque este error en sí mismo no tiene un gran impacto, ha provocado un problema más grave. El cálculo de la dificultad se basa en el primer y último bloque dentro 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. Este método 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 fue descubierto por primera vez en 2011. En este tipo de ataque, se supone que la minería está completamente centralizada, y los mineros pueden establecer cualquier marca de tiempo dentro del rango permitido por el protocolo. El atacante configurará la marca de tiempo de la mayoría de los bloques para que avance solo un segundo respecto al bloque anterior, mientras cumple con las reglas de MTP. 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 un segundo en el siguiente bloque.
Esta operación hará que el tiempo de la blockchain quede cada vez más atrás respecto al tiempo real. Sin embargo, para aumentar el efecto del ataque, los mineros usarán marcas de tiempo del mundo real en el último bloque de cada ciclo de ajuste de dificultad. El primer bloque del siguiente ciclo se establece retrocediendo en el tiempo, siendo solo un segundo más temprano que el penúltimo bloque del ciclo anterior.
Este tipo de ataque hará que la dificultad comience a disminuir después del segundo ciclo de ajuste. Los mineros podrán crear bloques a una velocidad extremadamente rápida, generando una gran cantidad de Bitcoin y posiblemente obteniendo ganancias al vender.
Análisis de viabilidad de ataque
A pesar de que este ataque tiene un potencial devastador en teoría, existen algunos desafíos en su implementación:
Es posible que sea necesario controlar la mayor parte de la potencia de cálculo.
La existencia de mineros honestos aumentará la dificultad de ataque.
Las reglas de MTP y las marcas de tiempo honestas pueden limitar el grado de retroceso de las marcas de tiempo maliciosas.
Si un minero honesto produce el primer bloque de cualquier ventana de ajuste de dificultad, el ataque de ese ciclo fallará.
El proceso de ataque es visible para todos, lo que puede dar a la comunidad suficiente tiempo para implementar una solución de emergencia.
Solución
Hay varias formas posibles de arreglar este fallo:
Cambiar el algoritmo de ajuste de dificultad, calcular la duración del tiempo entre bloques de diferentes ventanas de 2016 y corregir el error de diferencia.
Cancelar la regla MTP, cambiando a un requisito de que el tiempo debe avanzar en cada bloque.
Se establece que el tiempo del primer bloque del nuevo período de dificultad no debe ser anterior a un número específico de minutos del último bloque del período anterior.
Actualmente, la propuesta de limpieza de gran consenso utiliza un tercer método, estableciendo un límite de tiempo de 2 horas. Esta solución puede aliviar efectivamente el ataque de distorsión temporal y, al mismo tiempo, minimizar el riesgo de bloques inválidos inesperados.
En general, aunque los ataques de distorsión temporal representan una amenaza seria en teoría, su ejecución en la práctica es bastante difícil. A través de actualizaciones de protocolo adecuadas, esperamos eliminar este riesgo potencial por completo y fortalecer aún más 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.
23 me gusta
Recompensa
23
8
Republicar
Compartir
Comentar
0/400
ShamedApeSeller
· 07-11 15:09
Dificultad para reorientar es mover mi pastel ah
Ver originalesResponder0
Web3ProductManager
· 07-11 10:40
viendo las métricas de retención, esta solución de distorsión temporal es crucial para los efectos de red de btc, para ser honesto
Ver originalesResponder0
SandwichTrader
· 07-08 19:46
Apresúrate a arreglarlo, no te tardes otra vez.
Ver originalesResponder0
bridge_anxiety
· 07-08 19:45
La seguridad sigue siendo muy importante.
Ver originalesResponder0
HodlVeteran
· 07-08 19:41
Los tontos han caído en innumerables trampas, solo para servir de apoyo a las nuevas generaciones.
Ataques de distorsión temporal de Bitcoin: análisis de riesgos potenciales y soluciones de reparación
Bitcoin vulnerabilidades de seguridad: explorando ataques de distorsión temporal
Recientemente, un desarrollador de Bitcoin propuso una propuesta de bifurcación suave llamada "Limpieza del Gran Consenso", destinada a corregir varios errores y debilidades que han existido en el protocolo de Bitcoin durante mucho tiempo. Uno de los errores más graves se conoce como "Ataque de Distorsión Temporal", y en este artículo se profundizará en este tema.
Mecanismo de protección de la marca de tiempo del bloque de Bitcoin
Antes de discutir el ataque de distorsión temporal, 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 a la hora media de los 11 bloques anteriores.
Reglas futuras del tiempo de bloque: la marca de tiempo del bloque no puede adelantarse más de 2 horas a la mediana del tiempo 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.
Estas reglas tienen como objetivo prevenir que las marcas de tiempo de los bloques se desvíen demasiado del tiempo real. Sin embargo, el ataque de distorsión temporal implica falsificar marcas de tiempo, haciéndolas retroceder significativamente en el tiempo.
El error de "uno menos" de Satoshi Nakamoto
El ciclo de ajuste de dificultad de Bitcoin contiene 2016 bloques, que es aproximadamente un período de dos semanas. Al calcular el ajuste de dificultad de minería, el protocolo compara la diferencia de las marcas de tiempo del primer y el último bloque en la ventana de 2016 bloques relevante. Sin embargo, esta ventana en realidad contiene intervalos de 2015 bloques. Por lo tanto, el tiempo objetivo correcto debería ser de 1,209,000 segundos, pero el protocolo de Bitcoin utiliza 1,209,600 segundos. Este error del 0.05% resulta en un intervalo de tiempo objetivo real de 10 minutos y 0.3 segundos.
Aunque este error en sí mismo no tiene un gran impacto, ha provocado un problema más grave. El cálculo de la dificultad se basa en el primer y último bloque dentro 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. Este método 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 fue descubierto por primera vez en 2011. En este tipo de ataque, se supone que la minería está completamente centralizada, y los mineros pueden establecer cualquier marca de tiempo dentro del rango permitido por el protocolo. El atacante configurará la marca de tiempo de la mayoría de los bloques para que avance solo un segundo respecto al bloque anterior, mientras cumple con las reglas de MTP. 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 un segundo en el siguiente bloque.
Esta operación hará que el tiempo de la blockchain quede cada vez más atrás respecto al tiempo real. Sin embargo, para aumentar el efecto del ataque, los mineros usarán marcas de tiempo del mundo real en el último bloque de cada ciclo de ajuste de dificultad. El primer bloque del siguiente ciclo se establece retrocediendo en el tiempo, siendo solo un segundo más temprano que el penúltimo bloque del ciclo anterior.
Este tipo de ataque hará que la dificultad comience a disminuir después del segundo ciclo de ajuste. Los mineros podrán crear bloques a una velocidad extremadamente rápida, generando una gran cantidad de Bitcoin y posiblemente obteniendo ganancias al vender.
Análisis de viabilidad de ataque
A pesar de que este ataque tiene un potencial devastador en teoría, existen algunos desafíos en su implementación:
Solución
Hay varias formas posibles de arreglar este fallo:
Actualmente, la propuesta de limpieza de gran consenso utiliza un tercer método, estableciendo un límite de tiempo de 2 horas. Esta solución puede aliviar efectivamente el ataque de distorsión temporal y, al mismo tiempo, minimizar el riesgo de bloques inválidos inesperados.
En general, aunque los ataques de distorsión temporal representan una amenaza seria en teoría, su ejecución en la práctica es bastante difícil. A través de actualizaciones de protocolo adecuadas, esperamos eliminar este riesgo potencial por completo y fortalecer aún más la seguridad y estabilidad de la red Bitcoin.