Ataque de distorsión temporal de Bitcoin: un posible riesgo de seguridad
El 26 de marzo de 2025, los desarrolladores de Bitcoin propusieron una propuesta de bifurcación suave llamada "Gran Limpieza de Consenso". Esta propuesta tiene como objetivo reparar varios defectos y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin, que incluyen el problema de transacciones duplicadas que discutimos anteriormente. Otro defecto más grave se conoce como "Ataque de Distorsión Temporal", que es precisamente el tema que se abordará 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 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 de tiempo de bloque futuro: Basado en la constante MAX_FUTURE_BLOCK_TIME, la marca de tiempo del bloque no puede adelantarse más de 2 horas respecto a la mediana de tiempo de la red. La discrepancia máxima permitida entre el tiempo del nodo y el reloj del sistema local es de 90 minutos, lo cual es otra garantía.
Las reglas de MPT aseguran que los bloques no "regresen al pasado", mientras que las reglas de bloques futuros evitan que "crucen al futuro". Cabe destacar que no se pueden implementar reglas similares a las de bloques futuros para prevenir que los bloques tengan una marca de tiempo del pasado, ya que esto podría afectar el proceso de sincronización inicial de la cadena de bloques. El ataque de distorsión temporal se logra mediante la falsificación de marcas de tiempo que regresan mucho al pasado.
El error de "uno menos" de Satoshi Nakamoto
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculando un tiempo objetivo de bloque de 10 minutos, lo que equivale a aproximadamente dos semanas. Para calcular el ajuste de dificultad de minería, el protocolo calculará la diferencia de 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 relacionado que se utiliza 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 para calcular el objetivo. 60 segundos × 10 minutos × 2016 = 1,209,600 segundos. Este es un error de "uno menos", que puede ser el resultado de confundir la cantidad de bloques con la cantidad de intervalos de 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 bloques objetivo de Bitcoin no es de 10 minutos, sino de 10 minutos y 0.3 segundos. Esta pequeña diferencia es casi irrelevante en la operación diaria, especialmente teniendo en cuenta que desde 2009, debido al crecimiento continuo de la potencia de cálculo, el intervalo medio real de los bloques ha sido inferior a 10 minutos.
El principio del ataque de distorsión temporal
El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011, aprovechando este error de Satoshi Nakamoto en el cálculo de la dificultad. La idea central del ataque es:
Para la mayoría de los bloques, se debe establecer la marca de tiempo solo un segundo adelante del bloque anterior.
Cada seis bloques se mueve la marca de tiempo un segundo hacia adelante para cumplir con las reglas de MPT.
En el último bloque de cada periodo de ajuste de dificultad, establecer la marca de tiempo en el tiempo del mundo real.
La marca de tiempo del primer bloque del próximo ciclo se vuelve a establecer en el pasado.
Esta operación hace que el tiempo de la blockchain se retrase cada vez más con respecto al tiempo real, lo que provoca un aumento continuo en la dificultad. Sin embargo, dado que el último bloque de cada ciclo utiliza una marca de tiempo real, el cálculo de la dificultad considera que el tiempo pasa más lentamente de lo que realmente es, lo que lleva a una reducción significativa de la dificultad después del segundo ciclo de ajuste.
Impacto potencial del ataque
Si se implementa con éxito, este ataque podría resultar en:
La dificultad ha disminuido drásticamente
La velocidad de generación de bloques ha aumentado significativamente
Crear una gran cantidad de Bitcoin en un corto período de tiempo
Puede provocar confusión en el mercado
Sin embargo, implementar este ataque enfrenta numerosos desafíos:
Necesita controlar la mayor parte de la potencia de cálculo de la red
La existencia de mineros honestos aumentará la dificultad
El proceso de ataque puede ser detectado a tiempo y se pueden tomar medidas.
Solución
Para solucionar este problema, hay varios métodos posibles:
Modificar el algoritmo de ajuste de dificultad, reparar completamente el error "casi uno".
Cancelar la regla MPT, exigiendo que el tiempo siempre avance en cada bloque.
Establecer nuevas reglas de limitación: se requiere que el tiempo del primer bloque del nuevo ciclo de dificultad no sea anterior a un tiempo específico antes del último bloque del ciclo anterior (por ejemplo, 2 horas).
La propuesta de "limpieza del gran consenso" actual adopta un tercer método, sugiriendo establecer un límite de 2 horas. Este plan no solo puede prevenir eficazmente los ataques de distorsión temporal, sino que también minimiza el riesgo de generar bloques inválidos de manera accidental.
La comunidad de Bitcoin está discutiendo y perfeccionando activamente estas propuestas para garantizar la seguridad y estabilidad a largo plazo de la red. A medida que la tecnología sigue avanzando, tenemos razones para creer que la red de Bitcoin se volverá más fuerte y confiable.
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.
11 me gusta
Recompensa
11
4
Compartir
Comentar
0/400
LiquidityHunter
· hace21h
A altas horas de la madrugada salió otra vulnerabilidad de seguridad, el precio se desploma, ¿vale la pena esperar una oportunidad de arbitraje?
Ver originalesResponder0
GasWastingMaximalist
· hace21h
¿Qué está pasando? ¿Otra vez van a cambiar las reglas?
Ver originalesResponder0
ZenMiner
· hace22h
Estaba cavando y me quedé dormido, de todos modos no tenemos prisa.
Ver originalesResponder0
faded_wojak.eth
· hace22h
Este bug suena aterrador, estoy mirando todo el día.
Ataques de distorsión del tiempo de Bitcoin: Análisis de vulnerabilidades ocultas y soluciones de reparación
Ataque de distorsión temporal de Bitcoin: un posible riesgo de seguridad
El 26 de marzo de 2025, los desarrolladores de Bitcoin propusieron una propuesta de bifurcación suave llamada "Gran Limpieza de Consenso". Esta propuesta tiene como objetivo reparar varios defectos y debilidades que han existido durante mucho tiempo en el protocolo de Bitcoin, que incluyen el problema de transacciones duplicadas que discutimos anteriormente. Otro defecto más grave se conoce como "Ataque de Distorsión Temporal", que es precisamente el tema que se abordará 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 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 de tiempo de bloque futuro: Basado en la constante MAX_FUTURE_BLOCK_TIME, la marca de tiempo del bloque no puede adelantarse más de 2 horas respecto a la mediana de tiempo de la red. La discrepancia máxima permitida entre el tiempo del nodo y el reloj del sistema local es de 90 minutos, lo cual es otra garantía.
Las reglas de MPT aseguran que los bloques no "regresen al pasado", mientras que las reglas de bloques futuros evitan que "crucen al futuro". Cabe destacar que no se pueden implementar reglas similares a las de bloques futuros para prevenir que los bloques tengan una marca de tiempo del pasado, ya que esto podría afectar el proceso de sincronización inicial de la cadena de bloques. El ataque de distorsión temporal se logra mediante la falsificación de marcas de tiempo que regresan mucho al pasado.
El error de "uno menos" de Satoshi Nakamoto
El período de ajuste de dificultad de Bitcoin incluye 2016 bloques, calculando un tiempo objetivo de bloque de 10 minutos, lo que equivale a aproximadamente dos semanas. Para calcular el ajuste de dificultad de minería, el protocolo calculará la diferencia de 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 relacionado que se utiliza 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 para calcular el objetivo. 60 segundos × 10 minutos × 2016 = 1,209,600 segundos. Este es un error de "uno menos", que puede ser el resultado de confundir la cantidad de bloques con la cantidad de intervalos de 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 bloques objetivo de Bitcoin no es de 10 minutos, sino de 10 minutos y 0.3 segundos. Esta pequeña diferencia es casi irrelevante en la operación diaria, especialmente teniendo en cuenta que desde 2009, debido al crecimiento continuo de la potencia de cálculo, el intervalo medio real de los bloques ha sido inferior a 10 minutos.
El principio del ataque de distorsión temporal
El ataque de distorsión temporal fue descubierto por primera vez alrededor de 2011, aprovechando este error de Satoshi Nakamoto en el cálculo de la dificultad. La idea central del ataque es:
Esta operación hace que el tiempo de la blockchain se retrase cada vez más con respecto al tiempo real, lo que provoca un aumento continuo en la dificultad. Sin embargo, dado que el último bloque de cada ciclo utiliza una marca de tiempo real, el cálculo de la dificultad considera que el tiempo pasa más lentamente de lo que realmente es, lo que lleva a una reducción significativa de la dificultad después del segundo ciclo de ajuste.
Impacto potencial del ataque
Si se implementa con éxito, este ataque podría resultar en:
Sin embargo, implementar este ataque enfrenta numerosos desafíos:
Solución
Para solucionar este problema, hay varios métodos posibles:
La propuesta de "limpieza del gran consenso" actual adopta un tercer método, sugiriendo establecer un límite de 2 horas. Este plan no solo puede prevenir eficazmente los ataques de distorsión temporal, sino que también minimiza el riesgo de generar bloques inválidos de manera accidental.
La comunidad de Bitcoin está discutiendo y perfeccionando activamente estas propuestas para garantizar la seguridad y estabilidad a largo plazo de la red. A medida que la tecnología sigue avanzando, tenemos razones para creer que la red de Bitcoin se volverá más fuerte y confiable.