- Why was -datacarriersize narrowed to OP_RETURN solely in 2022 as a substitute of expanded to cowl witness-based knowledge carrying?
To the most effective of my information, it was by no means narrowed in that means. It refered to a selected sort of output (scriptPubKey beginning with OP_RETURN and a single push) when it was launched, and with minor modifications (whole measurement quite than push measurement, and aggregating over a number of outputs), nonetheless does immediately in Bitcoin Core v30.
- What had been the primary causes for not merging the 2023 pull request that proposed increasing it?
I personally consider node coverage is not an acceptable method for morally judging high quality of transactions.
In 2022 I thought of the -datacarriersize a legacy from a distinct interval in time, when very totally different considerations plagued Bitcoin improvement: blocks weren’t full, and it was value discouraging the event of options to reap the benefits of unused block area; by 2022, when blocks had been repeatedly full, as a consequence of natural development, this concern merely did not exist anymore, and the prevention of unbounded useful resource development on node operators had been taken over by the extra acceptable approach: consensus guidelines (particularly, the block measurement, and later block weight restrict).
In 2022, I’d have been of the opinion to maintain the established order, so long as the outdated default coverage rule did not appear dangerous. In 2025, it’s obvious to me that it’s broadly ignored anyway, and thus does extra hurt than good, and thus I am of the opinion that node operators are higher off not implementing such a rule.
- How do the upcoming v30 modifications align with the unique anti-spam intent of -datacarriersize and OP_RETURN?
They don’t. I consider these are outdated notions. The market is now in a greater place to evaluate how worthwhile transactions are than builders or operators.
- What steerage would you give to node operators who need stricter limits on data-carrying transactions?
I’d advise you to attempt to perceive the technical causes for why Bitcoin Core builders consider it isn’t helpful so that you can attempt to implement coverage guidelines which are repeatedly ignored anyway.
If these causes don’t persuade you, I sincerely hope you modify the settings to what you consider is greatest for you, or run different software program. Whereas I believe these are inferior choices that primarily damage your self, you aren’t required to observe my recommendation, and also you should not really feel an obligation to run code you consider is dangerous.
I believe as builders now we have a accountability to create software program that serves our customers greatest, which incorporates not offering choices for issues for which my recommendation could be “by no means use this”. Nonetheless, that under no circumstances means you possibly can’t disagree with this.

