¿Cómo se valida el tiempo de minería?

El nuevo objetivo se calcula a partir de T(new_block-1) - T(new_block-2016). Aquí T es el tiempo que el minero extrajo el bloque.

Miner mismo establece este tiempo para el bloque.

Por lo tanto, el minero puede falsificar esta vez.

Veo una regla que esta vez:

Debe ser estrictamente mayor que la mediana de tiempo de los 11 bloques anteriores. Los nodos completos no aceptarán bloques con encabezados de más de dos horas en el futuro según su reloj.

¿Es este el mecanismo utilizado para evitar la falsificación del tiempo (por lo tanto, la falsificación del objetivo)?

¿Es suficiente este mecanismo en sí mismo? Si es así, ¿cómo?

Trate de trabajar a través de él. Si más de la mitad de todos los mineros (por poder de minería) son deshonestos, la red está jodida de todos modos. Entonces, suponiendo que más de la mitad de todos los mineros son honestos, ¿qué sucede si un atacante envía un bloque cuya marca de tiempo es (1) en el pasado lejano o (2) en el futuro lejano?
Buen comentario. (2 - más fácil) en un futuro lejano, simplemente será rechazado debido al límite de 2 horas. ¿Por qué un límite tan grande, algo así como 15 minutos, debería ser suficiente, especialmente debido a los retrasos en la propagación del tiempo?
(1) Un pool de minería puede extraer de 5 a 6 bloques seguidos. Si los pone en el pasado lejano, se rechazan por ser inferiores a la mediana. Si el último bloque está a la altura N, puede ponerlos en algún lugar alrededor de N-11. Esto da un error de tiempo de unos 11 bloques. Como la dificultad se ajusta cada 2016 bloques, esto dará un error de 11/2016 que es bajo. ¿Es esto correcto?

Respuestas (1)

En Bitcoin, el tiempo medio pasado (como en su cotización) se usa para todas las operaciones en las que el reloj es importante, lo que limita el efecto de la marca de tiempo de cualquier minero. Los mineros pueden sesgar la marca de tiempo de su bloque bastante sin afectar negativamente a la red, algunas optimizaciones de minería anteriores involucraron sesgar la marca de tiempo hacia adelante para evitar la necesidad de realizar operaciones costosas para cargar una nueva raíz merle.

Hay una excepción en la que puede ocurrir algo desagradable, que es un error en el cálculo de la ventana de dificultad, lo que significa que la marca de tiempo de un solo bloque queda fuera de la ventana de cálculo. Esto generalmente se conoce como el ataque de distorsión del tiempo , pero no es una amenaza significativa en el mundo real; sin embargo, es útil para restablecer abusivamente la dificultad en la red de prueba si es demasiado alta.