Basically, this is correct. As long as you want your node to serve as a source of truth for the blockchain, once data gets in it, you can't really get rid of it. That is, after a node has verified each block, it could conceivably prune all the op_return data, for example; but then, the node would be useless for anyone else to subsequently download a block and verify it for themselves.
This is, of course, a strawman argument. Virtually no one argues that node policy filters make it impossible for undesirable data to make it into the blockchain; but filters that are practically ubiquitous (at least until Core 30 goes live) do obviously hinder it - requiring, as of yet, non-standard measures to evade.
A consensus rules 'filter' could potentially be a different story - but that would likely come with opening a Pandora's box that I doubt there's much, if any, serious appetite for.
Login to reply