Removing the check for nDataOut > 1 would allow multiple OP_RETURN outputs in a single transaction, which goes against the standard behavior of the Bitcoin protocol. This could introduce several issues: #32402

issue mrberlinorg openend this issue on May 2, 2025
  1. mrberlinorg commented at 8:09 am on May 2, 2025: none
              Removing the check for nDataOut > 1 would allow multiple OP_RETURN outputs in a single transaction, which goes against the standard behavior of the Bitcoin protocol. This could introduce several issues:
    

    Non-standard transactions: Multiple OP_RETURN outputs in a transaction are considered non-standard. Allowing them could lead to network inconsistencies, as some nodes might not be able to properly process or relay these transactions.

    Network congestion: More OP_RETURN outputs would increase transaction size, reducing the number of transactions that can be included in each block, which could lead to increased network congestion.

    Compatibility problems: Non-standard transactions could cause compatibility issues with other nodes, wallets, and services that expect standard behavior.

    Maintaining this check ensures that Bitcoin transactions remain within the protocol’s standards, preventing these potential issues and maintaining network stability.

    Originally posted by @mrberlinorg in #32359 (review)


    Update:

    The core issue isn’t the size itself, but the fact that it allows an unlimited number of OP_RETURN outputs per transaction. The PR author force-resolved my comment, which is shocking — that a single individual, just a contributor, can unilaterally modify such a fundamental Bitcoin rule. Now is the time to push for true decentralization in Bitcoin development itself.

    Image

  2. pinheadmz commented at 12:14 pm on May 3, 2025: member

    Non-standard transactions: Multiple OP_RETURN outputs in a transaction are considered non-standard. Allowing them could lead to network inconsistencies, as some nodes might not be able to properly process or relay these transactions.

    Bitcoin Core changes relay policy regularly, here’s one: #30239 The policy change rolls out over time on the network and although that literally does “lead to network inconsistencies” that doesn’t affect any user’s usage of the network.

    Network congestion: More OP_RETURN outputs would increase transaction size, reducing the number of transactions that can be included in each block, which could lead to increased network congestion.

    A change in opreturn policy does not increase transaction size. Users paying miners to include large transactions in blocks does this. It’s a behavior that is impossible to prevent because (hopefully!) Bitcoin can be used by any two parties to pay for services without censorship or permission. Large transactions have always existed and will always exist.

    Compatibility problems: Non-standard transactions could cause compatibility issues with other nodes, wallets, and services that expect standard behavior.

    Addressed already. Policy changes don’t do this.

    Maintaining this check ensures that Bitcoin transactions remain within the protocol’s standards, preventing these potential issues and maintaining network stability.

    Addressed already. These are not actually potential issues.

    Originally posted by @mrberlinorg in #32359 (comment)

    That PR was locked for comments, so you’re kinda side-stepping the rules by opening this issue – which does not apply to a release or master branch of Bitcoin Core and is therefore off topic for a new issue.

    The core issue isn’t the size itself, but the fact that it allows an unlimited number of OP_RETURN outputs per transaction. The PR author force-resolved my comment, which is shocking — that a single individual, just a contributor, can unilaterally modify such a fundamental Bitcoin rule. Now is the time to push for true decentralization in Bitcoin development itself.

    OK this is a really important comment. A single person can NOT modify a fundamental Bitcoin rule. #32359 proposes code changes written by a single author (actually, two authors since instagibbs also co-authored two of the commits). This code change was discussed on the bitcoin core dev mailing list by MANY PEOPLE. Now that the pull request is open it can receive feedback from MANY PEOPLE (there are over 90 contributors interacting on that pull request actually!). And it is also not merged or released yet.

    And then finally the most important person is YOU – you can run whatever software you choose and that is how you define what the rules are for Bitcoin – you get to decide what money you accept as payments and if that money will be accepted by other people in the future for services you want to pay for.

  3. pinheadmz closed this on May 3, 2025


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-05-05 12:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me