Within the datacarriersize/OP_RETURN change is hidden a change to how many OP_RETURN outputs are allowed. Previously, it was 1. With the datacarriersize change, it's now as many as the user wants.
The technical justification for multiple OP_RETURNs now being standard is completely unconvincing. To quote
@theinstagibbs
:
"The motivation for doing this is for situations where you cannot commit to all data efficiently otherwise. Think SIGHASH_SINGLE | ACP scenarios. The datacarriersize argument applies to payloads themslves, so yes, if someone wants to do ~80 bytes of payload and can do it in one output, they should just do that."
To paraphrase, he's saying there might be transactions where multiple people sign one input and have one output that they get to control, which are each OP_RETURN. No wallet I know of even supports SIGHASH_SINGLE/ANYONECANPAY constructions. I'm not sure if you get 10 Bitcoin seasoned developers together that they'd be able to construct a transaction like this together without a lot of debugging.
I have never seen any transaction like this in the wild (multi-op-return, sighash_single), and I have not seen anyone even ask for something like this. This justification was never brought up until I specifically asked this question in the un-deprecation PR. The multiple OP_RETURN becoming now standard was pointed out in the original PR, asking if this was an intended effect, to which no one responded with anything like the quote above. Thus, the rationale quoted above looks like to me an elaborate post-hoc justification for bad code.
This modification is going into v30.
Honestly, I'm not too concerned about the consequences of this particular aspect of the PR as the effects of it aren't too great (the 100k default is far more consequential), but the fact that this flimsy rationalization was accepted without much question is what makes me question not just the user-alignment, but code quality of the datacarriersize PR.
Login to reply
Replies (11)
It’s obvious to me the core team has an influential venture capital investor with business plans that these changes will benefit, for us plebs to realize the purpose only after the business ventures public announcement.
Let the unintended consequences commence.
Bitcoin core is obviously compromised.
Truly decentralization requires more clients.
It’s absurd to me when someone protects core as if they were the only ones that should be in charge of the whole network.
Maybe this is all groupthink?
ncase.me/crowds
The deeper you dig, the less reasonable the changes seem. The more dangerous the changes seem.

I'll say it again for the core devs who didn't hear the first 50 times:
No changes to level one unless Bitcoin is no longer functioning properly for its intended purpose - the hardest money in the world.
If the Bitcoin network is functioning well, go find something better to do with your time.
No changes labeled "we might need this someday, trust me, bro" will be accepted.
How long can we run 29 for?
This pisses me off I need to research and change what software I'm using because core wants to sell out to shady investors.
As long as you want . I believe Core maintains only the last 3 versions.
You can run it forever. If it's not broke, don't fix. We don't want new features to the sound money protocol. This is it, job done. We just have to make sure a dev doesn't break it. Simple.
Never run core30