bitcoin-dev

OP_CHECKWILDCARDSIGVERIFY or "Wildcard Inputs" or "Coalescing Transactions"

OP_CHECKWILDCARDSIGVERIFY or "Wildcard Inputs" or "Coalescing Transactions"

Original Postby Jannes Faber

Posted on: November 25, 2015 00:38 UTC

The idea of OP_CHECKWILDCARDSIGVERIFY was discussed on the bitcoin-dev mailing list.

The proposal was that the wildcard signature would apply to all unspent transaction outputs (UTXOs) that are of a standard form and paid to a particular address, and be a signature of some kind of message to that effect. However, there were concerns raised about this proposal. One issue was that it could encourage address reuse unless the wildcard could be constructed to match a whole branch of an HD wallet. Another concern was the potential danger during reorgs, so it was suggested that such a transaction should include a block height indicating the maximum block that any UTXO could match, with a minimum block height requirement to prevent unnecessary scanning. There was also discussion about whether this proposal would be effective in reducing the UTXO set, as not all transactions would be able to match the wildcard. It was pointed out that most "vanilla" UTXOs have the formula OP_DUP OP_HASH160 [a hash corresponding to your address] OP_EQUALVERIFY OP_CHECKSIG, and only UTXOs in that form could apply to the wildcard. Finally, it was suggested that the cost of rescanning the entire UTXO set to find applicable UTXOs would justify a special extra mining fee for any transaction using this opcode. There were some concerns that this proposal breaks the programmatic nature of the requirement to spend bitcoin, replacing it with a requirement that the secret be known. Overall, while the proposal had some potential benefits, it also raised several important issues that would need to be addressed before further consideration.