Pregunta 3

Implement BIP 54 (Consensus Cleanup) without mainnet activation

Andrea Díaz Correia 18/08/2026 21:27
Pregunta 3 -> En el commit “moveonly: move CheckSigopsBIP54 from policy to consensus”, CheckSigopsBIP54 suma scriptSig.GetSigOpCount(true) y scriptPubKey.GetSigOpCount(scriptSig). En un input P2SH el redeemScript va dentro del scriptSig: ¿se cuenta dos veces? ¿Cuántos sigops suma entonces un input P2SH-P2WPKH?
25/08/2026 17:06
Vamos con la tercera pregunta
arejula27 25/08/2026 17:06
👀
> 25/08/2026 17:07
👀
Pol Espinasa 25/08/2026 17:07
Nadie?
😂 1
25/08/2026 17:07
Voy yo pues 😛
25/08/2026 17:07
No se suma dos veces
25/08/2026 17:07
GetSigOpCount solo mira cuantas opearciones de firma se hacen, es decir, verificaciones de firmas, checksig, checkmultisig, etc.
👍 2
25/08/2026 17:08
que este nested no hace que se cuente doble pues en uno de los campos solo hay un checkhash y eso no cuenta
25/08/2026 17:08
P2SH-P2WPKH tiene el mismo num de checksigs que un P2WPKH normal
25/08/2026 17:09
dadme un momento que busco la parte del codigo donde esta esto y pego aqui la funcion que recuerdo que era cortita
25/08/2026 17:09
unsigned int CScript::GetSigOpCount(bool fAccurate) const
{
    unsigned int n = 0;
    const_iterator pc = begin();
    opcodetype lastOpcode = OP_INVALIDOPCODE;
    while (pc < end())
    {
        opcodetype opcode;
        if (!GetOp(pc, opcode))
            break;
        if (opcode == OP_CHECKSIG || opcode == OP_CHECKSIGVERIFY)
            n++;
        else if (opcode == OP_CHECKMULTISIG || opcode == OP_CHECKMULTISIGVERIFY)
        {
            if (fAccurate && lastOpcode >= OP_1 && lastOpcode <= OP_16)
                n += DecodeOP_N(lastOpcode);
            else
                n += MAX_PUBKEYS_PER_MULTISIG;
        }
        lastOpcode = opcode;
    }
    return n;
}
> 25/08/2026 17:09
me confundí un poco con la pregunta, es move only el commit y entiendo que se mueve para consensus ya que después se activa allí.
Pol Espinasa 25/08/2026 17:10
Como podeis ver solo incrementa n con las operaciones de checksig asi que los checks de hash no afectan 🙂
👍 2
arejula27 25/08/2026 17:10
Esto lo revisaré
🔥 1
25/08/2026 17:11
Entiendo que core aquí lo que hace es mira si el hash coincide y de ahí mira el script de dentro que tiene las claves públicas que se deben comparar con la firma, entonces solo tiene sentido contar estas últimas
25/08/2026 17:11
No?
Pol Espinasa 25/08/2026 17:12
sip
🫡 1
Andrea Díaz Correia 25/08/2026 17:12
si exacto
❤️ 1
arejula27 25/08/2026 17:13
Siguiente?
👍 2