Datacarrier=3 for removing ordinals and stamps spam
Discussion
This. But why implement it as datacarrier=3?
tongue in cheek. it should more accurately be another parameter, like Dataspam=1 or 0
I like relayopfalseopif, it's cryptic af but descriptive.
Why another parameter?
Because of backwards compatibility. AFAIK datacarrier is for OP_RETURNs only, this would change its behavior.
For instance I don't want to relay OP_FALSE OP_IF transactions but I'm fine relaying OP_RETURNs smaller than 80 bytes. From my PoV it'd suck to roll both filters under the same config option.
It's called datacarrier, not OP_RETURN...
Why would you be okay with 80 bytes OR, but not 80 bytes OFOI? (Assume there's an option to weight them both at 4 WU/B)
I might have another option just because, mostly debating this as a "devil's advocate"
Because OP_RETURN was specifically designed for that, and I (subjectively) feel that up to 80 bytes here and there that are included in the block and pay the full fee is reasonable.
No, it wasn't designed for it
What for, then? 🤔 I always thought that OP_RETURN was for arbitrary bytes.
Apparently it was to burn bitcoins but you’ll have to be crazy to do that. https://en.bitcoin.it/wiki/OP_RETURN
They exist, though! https://twitter.com/YoshishiSatoshi/status/1668345218821939200
OMG Thank you for your donation guys 🫡😂
Smart contracts. It indicates the transaction spending is invalid.
Having the legacy options/parameter clearly defined and untouched while adding a new one seems wise on the surface to me. clearly demarcates the thing to end users. it's somewhat disclosure too. Otherwise you may be mixing legacy parameter behavior and expanding it's scope without disclosure (other than release notes)?
Arguably it's already within scope. After all, all previous versions disallowed this