Hey Gavin, what do you think about making the new P2SH transaction recognition explicit rather than implicit?
....
So, the default P2SH scriptPubKey would become:
I think that this would address Luke's (somewhat valid) complaint about the magic transaction special case code path, while still being exactly P2SH.
....
So, the default P2SH scriptPubKey would become:
Code:
scriptPubKey: OP_P2SH OP_HASH160 [20-byte-hash of {[pubkey] OP_CHECKSIG} ] OP_EQUAL
I think that this would address Luke's (somewhat valid) complaint about the magic transaction special case code path, while still being exactly P2SH.
So what happens if I put two OP_P2SH's in a scriptPubKey? What happens if I put one in a scriptSig? What if I put it inside an OP_IF ... OP_ENDIF ?
I think you're really just suggesting that the "magic" scriptPubKey be 24 bytes big instead of 23, and start with one of the NOP opcodes-- yes? In which case there is going to be a special case code path anyway.