La vulnerabilidad del ataque de distorsión temporal del protocolo Bitcoin se ha corregido, y el algoritmo de dificultad para reorientar podría recibir una actualización importante.
Análisis de la vulnerabilidad del ataque de distorsión temporal en el protocolo Bitcoin
El 26 de marzo de 2025, los desarrolladores de Bitcoin propusieron 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", que es el tema que se va a explorar en profundidad en este artículo.
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 actual red de Bitcoin:
Regla del tiempo medio pasado (MPT): la marca de tiempo del bloque debe ser posterior al tiempo medio de los once bloques anteriores.
Reglas de tiempo de bloque futuro: la marca de tiempo del bloque no puede adelantarse más de 2 horas respecto a la hora media de los nodos de la red. La diferencia máxima permitida entre la hora del nodo y el reloj del sistema local es de 90 minutos.
Las reglas 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 excesivamente adelantadas. Es importante notar que no se puede implementar un mecanismo similar a las reglas de bloques futuros para detener completamente 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 aprovecha precisamente de la posibilidad de falsificar marcas de tiempo antiguas.
Error minúsculo en el algoritmo de ajuste de dificultad
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculado a un tiempo objetivo de bloque de 10 minutos, lo que equivale aproximadamente a 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 menos 1). Por lo tanto, el tiempo objetivo teóricamente utilizado debería ser 60 segundos × 10 minutos × 2015 intervalos = 1,209,000 segundos.
Sin embargo, el protocolo Bitcoin utiliza el número 2016 en sus cálculos. 60 segundos × 10 minutos × 2016 = 1,209,600 segundos. Esto resulta en un tiempo objetivo que es un 0.05% más largo que el tiempo real requerido. En otras palabras, el intervalo de bloques objetivo real de Bitcoin no es de 10 minutos, sino de 10 minutos y 0.3 segundos.
Esta pequeña diferencia no es significativa en la operación real. De hecho, desde el nacimiento de Bitcoin, el intervalo promedio entre bloques se ha mantenido en aproximadamente 9 minutos y 36 segundos, claramente por debajo de 10 minutos. Esto se debe principalmente a que la potencia de cálculo de la red ha estado aumentando constantemente desde 2009. Por esta razón, el reciente evento de reducción a la mitad se adelantó a abril de 2024, en lugar de la fecha originalmente prevista de enero de 2025.
Principio del ataque de distorsión temporal
El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011, y aprovecha una vulnerabilidad en el cálculo de dificultad. Los atacantes manipulan las marcas de tiempo de los bloques para influir en el ajuste de dificultad, con el fin de reducir la dificultad de la minería.
Los pasos del ataque son los siguientes:
Para la mayoría de los bloques, el atacante establece la marca de tiempo un segundo antes que el bloque anterior.
Para avanzar el tiempo lo más lentamente posible, el atacante puede mantener la misma marca de tiempo durante 6 bloques consecutivos y luego aumentar 1 segundo en el séptimo bloque, repitiendo este ciclo.
En el último bloque de cada ciclo de ajuste de dificultad, el atacante establece la marca de tiempo en el tiempo del mundo real.
La marca de tiempo del primer bloque del próximo ciclo de dificultad se establece de nuevo en el pasado, 1 segundo antes del penúltimo bloque del ciclo anterior.
Esta operación cumple con las reglas de MPT, ya que un solo valor atípico no afectará la mediana de 11 bloques. De esta manera, el tiempo de la blockchain se retrasará gradualmente con respecto al tiempo real, lo que llevará a una reducción de la dificultad. Un atacante puede crear rápidamente una gran cantidad de bloques y obtener una gran cantidad de Bitcoin una vez que la dificultad se reduzca drásticamente.
Viabilidad y desafíos del ataque
A pesar de que teóricamente este tipo de ataque es destructivo, enfrenta algunos desafíos en su implementación:
Es posible que necesite controlar la mayoría de la potencia de cálculo de la red.
La existencia de mineros honestos aumentará la dificultad del ataque.
Las reglas de MTP y las marcas de tiempo honestas limitarán el grado de retroceso de las marcas de tiempo maliciosas.
Si un minero honesto genera el primer bloque de cualquier ciclo de ajuste de dificultad, el ataque de ese ciclo fallará.
El proceso de ataque es visible públicamente y puede desencadenar una reparación de bifurcación suave de emergencia.
Soluciones potenciales
Hay varias formas posibles de reparar esta vulnerabilidad:
Modificar el algoritmo de ajuste de dificultad, calcular el intervalo de tiempo entre diferentes ventanas de 2016 bloques y corregir completamente el error de "uno menos". Pero esto puede requerir un hard fork.
Cancelar la regla MTP, exigiendo que el tiempo avance constantemente en cada bloque. Sin embargo, esto podría hacer que el tiempo se quede atrapado en un futuro muy lejano.
Introducción de nuevas reglas: se requiere que el tiempo del primer bloque del nuevo período de dificultad no sea anterior a un tiempo específico antes del último bloque del período anterior. Actualmente, el rango de tiempo en discusión varía de 10 minutos a 2 horas.
En la última propuesta, los desarrolladores tienden a adoptar un límite de 2 horas. Este período representa solo el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, lo que puede limitar efectivamente el espacio para la manipulación de la dificultad.
Conclusión
El ataque de distorsión temporal revela una vulnerabilidad de seguridad potencial en el protocolo de Bitcoin. Aunque la implementación de este ataque enfrenta numerosos desafíos en la realidad, nos recuerda la necesidad de mantener un enfoque continuo en la seguridad de la tecnología blockchain. A través de la introducción de nuevas reglas de marcas de tiempo, la comunidad de Bitcoin está trabajando para eliminar esta vulnerabilidad y mejorar aún más la estabilidad y seguridad de la red.
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
5
Compartir
Comentar
0/400
NFTArchaeologis
· 07-11 18:01
Como reliquias electrónicas de otro mundo, registran los pasos de Bloquear y las huellas de la evolución inteligente...
Ver originalesResponder0
LootboxPhobia
· 07-11 09:28
Correcciones de vulnerabilidades, el precio subirá y estará estable.
Ver originalesResponder0
TheShibaWhisperer
· 07-11 09:27
Hasta los perros saben que esto es una gran actualización. Ya ha pasado.
Ver originalesResponder0
ChainWanderingPoet
· 07-11 09:23
¿No se trata de ajustar el algoritmo de dificultad? Parece que habrá que hacer otra modificación ~
Ver originalesResponder0
SingleForYears
· 07-11 09:17
Este maldito agujero ha tardado tantos años en ser reparado.
La vulnerabilidad del ataque de distorsión temporal del protocolo Bitcoin se ha corregido, y el algoritmo de dificultad para reorientar podría recibir una actualización importante.
Análisis de la vulnerabilidad del ataque de distorsión temporal en el protocolo Bitcoin
El 26 de marzo de 2025, los desarrolladores de Bitcoin propusieron 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", que es el tema que se va a explorar en profundidad en este artículo.
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 actual red de Bitcoin:
Regla del tiempo medio pasado (MPT): la marca de tiempo del bloque debe ser posterior al tiempo medio de los once bloques anteriores.
Reglas de tiempo de bloque futuro: la marca de tiempo del bloque no puede adelantarse más de 2 horas respecto a la hora media de los nodos de la red. La diferencia máxima permitida entre la hora del nodo y el reloj del sistema local es de 90 minutos.
Las reglas 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 excesivamente adelantadas. Es importante notar que no se puede implementar un mecanismo similar a las reglas de bloques futuros para detener completamente 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 aprovecha precisamente de la posibilidad de falsificar marcas de tiempo antiguas.
Error minúsculo en el algoritmo de ajuste de dificultad
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculado a un tiempo objetivo de bloque de 10 minutos, lo que equivale aproximadamente a 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 menos 1). Por lo tanto, el tiempo objetivo teóricamente utilizado debería ser 60 segundos × 10 minutos × 2015 intervalos = 1,209,000 segundos.
Sin embargo, el protocolo Bitcoin utiliza el número 2016 en sus cálculos. 60 segundos × 10 minutos × 2016 = 1,209,600 segundos. Esto resulta en un tiempo objetivo que es un 0.05% más largo que el tiempo real requerido. En otras palabras, el intervalo de bloques objetivo real de Bitcoin no es de 10 minutos, sino de 10 minutos y 0.3 segundos.
Esta pequeña diferencia no es significativa en la operación real. De hecho, desde el nacimiento de Bitcoin, el intervalo promedio entre bloques se ha mantenido en aproximadamente 9 minutos y 36 segundos, claramente por debajo de 10 minutos. Esto se debe principalmente a que la potencia de cálculo de la red ha estado aumentando constantemente desde 2009. Por esta razón, el reciente evento de reducción a la mitad se adelantó a abril de 2024, en lugar de la fecha originalmente prevista de enero de 2025.
Principio del ataque de distorsión temporal
El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011, y aprovecha una vulnerabilidad en el cálculo de dificultad. Los atacantes manipulan las marcas de tiempo de los bloques para influir en el ajuste de dificultad, con el fin de reducir la dificultad de la minería.
Los pasos del ataque son los siguientes:
Esta operación cumple con las reglas de MPT, ya que un solo valor atípico no afectará la mediana de 11 bloques. De esta manera, el tiempo de la blockchain se retrasará gradualmente con respecto al tiempo real, lo que llevará a una reducción de la dificultad. Un atacante puede crear rápidamente una gran cantidad de bloques y obtener una gran cantidad de Bitcoin una vez que la dificultad se reduzca drásticamente.
Viabilidad y desafíos del ataque
A pesar de que teóricamente este tipo de ataque es destructivo, enfrenta algunos desafíos en su implementación:
Soluciones potenciales
Hay varias formas posibles de reparar esta vulnerabilidad:
Modificar el algoritmo de ajuste de dificultad, calcular el intervalo de tiempo entre diferentes ventanas de 2016 bloques y corregir completamente el error de "uno menos". Pero esto puede requerir un hard fork.
Cancelar la regla MTP, exigiendo que el tiempo avance constantemente en cada bloque. Sin embargo, esto podría hacer que el tiempo se quede atrapado en un futuro muy lejano.
Introducción de nuevas reglas: se requiere que el tiempo del primer bloque del nuevo período de dificultad no sea anterior a un tiempo específico antes del último bloque del período anterior. Actualmente, el rango de tiempo en discusión varía de 10 minutos a 2 horas.
En la última propuesta, los desarrolladores tienden a adoptar un límite de 2 horas. Este período representa solo el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, lo que puede limitar efectivamente el espacio para la manipulación de la dificultad.
Conclusión
El ataque de distorsión temporal revela una vulnerabilidad de seguridad potencial en el protocolo de Bitcoin. Aunque la implementación de este ataque enfrenta numerosos desafíos en la realidad, nos recuerda la necesidad de mantener un enfoque continuo en la seguridad de la tecnología blockchain. A través de la introducción de nuevas reglas de marcas de tiempo, la comunidad de Bitcoin está trabajando para eliminar esta vulnerabilidad y mejorar aún más la estabilidad y seguridad de la red.