- Why was -datacarriersize not expanded to cover observation-based data carriage and limited to OP_RETURN only in 2022?
As far as I know, that didn’t narrow the meaning. This was referring to a specific type of output (scriptPubKey starting with). OP_RETURN
At the time of its introduction, it is still used in Bitcoin Core v30 with slight changes (total size instead of push size, and aggregation of multiple outputs).
- What are the main reasons you didn’t merge the 2023 pull request that proposed the enhancement?
I personally don’t think node policies are an appropriate approach to morally determining the quality of transactions.
In 2022, I thought: -datacarriersize
It’s a legacy from a different era, when completely different concerns plagued Bitcoin development. Since the block was not full, it was worth dissuading me from developing a solution that would take advantage of unused block space. By 2022, with blocks regularly filling up due to organic growth, this concern no longer existed, and preventing unrestricted resource growth at node operators was taken over by a more appropriate technique: consensus rules (specifically block size, and subsequently block weight limits).
In 2022, I would have been of the opinion that unless the old default policy rules looked harmful, I would maintain the status quo. In 2025, it is clearly doing more harm than good because it is widely ignored anyway. Therefore, I believe that node operators should not enforce such rules.
- How do the upcoming v30 changes align with the original anti-spam purpose of -datacarriersize and OP_RETURN?
it’s not. I think those are outdated concepts. The market is now in a better position to determine the value of a deal than the developer or operator.
- What guidance would you give to node operators who want to tighten restrictions on transactions that carry data?
I would recommend trying to understand the technical reasons why Bitcoin Core developers think it is not beneficial for them to try to enforce policy rules that are regularly ignored anyway.
If these reasons don’t convince you, I sincerely hope Change the settings or run other software as you think best. I think these are inferior options that mainly hurt yourself, but you don’t have to follow my advice or feel obligated to run code you think is harmful.
As developers, we believe we have a responsibility to create software that best serves our users. This includes not providing options for things that my advice would be, “Never use this.” However, that doesn’t mean I don’t agree with this.
Discover more from Earlybirds Invest
Subscribe to get the latest posts sent to your email.