Pregunta 7

Implement BIP 54 (Consensus Cleanup) without mainnet activation

Andrea Díaz Correia 18/08/2026 21:30
Pregunta 7 -> El commit “miner: update a timewarp comment to refer specifically to BIP 54” dice que aplicar BIP 94 en todas las redes hace más segura la activación de BIP 54, pero GetMinimumTime() solo contempla el primer bloque del periodo de retarget, no el último. ¿Puede entonces getblocktemplate fallar en un nodo honesto? ¿Y qué pasaría con test_block_validity desactivado?
25/08/2026 17:45
aqui la 7
25/08/2026 17:46
👀
> 25/08/2026 17:46
👀
Pol Espinasa 25/08/2026 17:46
alguien se anima?
25/08/2026 17:48
@Andrea Díaz Correia maybe?
arejula27 25/08/2026 17:49
Estás últimas no me ha dado tiempo a mirarlo sorry 😭
🙏 1
Andrea Díaz Correia 25/08/2026 17:49

Yo lo veo así: GetMinimumTime solo mira el primer bloque del periodo, y ahí usa el bound de 600s de BIP 94, que es más estricto que los 7200 de BIP 54. Para la regla de timewarp el minero nunca genera una plantilla mala.

Para la regla nueva (el último bloque no puede ser anterior al primero) no hace nada. Pero en un nodo honesto en mainnet no llega a fallar: haría falta que 2015 bloques se minaran en menos de 2h para que “ahora” quedara por detrás del primer bloque del periodo. En regtest con mocktime sí es alcanzable.

👍 1
25/08/2026 17:50
Y aunque fallara, pasa por TestBlockValidity, que sí va a devolver error
Pol Espinasa 25/08/2026 17:51
Yo creo que si puede fallar
25/08/2026 17:51
pero es complicado
Andrea Díaz Correia 25/08/2026 17:51
En mainnet es muy difícil
Pol Espinasa 25/08/2026 17:51
si los timestamps bajan mucho durante un periodo, el MTP podria ser menor al timestamp del primer bloque, y si current_time es menor que el del primer bloque seria invalido
25/08/2026 17:52
asi que un bloque invalido se podria llegar a propagar, pero es muuuuuy complicado
25/08/2026 17:52
si no es aposta lo veo bastante imposible
👍🏻 2
Andrea Díaz Correia 25/08/2026 17:54
pasamos a la siguiente?
Pol Espinasa 25/08/2026 17:55
dale