Pregunta 4

Implement BIP 54 (Consensus Cleanup) without mainnet activation

Andrea Díaz Correia 18/08/2026 21:27
Pregunta 4 -> En el commit “validation: make BIP54 sigops check consensus-critical”, CheckTxInputs recibe un bool enforce_bip54. De sus tres llamantes fuera de los tests, dos siempre le pasan true y el tercero le pasa un valor calculado. ¿Cuál es cuál y por qué? Ese mismo commit cambia el resultado de validación de TX_INPUTS_NOT_STANDARD a TX_CONSENSUS: ¿cambia algo más que el mensaje de error que devuelve la RPC?
25/08/2026 17:13
sigamos
arejula27 25/08/2026 17:13
Puede ser connect block? primero comprubea si esta marcado como activado o no y pasa ese valor a la función check inputs
👍 2
25/08/2026 17:13
No tengo el número de línea a mano 😔
Pol Espinasa 25/08/2026 17:14
Nos puedes decir el motivo de porque conect block lo hace asi? @arejula27
arejula27 25/08/2026 17:15
Es la función que añade el bloque a la blockchain local, así que entiendo que primero comprueba si el nodo tiene activado bip54 y en ese caso ejecuta unas reglas u otras
25/08/2026 17:15
Para que core pueda soportar bip54 o no
Pol Espinasa 25/08/2026 17:15
y porque las otras funciones lo tienen a true fijo?
arejula27 25/08/2026 17:16
Ahí me pillas 😅
Pol Espinasa 25/08/2026 17:16
jeje
25/08/2026 17:16
a ver si @> lo sabe
> 25/08/2026 17:16
devuelve bad-txns-legacy-sigops?
Pol Espinasa 25/08/2026 17:16
no hemos llegado ahi aun
25/08/2026 17:17
estamos en el motivo de porque enforce_bip54 esta hardcoded a true en algunas llamadas menos en conect block
arejula27 25/08/2026 17:18
De hecho solo he visto fuera de los test otra más, así que una se me escapó por qué no la encuentro
> 25/08/2026 17:19
Leí mal lo ultimo, tal vez porque en regtest si estará activo?
arejula27 25/08/2026 17:19
Puede ser la memoool la otra? Igual para aceptar todas en bloques pero no por política
25/08/2026 17:20
El check que estamos mirando de los sigops es ahora mismo una mempool policy
25/08/2026 17:20
Los que mantienen True son funciones relacionadas con la mempool, pasan True para mantener ese check a nivel de policy en todas las redes, testnet y mainnet con o sin BIP54 (esto funciona asi ahora mismo).
La llamada que tiene un valor calculado, calcula si el soft-fork esta activo para entonces, hacer enforcement de las reglas a nivel de consenso.
25/08/2026 17:21
Si os fijais en el commit anterior movemos ese check de policy a consensus
arejula27 25/08/2026 17:21
Pero eso no es un poco hacer trampas?
25/08/2026 17:21
Activarlo a medias 😅
Pol Espinasa 25/08/2026 17:22
no esta activado a medias
25/08/2026 17:22
ese mempool check lo tienes ahora mismo en tu nodo
25/08/2026 17:22
bip54 propone hacerlo consenso
arejula27 25/08/2026 17:22
Aaaa
25/08/2026 17:22
Vale
25/08/2026 17:22
Mirad este commit
> 25/08/2026 17:23
Okay este es el momento de activación
25/08/2026 17:23
como había mencionado en la otra pregunta
Pol Espinasa 25/08/2026 17:24
hay mas preguntas aqui?
arejula27 25/08/2026 17:24
Por mi pasamos a la siguiente 😀
👍🏻 1
Pol Espinasa 25/08/2026 17:25
ah bueno falta la parte del mensaje
25/08/2026 17:25

Ese mismo commit cambia el resultado de validación de TX_INPUTS_NOT_STANDARD a TX_CONSENSUS: ¿cambia algo más que el mensaje de error que devuelve la RPC?

Esto

Andrea Díaz Correia 25/08/2026 17:28
↩ Respondiendo a Pol Espinasa: > Ese mismo commit cambia el resultado de validación de TX_INPUTS_NOT_STANDARD a …
Sí, un par de cosas no?
La tx ya no se puede minar: antes el test la metía con generateblock y pasaba, ahora el bloque entero es inválido. Y en txdownloadman_impl.cpp había una rama especial para TX_INPUTS_NOT_STANDARD que metía también el txid en el reject filter (no solo el wtxid). Con TX_CONSENSUS ya no entra ahí, así que se pierde esa optimización de relay. Ojo, puedo estar mal yo jaja
Pol Espinasa 25/08/2026 17:29

Y en txdownloadman_impl.cpp había una rama especial para TX_INPUTS_NOT_STANDARD que metía también el txid en el reject filter (no solo el wtxid). Con TX_CONSENSUS ya no entra ahí, así que se pierde esa optimización de relay

Esto tengo que mirarlo, no me habia fijado

Andrea Díaz Correia 25/08/2026 17:31
De nuevo, puedo estar mal yo jeje
Pol Espinasa 25/08/2026 17:32
noooo, confia en ti un poco 😛