New answers tagged

1 vote

Precedence of competing multisig spends

As Josie says in his answer a degrading/time decay multisig (also discussed here) seems to be the best solution to what you want. Imagine I want to create a multisig threshold (k-of-n) scheme where a ...
2 votes
Accepted

Precedence of competing multisig spends

Your desired setup sounds very similar to a "Degrading Multisig," and is possible with taproot. In your example, the 9-of-9 spend would be the key-path spend. You would then create spending ...
  • 175
3 votes

Why CHECKMULTISIG bug can't be solved?

Changing the behavior of an op-code could mean that old (unupgraded) nodes interpret a transaction with that op-code differently than new (upgraded) nodes. If nodes interpret transactions in two ...
  • 67.3k
2 votes

What is the asm section of scriptSig

The asm section is a symbolic representation of a Bitcoin script. For inputs, the scriptSig is the "unlocking script," proving that the input can be spent in this transaction. In your ...
  • 175
5 votes
Accepted

Why CHECKMULTISIG bug can't be solved?

There are currently Bitcoin on the blockchain at various (non Taproot) addresses locked behind a script that includes the CHECKMULTISIG opcode with the bug in it. So you wouldn't want to change the ...
1 vote

What's the difference between decoderawtransaction and decodescript?

The Bitcoin protocol has its own serialization format for transactions, blocks, scripts etc. These formats optimize for space, which means they aren't particularly human-readable, so there are bitcoin-...
0 votes

Is it correct to use OP_PUSHDATA1 to encode data less than 76 bytes?

Yes, both encodings are valid. Of course, using just the length byte (sometimes called OP_PUSHBYTES_x) requires one fewer byte of space, so it's usually done that way.
2 votes

Is there a particular order in which transaction inputs are checked for script validity?

Inputs are not necessarily evaluated for script validity in any particular order. Indeed, today certain calls to CheckInputScripts() will push the created CScriptCheck objects onto a vector (pvChecks)....
0 votes

Error validating transaction: unexpected witness payload for non-witness script in a P2TR using script path

I finally managed to understand what I was missing. There were 2 errors in the witness field: I did not put the tapleaf lenght of S1 before tapleafS1 I did not put the control_block's lenght before ...
2 votes

How to choose a nothing-up-my-sleeve (NUMS) point on secp256k1 for use in Taproot?

In BIP-341, an example NUMS point is given, along with a cautionary note about leaking information: One example of such a point is H = lift_x(...

Top 50 recent answers are included