CTV+CSFS: Can we reach consensus on a first step towards covenants?

My technical suggestion for a post-segwit/taproot world:

  1. switch to OP_SUCCESSx CTV that pushes to stack (tascript++ only)
  2. P2CTV softfork which is defined as a spk of exactly:
    a) <32 bytes data> <OP_NOP5> # for upgrade hook ensuring no one intended to use this otherwise, no corresponding address. Or it could be any other non-segwit template.
    b) OR <2> <32 bytes data> # unknown witness version, has address

Either one would be required to have empty witness data / scriptSig on spend and does otherwise identical hashing checks on spending tx.

Either bare CTV is important or it’s not; it would be pretty trivial to do (2.b) and allows the reviewer to never think about legacy script opcodes at all.

3 Likes