I’ve been thinking about a system that allows you to publicly destroy bitcoins to let people build networks with some protection against Sybil attacks other than the difficulty of getting IPv4 addresses. As an alternative to destroying the coins, I’ve been thinking of giving all but one satoshi to the node that includes the transaction into a block. I mean, as long as you don’t control more than 10% of the network, it won’t really change how much it costs you to “destroy” coins.
Here’s the problem: Suppose a node creates one of these transactions, but doesn’t broadcast it. Instead, they wait until they manage to include it into a block, then broadcast the block. Even if they only control 0.1% of hashing power, they can find the block in about a week.
I can’t think of a good solution to this. Can you?