Perhaps this isn’t obvious, but note that fully validating nodes do not need to store the entire block chain history, currently, just the set of unspent transaction outputs, and there are proposals to eliminate the need for validators to store even that. If it’s just a gentleman’s agreement then it would be doable but wouldn’t really have any teeth against a motivated attacker.
That’s a good point. To make this work, it’d probably make the most sense to treat the pre-published hash the same as unspent outputs. It can’t be free to make these or you could indeed DoS bitcoin.
I did not know you could have zero value outputs. I’ll look into that. (And don’t worry, I wasn’t planning on destroying any coins!)
There’s nothing wrong with sacrificing coins (there are in fact, legitimate uses of that—see the Identity Protocol for example). The problem is creating outputs which you know to be unspendable, but can’t be proven by the deterministic algorithm the rest of the network uses (prefixing with RETURN).
That’s a good point. To make this work, it’d probably make the most sense to treat the pre-published hash the same as unspent outputs. It can’t be free to make these or you could indeed DoS bitcoin.
I did not know you could have zero value outputs. I’ll look into that. (And don’t worry, I wasn’t planning on destroying any coins!)
There’s nothing wrong with sacrificing coins (there are in fact, legitimate uses of that—see the Identity Protocol for example). The problem is creating outputs which you know to be unspendable, but can’t be proven by the deterministic algorithm the rest of the network uses (prefixing with RETURN).