A vocal neighborhood of node operators preferring conventional limits on the quantity of arbitrary information that may accompany a bitcoin (BTC) transaction is infuriated with an upcoming software program launch for not less than three causes.
Bitcoin Core model 30 (v30) is the upcoming model of the community’s hottest full node software program. It can drastically enhance the quantity of information unrelated to the on-chain motion of BTC that nodes will settle for by default into their mempool.
Nevertheless, the discharge can be complicated Bitcoin Core customers who’ve grown accustomed to a knowledge filter on OP_RETURN outputs which has operated since 2011.
Particularly, customers who wish to restrict the quantity of information unrelated to the on-chain motion of BTC should soar by complicated hoops, together with a rewritten config possibility that adjustments the impact of a easy quantity that has carried out the identical factor for greater than a decade.
In v30, Core devs will all of a sudden nerf “datacarriersize=” by about 88%.
In all, there are three main adjustments from Bitcoin Core model 29.0, and the upcoming v30 scheduled for launch in October 2025.
Bitcoin Core v30: Extra information, extra confusion about the way to restrict it
Three adjustments will come into impact with Bitcoin Core v30 in October.
First, v30 will, for the primary time in additional than a decade, permit transactions right into a node’s default mempool with a couple of OP_RETURN output.
New standardness guidelines in v30 settle for a number of OP_RETURN outputs inside transactions into the default mempool of Core nodes.
Second, Core builders have rewritten the v30 configurability setting “datacarriersize=” from signifying what it has meant for years.
This user-configurable quantity used to specify the variety of allowable bytes of information {that a} node’s mempool would settle for inside one OP_RETURN output.
In v30, this similar quantity and setting will now allow 9 instances extra information than that very same quantity would have allowed in v29 and prior variations.
Knots developer Luke Dashjr, whose software program has displaced Core on about 16% of the reachable nodes throughout Bitcoin’s community, illustrated this complicated change with an instance of datacarriersize=83.
In v29 and prior, any Core node operator specifying the quantity 83 right here would have restricted OP_RETURN arbitrary information to 92 bytes per transaction.
In v30, nonetheless, any person specifying the identical determine will all of a sudden permit 830 bytes of arbitrary information.
It’s because Core builders have rewritten the configurability setting “datacarriersize=” fully to accommodate v30’s new standardness guidelines to permit a number of OP_RETURN outputs as an alternative of only one.
He calls the slick change a “trick” by “bad actors.”
Do not let the dangerous actors trick you into considering Bitcoin Core 30 means that you can re-enable the datacarrier restrict:
1) Together with unlimiting the default, additionally they broke it additional. datacarriersize=83 now (as of Core 30) permits for 83 outputs totalling 830 bytes of spam, as an alternative of…
— Luke Dashjr (@LukeDashjr) June 10, 2025
Deprecating person configurability of OP_RETURN storage limits
Lastly, Core builders are resetting the default filter from a couple of bytes to almost 4MB. They’re additionally marking this user-configurable filter for deprecation fully as a strategy to advise customers to not depend on the configurability setting “datacarriersize=” in upcoming releases.
Though Core builders will technically permit v30 node operators customers to decrease the information storage quantity by way of the setting “datacarriersize=”, they’ve not solely modified the that means of datacarriersize but additionally instructed customers that this rejiggered configurability possibility shall be deprecated quickly anyway.
Because of these adjustments, Knots leaders are complaining about Bitcoin Core v30 having “malicious code” as a result of it is going to deprecate the person configurability of datacarriersize and completely enshrine a brand new default that accommodates arbitrary information into mempools at a scale by no means earlier than seen in Bitcoin’s historical past.
A GitHub submit by Instagibbs makes an attempt to make clear that Bitcoin Core builders nonetheless retained datacarrier arguments, though they’re marked as deprecated.
In consequence, Bitcoin Core builders haven’t promised to maintain these variables without end.
Bitcoin Core builders at Chaincode Labs appear intent on pushing all of those adjustments by with v30 regardless of their drastic impression and complicated implementation for common node operators.