Can a miner identify which transactions came from your software simply by running a copy themselves? If so, then they can censor your transactions no matter how you encode them.
Possibly, but in the IPFS case I suspect the latency required to inspect all hashes would likely impact the ability of the miner to succeed in the block. (True? I don’t touch mining software.)
Thus as long as all hashes look the same, and there are multiple content addressable schemes that use hashes that have to be searched in order to know to censor, you have to censor all or none.
— Christopher Allen