bitcoin-dev

Making OP_TRUE standard?

Making OP_TRUE standard?

Original Postby Peter Todd

Posted on: May 9, 2018 20:59 UTC

In a recent email exchange on the Bitcoin-dev mailing list, Johnson Lau suggested making a "0 fee tx with exactly one OP_TRUE output" standard to ensure that Child Pays for Parent (CPFP) will always be necessary and that the OP_TRUE output won't pollute the UTXO set.

He also suggested using ANYONECANPAY to sign transactions, allowing more inputs to be added for fees without requiring any protocol changes. However, Peter Todd pointed out that a zero-fee transaction won't get relayed even with CPFP, due to package-based transaction relaying not yet being implemented. Lau then proposed a "CPFP anchor" softfork that would make outputs with empty scriptPubKey and 0 value only spendable in the same block, becoming invalid if not spent immediately and removed from the UTXO. Todd responded by saying he didn't see any reason why UTXO pollution would be a special concern as long as those outputs were subject to the same dust rules as any other output is. Finally, Todd reiterated that a more flexible SIGHASH system would likely be the best solution in the long term, which wouldn't require CPFP at all.