Proposal: soft-fork to make anyone-can-spend outputs unspendable for 100 blocks



Summary:

In this conversation, Gavin proposes a new opcode for the Bitcoin protocol. This opcode would redefine op_nop1 as "verify depth." The discussion goes on to consider how to sacrifice Bitcoins in a provably unspendable way without using complex announce-commit logic. One option is to create an anyone-can-spend output in the coinbase of a block with scriptPubKey: OP_TRUE. The proof is then the SHA256 midstate, the txout, and the merkle path to the block header. However, this mechanism needs miner support, and it is not possible to pay for such a sacrifice securely, or create an assurance contract to create one.Another option is to add a rule where txouts ending in OP_TRUE are unspendable for 100 blocks, similar to coinbases. This would fix many problems but requires a soft-fork with 95% support. Anyone-can-spend outputs should be made IsStandard() so they will be relayed. Sacrifices to unspendable outputs are undesirable compared to sending the money to miners to strengthen the network's security. Finally, Peter Todd suggests that code should be written to make it easy for people to do what is best for Bitcoin.


Updated on: 2023-06-06T18:28:44.899079+00:00