Are there any UTXOs that may not be spent?

0
24
Are there any UTXOs that may not be spent?


Sure, there exists transaction outputs that are provably unspendable, no matter cryptographic assumptions (so even when hashes and/or elliptic curve safety had been damaged).

One well-known instance are OP_RETURN outputs. For the reason that OP_RETURN opcode instantly abort script execution, any output whose scriptPubKey incorporates this instruction (outdoors of an OP_IF department) is irrevocably unspendable. This can be a well-liked mechanism for committing further information inside Bitcoin transactions.

One other instance of unspendable outputs are ones whose scriptPubKey exceeds 10000. Creating such outputs is authorized, however such massive scripts are unexecutable, and thus can’t be utilized in inputs.

Whether or not you contemplate these outputs to be UTXOs is a matter of perspective nonetheless. Bitcoin Core for instance detects sure lessons of outputs are provably unspendable (these whose first byte is OP_RETURN, and people with a scriptPubKey longer than 10000 bytes), and doesn’t even insert them into its database of unspent outputs as a database measurement optimization. The end result of that is that makes an attempt to spend them will fail because of “UTXO doesn’t discovered” quite than “invalid script”, however the block or transaction it happens in is invalid both method.

LEAVE A REPLY

Please enter your comment!
Please enter your name here