Huh?
There are two main ways of making provable sacrifices that make sense:
1) Create a txout with a scriptPubKey that can't be spent that has a non-zero value.
2) Use the the announce/commit sacrifice protocol to ensure all miners have an equal chance.
2.1) Create a anyone-can-spend coinbase txout. (can't be spent for 100 blocks, so again, all miners have an equal chance)
2.2) In the future add an OP_VERIFY_LOCKTIME or similar to make a specific txout unspendable for some amount of time.
That miners can mine their own fee sacrifices makes the whole fee sacrifice thing a horrible, horrible idea and a complete non-starter. It'd dead easy to round up enough mining power to create any single-tx fee sacrifice you want in a reasonable amount of time, and of course you can always turn that into a service. No-one who knew what they were talking about was seriously proposing that idea.
As for #1: it's dead easy to create all kinds of scriptPubKeys that you can prove can never be spent. Previously people thought UTXO bloat was an issue, but right now I'm quite convinced UTXO size isn't a big deal due to TXO commitments. (though having invented them, I might be a bit biased!)
Annoyingly only 80 bytes are allowed in a standard OP_RETURN txout, which makes announce/commit sacrifices hard to pull off, but then again they aren't as trustworthy as spend-to-unspendable - for now I don't think we want to use them. Better to eventually add OP_VERIFY_LOCKTIME and lock the coins involved for fairly long amounts of time, months to years.
"Previously people thought UTXO bloat was an issue, but right now I'm quite convinced UTXO size isn't a big deal due to TXO commitments."
What is meant by this? Can you please explain a bit more? I'm slowly but surely delving deeper into the protocol, so I need to wrap my head around concepts still.
Thanks for explaining the other options. Another quick question: taking a look here (
https://en.bitcoin.it/wiki/Script). anyone-can-spend output doesn't have a limit to when it can be spent? I assume that anyone-can-spend MUST be coupled with OP_VERIFY_LOCKTIME so miners have an equal chance. Or am I missing something? [EDIT. Forget this question. I read up on it. It uses nLockTime. For anyone else wondering:
https://en.bitcoin.it/wiki/Fidelity_bonds#Announce.2FCommit_Sacrifices].