Seguridad de Bitcoin: Ataques de distorsión temporal
Resumen
El 26 de marzo de 2025, un desarrollador de Bitcoin propuso una nueva propuesta de mejora, conocida como la solución de bifurcación suave "Gran limpieza de consenso". Esta actualización tiene como objetivo 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 precisamente el contenido que este artículo abordará en detalle.
Mecanismo de protección de la marca de tiempo del bloque de Bitcoin
Antes de discutir el ataque de distorsión temporal, revisemos primero las reglas actuales de protección contra la manipulación del tiempo:
Tiempo medio pasado (MPT) regla: la marca de tiempo del bloque debe ser más reciente que el tiempo medio de los últimos once bloques.
Reglas de tiempo de bloques futuros: 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 los nodos pares. La diferencia máxima permitida entre el tiempo proporcionado por el nodo y el reloj del sistema local es de 90 minutos, como otra medida de seguridad.
Las reglas de MPT aseguran que los bloques no retrocedan demasiado en el tiempo, mientras que las reglas de bloques futuros evitan que entren en el futuro en exceso. Es importante notar que no se puede implementar un mecanismo similar a las reglas de bloques futuros para prevenir que los bloques tengan marcas de tiempo del pasado, ya que esto podría afectar la sincronización inicial de la cadena de bloques. Los ataques de distorsión temporal implican falsificar marcas de tiempo, llevándolas mucho más atrás en el tiempo.
Error de cálculo en el código original
En el protocolo de Bitcoin existe un pequeño pero notable error de cálculo. Al calcular el ajuste de dificultad de minería, el protocolo utiliza 2016 bloques como base de cálculo, cuando en realidad debería utilizar un intervalo de 2015 bloques. Esto provoca que el tiempo objetivo sea un 0.05% más largo de lo que debería, lo que hace que el intervalo de bloque objetivo real de Bitcoin sea de 10 minutos y 0.3 segundos, en lugar de 10 minutos exactos.
Aunque este error de 0.3 segundos no afecta mucho en general, está relacionado con otro 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, y este método tiene defectos. Una práctica más razonable debería calcular la diferencia de tiempo entre el último bloque de la ventana de 2016 bloques anterior y el último bloque de la ventana actual.
Principio del ataque de distorsión temporal
El ataque de distorsión temporal aprovecha el error de cálculo mencionado anteriormente. En un escenario ideal, suponiendo que la minería está completamente centralizada, el atacante puede manipular las marcas de tiempo de los bloques de la siguiente manera:
La mayoría de las marcas de tiempo de los bloques están solo un segundo antes del bloque anterior.
Cada seis bloques se avanza la marca de tiempo un segundo para cumplir con las reglas de MTP.
En el último bloque de cada período de ajuste de dificultad, establecer la marca de tiempo en el tiempo del mundo real.
La marca de tiempo del primer bloque del nuevo ciclo de dificultad vuelve a un momento del pasado, una segunda antes del penúltimo bloque del ciclo anterior.
Esta operación hará que el tiempo de la cadena de bloques se retrase gradualmente con respecto al tiempo real, al mismo tiempo que la dificultad aumenta continuamente. Sin embargo, al final de cada ciclo de ajuste de dificultad, debido a que el último bloque utiliza una marca de tiempo real, se activará un ajuste a la baja de la dificultad. A medida que continúa el ataque, la dificultad se reducirá drásticamente, permitiendo a los atacantes crear bloques a una velocidad extremadamente rápida, potencialmente obteniendo grandes cantidades de Bitcoin.
Viabilidad y desafíos del ataque
Aunque teóricamente este tipo de ataque puede ser destructivo, enfrenta muchos desafíos en su implementación:
Puede que sea necesario controlar la mayor parte de la potencia de cálculo de la red.
La existencia de mineros honestos aumentará la dificultad de los ataques.
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 ventana de ajuste de dificultad, el ataque de ese ciclo fallará.
Las acciones de ataque son visibles públicamente en la cadena de bloques y pueden activar una reparación de bifurcación suave de emergencia.
Soluciones potenciales
Para solucionar esta vulnerabilidad, hay varias posibles soluciones:
Modificar el algoritmo de ajuste de dificultad, calcular el intervalo de tiempo entre diferentes ventanas de bloques 2016 y corregir el error de cálculo.
Cancelar la regla MTP, exigiendo que el tiempo de cada bloque debe avanzar.
Establecer nuevas reglas de límite: 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, 10 minutos o 2 horas).
En la última propuesta de "limpieza del gran consenso", se sugiere adoptar un límite de tiempo de 2 horas. Este límite representa aproximadamente el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, lo que puede limitar eficazmente el grado de manipulación de la dificultad.
A través de la implementación de estas mejoras, la red Bitcoin podrá resistir mejor los ataques de distorsión temporal, lo que aumentará 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.
8 me gusta
Recompensa
8
6
Compartir
Comentar
0/400
LuckyBearDrawer
· hace9h
Este bug, hablando y hablando, ni siquiera es tan difícil como la Dificultad minera.
Ver originalesResponder0
MetaverseVagabond
· hace9h
¡Ay, mami! ¡Otra vez hay problemas!
Ver originalesResponder0
DataBartender
· hace9h
Parece que otra vez hay un bug de nivel divino. Voy a buscar un taburete pequeño primero.
Ver originalesResponder0
EyeOfTheTokenStorm
· hace9h
Ay, otra vez hay gente manipulando la Marca de tiempo. ¿Abrir largo o corto? No se preocupen todos.
Ver originalesResponder0
airdrop_huntress
· hace10h
¿Qué están haciendo de nuevo? ¿Por qué se menciona una máquina del tiempo?
Ver originalesResponder0
just_another_wallet
· hace10h
Ay, después de tantos años de desarrollo, los fallos no dejan de aparecer.
Bitcoin enfrenta el riesgo de ataque de distorsión temporal, una nueva propuesta podría resolver las vulnerabilidades de seguridad.
Seguridad de Bitcoin: Ataques de distorsión temporal
Resumen
El 26 de marzo de 2025, un desarrollador de Bitcoin propuso una nueva propuesta de mejora, conocida como la solución de bifurcación suave "Gran limpieza de consenso". Esta actualización tiene como objetivo 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 precisamente el contenido que este artículo abordará en detalle.
Mecanismo de protección de la marca de tiempo del bloque de Bitcoin
Antes de discutir el ataque de distorsión temporal, revisemos primero las reglas actuales de protección contra la manipulación del tiempo:
Tiempo medio pasado (MPT) regla: la marca de tiempo del bloque debe ser más reciente que el tiempo medio de los últimos once bloques.
Reglas de tiempo de bloques futuros: 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 los nodos pares. La diferencia máxima permitida entre el tiempo proporcionado por el nodo y el reloj del sistema local es de 90 minutos, como otra medida de seguridad.
Las reglas de MPT aseguran que los bloques no retrocedan demasiado en el tiempo, mientras que las reglas de bloques futuros evitan que entren en el futuro en exceso. Es importante notar que no se puede implementar un mecanismo similar a las reglas de bloques futuros para prevenir que los bloques tengan marcas de tiempo del pasado, ya que esto podría afectar la sincronización inicial de la cadena de bloques. Los ataques de distorsión temporal implican falsificar marcas de tiempo, llevándolas mucho más atrás en el tiempo.
Error de cálculo en el código original
En el protocolo de Bitcoin existe un pequeño pero notable error de cálculo. Al calcular el ajuste de dificultad de minería, el protocolo utiliza 2016 bloques como base de cálculo, cuando en realidad debería utilizar un intervalo de 2015 bloques. Esto provoca que el tiempo objetivo sea un 0.05% más largo de lo que debería, lo que hace que el intervalo de bloque objetivo real de Bitcoin sea de 10 minutos y 0.3 segundos, en lugar de 10 minutos exactos.
Aunque este error de 0.3 segundos no afecta mucho en general, está relacionado con otro 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, y este método tiene defectos. Una práctica más razonable debería calcular la diferencia de tiempo entre el último bloque de la ventana de 2016 bloques anterior y el último bloque de la ventana actual.
Principio del ataque de distorsión temporal
El ataque de distorsión temporal aprovecha el error de cálculo mencionado anteriormente. En un escenario ideal, suponiendo que la minería está completamente centralizada, el atacante puede manipular las marcas de tiempo de los bloques de la siguiente manera:
Esta operación hará que el tiempo de la cadena de bloques se retrase gradualmente con respecto al tiempo real, al mismo tiempo que la dificultad aumenta continuamente. Sin embargo, al final de cada ciclo de ajuste de dificultad, debido a que el último bloque utiliza una marca de tiempo real, se activará un ajuste a la baja de la dificultad. A medida que continúa el ataque, la dificultad se reducirá drásticamente, permitiendo a los atacantes crear bloques a una velocidad extremadamente rápida, potencialmente obteniendo grandes cantidades de Bitcoin.
Viabilidad y desafíos del ataque
Aunque teóricamente este tipo de ataque puede ser destructivo, enfrenta muchos desafíos en su implementación:
Soluciones potenciales
Para solucionar esta vulnerabilidad, hay varias posibles soluciones:
En la última propuesta de "limpieza del gran consenso", se sugiere adoptar un límite de tiempo de 2 horas. Este límite representa aproximadamente el 0.6% del tiempo objetivo del ciclo de ajuste de dificultad, lo que puede limitar eficazmente el grado de manipulación de la dificultad.
A través de la implementación de estas mejoras, la red Bitcoin podrá resistir mejor los ataques de distorsión temporal, lo que aumentará aún más su seguridad y estabilidad.