La vulnerabilidad de ataque de distorsión temporal en el protocolo Bitcoin. Una nueva propuesta pretende solucionarlo a través de una bifurcación suave.
Vulnerabilidad de ataque de distorsión temporal en el protocolo Bitcoin
El desarrollador de Bitcoin Antoine Poinsot propuso una nueva propuesta de mejora el 26 de marzo de 2025, con el objetivo de corregir varios fallos y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin a través de una actualización de bifurcación suave. Uno de los fallos más graves se conoce como "ataque de distorsión temporal", y este artículo lo explorará en profundidad.
Mecanismo de protección de la marca de tiempo del bloque de Bitcoin
Antes de discutir el ataque de distorsión temporal, repasemos las reglas de protección contra la manipulación del tiempo en la actual red de Bitcoin:
Tiempo medio pasado (MPT) regla: la marca de tiempo del bloque debe ser posterior al tiempo medio de los últimos 11 bloques.
Reglas de tiempo de bloque futuro: la marca de tiempo del bloque no debe exceder las 2 horas más que el tiempo medio de los nodos pares. Además, la diferencia máxima permitida entre el tiempo del nodo y el reloj del sistema local es de 90 minutos, lo que también es una medida de seguridad.
Las reglas MPT aseguran que las marcas de tiempo de los bloques no sean demasiado retroactivas, mientras que las reglas de bloques futuros evitan que las marcas de tiempo sean demasiado anticipadas. Es importante señalar que no se pueden implementar medidas similares a las reglas de bloques futuros para evitar que los bloques usen marcas de tiempo del pasado, ya que esto podría afectar el proceso de sincronización inicial de la cadena de bloques. Los ataques de distorsión temporal precisamente aprovechan la posibilidad de falsificar marcas de tiempo antiguas.
El pequeño error de Satoshi Nakamoto
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculando un tiempo objetivo de 10 minutos por bloque, lo que equivale aproximadamente a dos semanas. Para 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 en la ventana de 2016 bloques relacionada. Esta ventana de 2016 bloques en realidad incluye 2015 intervalos de bloques (es decir, 2016 menos 1). Por lo tanto, el tiempo objetivo utilizado teóricamente debería ser 60 segundos × 10 minutos × 2015 intervalos, lo que equivale a 1,209,000 segundos.
Sin embargo, el protocolo de Bitcoin utiliza el número 2016 en sus cálculos. 60 segundos × 10 minutos × 2016 = 1,209,600 segundos. Este es un pequeño error que podría haber surgido de la confusión de Satoshi Nakamoto sobre el concepto de intervalo entre bloques.
Este error provoca que el tiempo objetivo sea un 0.05% más largo de lo que debería. De hecho, el intervalo de tiempo objetivo de Bitcoin no es de 10 minutos, sino de 10 minutos y 0.3 segundos. Esta pequeña desviación no tiene un impacto grave; de hecho, desde el nacimiento de Bitcoin, el intervalo promedio de creación de bloques ha permanecido alrededor de 9 minutos y 36 segundos, claramente menos de 10 minutos. Esto se debe principalmente a que, desde 2009, la potencia de cálculo promedio de la red ha estado aumentando de manera constante.
Principio del ataque de distorsión temporal
El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011, aprovechando este pequeño error de Satoshi Nakamoto en el cálculo de la dificultad. Suponiendo que la minería esté completamente centralizada, un atacante podría manipular las marcas de tiempo de los bloques de la siguiente manera:
Para la mayoría de los bloques, establecer la marca de tiempo para avanzar solo 1 segundo respecto al bloque anterior.
Para cumplir con las reglas de MPT, mantener la misma marca de tiempo durante 6 bloques consecutivos y luego aumentar el tiempo en 1 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.
El primer bloque de la próxima ventana de ajuste de dificultad, establece nuevamente la marca de tiempo hacia el pasado, 1 segundo antes del penúltimo bloque del período anterior.
Este tipo de ataque puede hacer que la blockchain esté cada vez más desfasada con respecto al tiempo real, y al mismo tiempo, la dificultad seguirá aumentando, lo que hará que la minería sea cada vez más difícil. Sin embargo, a partir del segundo ciclo de ajuste, la dificultad comenzará a ajustarse a la baja. El atacante luego puede crear bloques a una velocidad muy rápida, generando una gran cantidad de Bitcoin y, por lo tanto, obteniendo beneficios potenciales.
Viabilidad y desafíos del ataque
A pesar de que este ataque es teóricamente destructivo, en la práctica se enfrenta a numerosos desafíos:
Es posible que se necesite controlar la mayor parte 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 pueden limitar el grado de retroceso de las marcas de tiempo maliciosas.
El proceso de ataque es visible para todos, lo que puede activar una reparación de bifurcación suave de emergencia.
Soluciones potenciales
Reparar esta vulnerabilidad es relativamente simple, pero puede requerir cambios en el protocolo de bifurcación suave. Una solución sencilla es exigir que la marca de tiempo del primer bloque del nuevo ciclo de dificultad no sea anterior a un número específico de minutos del último bloque del ciclo anterior. En la propuesta de Poinsot, este límite de tiempo se establece en 2 horas, lo que representa aproximadamente el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, y puede limitar eficazmente el grado de manipulación de la dificultad.
Las ventajas de este límite de 2 horas incluyen:
Minimizar el riesgo de bloques inválidos inesperados
Mantenerse en línea con las reglas de la marca de tiempo del bloque futuro
Cambios relativamente conservadores, que en condiciones normales pueden ser más flexibles que las reglas de MTP
Sin embargo, este método aún permite a los atacantes manipular la dificultad hacia abajo aproximadamente un 0.6% en cada ciclo, pero será un cambio único y no se podrá acumular.
En general, aunque el ataque de distorsión temporal representa una amenaza teórica, su ejecución real es bastante difícil. A través de actualizaciones adecuadas del protocolo, podemos mejorar 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.
25 me gusta
Recompensa
25
5
Compartir
Comentar
0/400
LiquidationKing
· 07-13 07:37
El tiempo debe ser protegido por el código.
Ver originalesResponder0
DegenWhisperer
· 07-10 09:13
¿Es realmente fiable la bifurcación suave?
Ver originalesResponder0
DarkPoolWatcher
· 07-10 09:09
Es mejor reparar las vulnerabilidades a tiempo.
Ver originalesResponder0
TokenVelocityTrauma
· 07-10 09:06
Las vulnerabilidades deben ser corregidas lo antes posible.
La vulnerabilidad de ataque de distorsión temporal en el protocolo Bitcoin. Una nueva propuesta pretende solucionarlo a través de una bifurcación suave.
Vulnerabilidad de ataque de distorsión temporal en el protocolo Bitcoin
El desarrollador de Bitcoin Antoine Poinsot propuso una nueva propuesta de mejora el 26 de marzo de 2025, con el objetivo de corregir varios fallos y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin a través de una actualización de bifurcación suave. Uno de los fallos más graves se conoce como "ataque de distorsión temporal", y este artículo lo explorará en profundidad.
Mecanismo de protección de la marca de tiempo del bloque de Bitcoin
Antes de discutir el ataque de distorsión temporal, repasemos las reglas de protección contra la manipulación del tiempo en la actual red de Bitcoin:
Tiempo medio pasado (MPT) regla: la marca de tiempo del bloque debe ser posterior al tiempo medio de los últimos 11 bloques.
Reglas de tiempo de bloque futuro: la marca de tiempo del bloque no debe exceder las 2 horas más que el tiempo medio de los nodos pares. Además, la diferencia máxima permitida entre el tiempo del nodo y el reloj del sistema local es de 90 minutos, lo que también es una medida de seguridad.
Las reglas MPT aseguran que las marcas de tiempo de los bloques no sean demasiado retroactivas, mientras que las reglas de bloques futuros evitan que las marcas de tiempo sean demasiado anticipadas. Es importante señalar que no se pueden implementar medidas similares a las reglas de bloques futuros para evitar que los bloques usen marcas de tiempo del pasado, ya que esto podría afectar el proceso de sincronización inicial de la cadena de bloques. Los ataques de distorsión temporal precisamente aprovechan la posibilidad de falsificar marcas de tiempo antiguas.
El pequeño error de Satoshi Nakamoto
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculando un tiempo objetivo de 10 minutos por bloque, lo que equivale aproximadamente a dos semanas. Para 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 en la ventana de 2016 bloques relacionada. Esta ventana de 2016 bloques en realidad incluye 2015 intervalos de bloques (es decir, 2016 menos 1). Por lo tanto, el tiempo objetivo utilizado teóricamente debería ser 60 segundos × 10 minutos × 2015 intervalos, lo que equivale a 1,209,000 segundos.
Sin embargo, el protocolo de Bitcoin utiliza el número 2016 en sus cálculos. 60 segundos × 10 minutos × 2016 = 1,209,600 segundos. Este es un pequeño error que podría haber surgido de la confusión de Satoshi Nakamoto sobre el concepto de intervalo entre bloques.
Este error provoca que el tiempo objetivo sea un 0.05% más largo de lo que debería. De hecho, el intervalo de tiempo objetivo de Bitcoin no es de 10 minutos, sino de 10 minutos y 0.3 segundos. Esta pequeña desviación no tiene un impacto grave; de hecho, desde el nacimiento de Bitcoin, el intervalo promedio de creación de bloques ha permanecido alrededor de 9 minutos y 36 segundos, claramente menos de 10 minutos. Esto se debe principalmente a que, desde 2009, la potencia de cálculo promedio de la red ha estado aumentando de manera constante.
Principio del ataque de distorsión temporal
El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011, aprovechando este pequeño error de Satoshi Nakamoto en el cálculo de la dificultad. Suponiendo que la minería esté completamente centralizada, un atacante podría manipular las marcas de tiempo de los bloques de la siguiente manera:
Este tipo de ataque puede hacer que la blockchain esté cada vez más desfasada con respecto al tiempo real, y al mismo tiempo, la dificultad seguirá aumentando, lo que hará que la minería sea cada vez más difícil. Sin embargo, a partir del segundo ciclo de ajuste, la dificultad comenzará a ajustarse a la baja. El atacante luego puede crear bloques a una velocidad muy rápida, generando una gran cantidad de Bitcoin y, por lo tanto, obteniendo beneficios potenciales.
Viabilidad y desafíos del ataque
A pesar de que este ataque es teóricamente destructivo, en la práctica se enfrenta a numerosos desafíos:
Soluciones potenciales
Reparar esta vulnerabilidad es relativamente simple, pero puede requerir cambios en el protocolo de bifurcación suave. Una solución sencilla es exigir que la marca de tiempo del primer bloque del nuevo ciclo de dificultad no sea anterior a un número específico de minutos del último bloque del ciclo anterior. En la propuesta de Poinsot, este límite de tiempo se establece en 2 horas, lo que representa aproximadamente el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, y puede limitar eficazmente el grado de manipulación de la dificultad.
Las ventajas de este límite de 2 horas incluyen:
Sin embargo, este método aún permite a los atacantes manipular la dificultad hacia abajo aproximadamente un 0.6% en cada ciclo, pero será un cambio único y no se podrá acumular.
En general, aunque el ataque de distorsión temporal representa una amenaza teórica, su ejecución real es bastante difícil. A través de actualizaciones adecuadas del protocolo, podemos mejorar aún más la seguridad y estabilidad de la red Bitcoin.