Bitcoin repara vulnerabilidades: se resolverá el problema del ataque de distorsión temporal
El 26 de marzo de 2025, un desarrollador de Bitcoin presentó una nueva propuesta de mejora con el objetivo de reparar varios errores y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin. Esta propuesta de bifurcación suave, conocida como "limpieza del gran consenso", además de abordar el problema de las transacciones duplicadas, también solucionará una vulnerabilidad más grave: el "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, revisemos las actuales reglas de protección contra la manipulación temporal:
Tiempo medio pasado (MPT) regla: la marca de tiempo del bloque debe ser posterior al tiempo medio de los últimos once bloques.
Reglas futuras de tiempo de bloque: la marca de tiempo del bloque no puede adelantarse más de 2 horas respecto al tiempo mediano 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 demasiado retrospectivas, mientras que las reglas de los bloques futuros evitan que las marcas de tiempo sean demasiado adelantadas. Es importante destacar que no se pueden implementar reglas similares a las de los bloques futuros para prevenir marcas de tiempo pasadas, ya que esto podría afectar la sincronización inicial de la cadena de bloques. El ataque de distorsión temporal se lleva a cabo exactamente mediante la falsificación de marcas de tiempo que retroceden mucho en el tiempo.
Error de cálculo de Satoshi Nakamoto
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculado con un objetivo de bloque de 10 minutos, lo que equivale a aproximadamente dos semanas. Para calcular el ajuste de dificultad de minería, el protocolo calcula la diferencia de las marcas de tiempo del primer y último bloque en la ventana de 2016 bloques. Esta ventana en realidad incluye 2015 intervalos de bloques ( 2016 menos 1). Por lo tanto, el tiempo objetivo correcto debería ser 60 segundos × 10 minutos × 2015 intervalos = 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 probablemente se deba a que Satoshi Nakamoto confundió el concepto de bloque con el intervalo entre bloques.
Este error hace que el tiempo objetivo sea un 0.05% más largo de lo que debería ser. De hecho, el intervalo de tiempo objetivo de Bitcoin no es de 10 minutos, sino de 10 minutos y 0.3 segundos. Este pequeño error no es importante; de hecho, desde el nacimiento de Bitcoin, el intervalo promedio de bloques ha sido de 9 minutos y 36 segundos, claramente menos de 10 minutos. Esto se debe a que desde 2009, la capacidad de cálculo promedio ha estado en aumento.
Ataque de distorsión temporal
El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011, aprovechando un error de Satoshi Nakamoto en el cálculo de la dificultad. En este ataque, se asume que la minería está completamente centralizada, y los mineros pueden establecer cualquier marca de tiempo permitida por el protocolo. El atacante establecerá la marca de tiempo de la mayoría de los bloques para que sea solo un segundo antes que el bloque anterior, haciendo que la cadena de bloques avance lentamente en el tiempo, 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 en el siguiente bloque aumentar el tiempo en un segundo, repitiendo este ciclo. Esto significa que la marca de tiempo del bloque solo avanza un segundo cada seis bloques.
Este ataque hará que la blockchain se retrase cada vez más respecto al tiempo real, aumentando la dificultad y haciendo que la minería sea más difícil. Sin embargo, para mejorar el efecto del ataque, en el último bloque de cada ciclo de ajuste de dificultad, los mineros configurarán la marca de tiempo al tiempo del mundo real. El siguiente bloque (, que es el primer bloque de la nueva ventana de ajuste de dificultad ), se configurará de nuevo al pasado, adelantándose un segundo al penúltimo bloque de la ventana de ajuste de dificultad anterior. Esto aún cumple con las reglas de MTP, ya que una sola anomalía no afectará a la mediana de 11 bloques.
Al realizar este tipo de ataque, la dificultad no se verá afectada después del primer ciclo. Sin embargo, después del segundo ciclo de ajuste tras el inicio del ataque, la dificultad comenzará a ajustarse a la baja. Posteriormente, los mineros podrán crear bloques a una velocidad muy rápida, lo que podría generar una gran cantidad de Bitcoin, que luego podrán vender para obtener ganancias.
Viabilidad del ataque y soluciones
Aunque teóricamente este tipo de ataque podría tener consecuencias devastadoras, hay algunos desafíos en su implementación. Ejecutar el ataque podría requerir el control de la mayor parte de la potencia de cálculo. Si los mineros honestos introducen sellos de tiempo reales, la dificultad del ataque aumentará considerablemente. Las reglas de MTP y los sellos de tiempo de los mineros honestos podrían limitar el grado en que los mineros malintencionados pueden manipular los sellos de tiempo. Además, si un minero honesto produce el primer bloque de cualquier ventana de ajuste de dificultad, el ataque en ese ciclo no tendrá éxito.
Otro factor que podría dificultar la ejecución del ataque es que es visible para todos. Cualquiera puede ver las anomalías en las marcas de tiempo, y antes de que la dificultad se ajuste a la baja, se deben manipular las marcas de tiempo circundantes, lo que podría darnos tiempo para implementar una solución de bifurcación suave de emergencia.
Para resolver esta vulnerabilidad, los desarrolladores propusieron una solución relativamente simple. La nueva propuesta exige que el tiempo del primer bloque del nuevo ciclo de dificultad no sea anterior a un número específico de minutos antes del último bloque del ciclo anterior. El rango de tiempo actualmente discutido varía de 10 minutos a 2 horas. En la última propuesta de limpieza de consenso, este tiempo se estableció en 2 horas.
Este límite de 2 horas representa solo aproximadamente el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, lo que limita considerablemente la capacidad de manipular la dificultad hacia abajo. Esta modificación no solo previene de manera efectiva los ataques de distorsión temporal, sino que también minimiza el riesgo de generar bloques inválidos de manera accidental, al mismo tiempo que se mantiene coherente con las reglas actuales de las marcas de tiempo de bloques futuros.
A través de la implementación de esta mejora, la red de Bitcoin podrá resistir mejor los posibles ataques de distorsión temporal, aumentando aún más su seguridad y estabilidad.
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.
18 me gusta
Recompensa
18
4
Compartir
Comentar
0/400
TokenGuru
· hace9h
alcista ah btc viejo proyecto aún está reparando bugs seriamente no como ciertos altcoin
Ver originalesResponder0
LootboxPhobia
· 07-30 16:54
Han vuelto a reparar una vulnerabilidad, me asustó.
Ver originalesResponder0
DaoResearcher
· 07-30 16:38
En resumen, según la derivación de la teoría del mecanismo de gobernanza 3.0, este plan presenta defectos sistémicos.
Ver originalesResponder0
defi_detective
· 07-30 16:37
Espera, ¿cuál es el principio? No lo entiendo, ¿puedes explicarlo, hermano?
Bitcoin corregirá la vulnerabilidad del ataque de distorsión temporal y mejorará la seguridad de la red.
Bitcoin repara vulnerabilidades: se resolverá el problema del ataque de distorsión temporal
El 26 de marzo de 2025, un desarrollador de Bitcoin presentó una nueva propuesta de mejora con el objetivo de reparar varios errores y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin. Esta propuesta de bifurcación suave, conocida como "limpieza del gran consenso", además de abordar el problema de las transacciones duplicadas, también solucionará una vulnerabilidad más grave: el "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, revisemos las actuales reglas de protección contra la manipulación temporal:
Tiempo medio pasado (MPT) regla: la marca de tiempo del bloque debe ser posterior al tiempo medio de los últimos once bloques.
Reglas futuras de tiempo de bloque: la marca de tiempo del bloque no puede adelantarse más de 2 horas respecto al tiempo mediano 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 demasiado retrospectivas, mientras que las reglas de los bloques futuros evitan que las marcas de tiempo sean demasiado adelantadas. Es importante destacar que no se pueden implementar reglas similares a las de los bloques futuros para prevenir marcas de tiempo pasadas, ya que esto podría afectar la sincronización inicial de la cadena de bloques. El ataque de distorsión temporal se lleva a cabo exactamente mediante la falsificación de marcas de tiempo que retroceden mucho en el tiempo.
Error de cálculo de Satoshi Nakamoto
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculado con un objetivo de bloque de 10 minutos, lo que equivale a aproximadamente dos semanas. Para calcular el ajuste de dificultad de minería, el protocolo calcula la diferencia de las marcas de tiempo del primer y último bloque en la ventana de 2016 bloques. Esta ventana en realidad incluye 2015 intervalos de bloques ( 2016 menos 1). Por lo tanto, el tiempo objetivo correcto debería ser 60 segundos × 10 minutos × 2015 intervalos = 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 probablemente se deba a que Satoshi Nakamoto confundió el concepto de bloque con el intervalo entre bloques.
Este error hace que el tiempo objetivo sea un 0.05% más largo de lo que debería ser. De hecho, el intervalo de tiempo objetivo de Bitcoin no es de 10 minutos, sino de 10 minutos y 0.3 segundos. Este pequeño error no es importante; de hecho, desde el nacimiento de Bitcoin, el intervalo promedio de bloques ha sido de 9 minutos y 36 segundos, claramente menos de 10 minutos. Esto se debe a que desde 2009, la capacidad de cálculo promedio ha estado en aumento.
Ataque de distorsión temporal
El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011, aprovechando un error de Satoshi Nakamoto en el cálculo de la dificultad. En este ataque, se asume que la minería está completamente centralizada, y los mineros pueden establecer cualquier marca de tiempo permitida por el protocolo. El atacante establecerá la marca de tiempo de la mayoría de los bloques para que sea solo un segundo antes que el bloque anterior, haciendo que la cadena de bloques avance lentamente en el tiempo, 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 en el siguiente bloque aumentar el tiempo en un segundo, repitiendo este ciclo. Esto significa que la marca de tiempo del bloque solo avanza un segundo cada seis bloques.
Este ataque hará que la blockchain se retrase cada vez más respecto al tiempo real, aumentando la dificultad y haciendo que la minería sea más difícil. Sin embargo, para mejorar el efecto del ataque, en el último bloque de cada ciclo de ajuste de dificultad, los mineros configurarán la marca de tiempo al tiempo del mundo real. El siguiente bloque (, que es el primer bloque de la nueva ventana de ajuste de dificultad ), se configurará de nuevo al pasado, adelantándose un segundo al penúltimo bloque de la ventana de ajuste de dificultad anterior. Esto aún cumple con las reglas de MTP, ya que una sola anomalía no afectará a la mediana de 11 bloques.
Al realizar este tipo de ataque, la dificultad no se verá afectada después del primer ciclo. Sin embargo, después del segundo ciclo de ajuste tras el inicio del ataque, la dificultad comenzará a ajustarse a la baja. Posteriormente, los mineros podrán crear bloques a una velocidad muy rápida, lo que podría generar una gran cantidad de Bitcoin, que luego podrán vender para obtener ganancias.
Viabilidad del ataque y soluciones
Aunque teóricamente este tipo de ataque podría tener consecuencias devastadoras, hay algunos desafíos en su implementación. Ejecutar el ataque podría requerir el control de la mayor parte de la potencia de cálculo. Si los mineros honestos introducen sellos de tiempo reales, la dificultad del ataque aumentará considerablemente. Las reglas de MTP y los sellos de tiempo de los mineros honestos podrían limitar el grado en que los mineros malintencionados pueden manipular los sellos de tiempo. Además, si un minero honesto produce el primer bloque de cualquier ventana de ajuste de dificultad, el ataque en ese ciclo no tendrá éxito.
Otro factor que podría dificultar la ejecución del ataque es que es visible para todos. Cualquiera puede ver las anomalías en las marcas de tiempo, y antes de que la dificultad se ajuste a la baja, se deben manipular las marcas de tiempo circundantes, lo que podría darnos tiempo para implementar una solución de bifurcación suave de emergencia.
Para resolver esta vulnerabilidad, los desarrolladores propusieron una solución relativamente simple. La nueva propuesta exige que el tiempo del primer bloque del nuevo ciclo de dificultad no sea anterior a un número específico de minutos antes del último bloque del ciclo anterior. El rango de tiempo actualmente discutido varía de 10 minutos a 2 horas. En la última propuesta de limpieza de consenso, este tiempo se estableció en 2 horas.
Este límite de 2 horas representa solo aproximadamente el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, lo que limita considerablemente la capacidad de manipular la dificultad hacia abajo. Esta modificación no solo previene de manera efectiva los ataques de distorsión temporal, sino que también minimiza el riesgo de generar bloques inválidos de manera accidental, al mismo tiempo que se mantiene coherente con las reglas actuales de las marcas de tiempo de bloques futuros.
A través de la implementación de esta mejora, la red de Bitcoin podrá resistir mejor los posibles ataques de distorsión temporal, aumentando aún más su seguridad y estabilidad.