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



Summary:

A new mechanism has been proposed that allows for the sacrifice of Bitcoins, without making them unspendable. The most compact way to do this currently is to create an anyone-can-spend output as the last txout in the coinbase of a block with the scriptPubKey: OP_TRUE. However, this mechanism requires miner support and there is no way to pay for the sacrifice securely or create an assurance contract to create one. Another option is to use anyone-can-spend in a regular txout. However, there is no way to prevent a miner from including a transaction spending that txout in the same block. To solve this problem, a new rule can be added where txouts ending in OP_TRUE are unspendable for 100 blocks, similar to coinbases. This rule can be done as a soft-fork with 95% support. Additionally, anyone-can-spend outputs should be made IsStandard() to be relayed. Sacrifices to unspendable outputs are an alternative, but are less desirable compared to sending the money to miners to further strengthen the security of the network. Overall, it is important to make it easy for people to write code that does what is best for Bitcoin.


Updated on: 2023-06-06T18:27:39.786149+00:00