is there ever a case where using OP_RETURN to embed data actually results in fewer bytes onchain than embedding the same data using the segwit/taproot witness space
we learn that nulldata outputs are cheaper up to a payload size
of 134 bytes, only above that inscriptions become a more
blockspace efficient data carrier.
Further, tooling for OP_RETURNs should be more broadly available
than software that creates inscriptions, so it seems to me that
dropping this limit would make it cheaper to publish certain data
payload sizes to the blockchain, and also make publication of
larger payloads significantly more accessible. Anyway, it’s not
obvious to me why we should relax restrictions on publication
mechanisms just because it’s already happening in a different
manner (that also only uses blockspace but doesn’t add to the UTXO
set). At that point this proposal neither seems to be a trivial
mempool policy change, nor a clear or significant improvement.
Especially it’s not clear to me, why we should encourage further
data publication on the blockchain.
Are there any tools available that a full node operator could use to prune this data from their nodes?
i) Is the unspendable output pruning implemented in PR #2791 on by default or is this a flag that needs to be enabled by full node operators? If it's a flag, what is the flag called and how can it be enabled? If it's on by default, how can it be disabled?
ii) If a full node operator does prune OP_RETURN outputs, does that in any way impair their ability to help a new node do IBD to validate the blockchain? And would that answer be any different if we were talking about pruning Taproot witness space (i.e. "envelopes" or "inscriptions") instead of OP_RETURN outputs?
Given that the proposal is obviously controversial, and the social media attention this and a few related pull requests have gotten is already causing brigading, I don’t think it’s going to be a priority for me to further engage with this proposal.
Cheers,