Bitcoin full node and query server

May 9, 2025

View in context in the libbitcoin Slack #general mirror.

evoskuil05:26
Good progress on taproot:
x add tagged hash
x add libsecp2561 schnorr functions
x add signature parse
x add flags::bip341_rule
x add flags::bip342_rule
x add coverage::hash_default
x upd coverage::all_rules script tests
x ren script_version::zero to segwit
x add script_version::taproot
x add operation::is_success(opcode)
x add transaction::is_sighash_valid(uint8_t)

x op_if (conditionally "minimal if")
x op_notif (conditionally "minimal if")
x op_checksigadd (conditionally invoke)
x op_checkmultisig (conditionally disable)
x op_checkmultisigverify (conditionally disable)
x op_checksigadd (conditionally enable)
x op_checksigadd (conditionally serialize)
x op_checksigadd (implement)
x op_checksig (conditionally modify)
x op_checksigverify (conditionally modify)

x Interpreter run loop changes
x Tapscript indication (unset BIP342 in program when not tapscript)
x Stacks element count limit (max_unified_stack_size also applied to initial stack)
x Script size limit (max_script_size does not apply)
x Non-push opcodes limit (max_counted_ops does not apply)
x Sigops per-script budget (sigops in tapscripts do not count towards block limit)
x Add success, failure (and roller) detection to script parser
x Cache success, failure (and roller) on script
x Modify script(operations) construction to set success, failure (and roller)
x Early success and fail on script run (from cache)
x Differentiate cached is_prefail and is_prevalid for tapscript execution.

- Signature Validation Invocation
  Signature Hashing Cache
  Signature Hashing

- Taproot Witness Program Invocation
  Taproot Witness Program Extraction
  Script Path Spending Parse and Validation
    
  Tagged Hash Midstate (optimization)
  Activation (simplified)
🔥 1