[29.x] Backport #32521 #33013

pull darosior wants to merge 4 commits into bitcoin:29.x from darosior:2507_backport_32521_29 changing 6 files +196 −1
  1. darosior commented at 9:08 pm on July 18, 2025: member
    This backports PR #32521 to make the change available to miners who can’t (or don’t want to) upgrade past version 29.
  2. policy: make pathological transactions packed with legacy sigops non-standard.
    The Consensus Cleanup soft fork proposal includes a limit on the number of legacy signature
    operations potentially executed when validating a transaction. If this change is to be implemented
    here and activated by Bitcoin users in the future, we should prevent the ability for someone to
    broadcast a transaction through the p2p network that is not valid according to the new rules. This
    is because if it was possible it would be a trivial DoS to potentially unupgraded miners after the
    soft fork activates.
    
    We do not know for sure whether users will activate the Consensus Cleanup. However if they do such
    transactions must have been made non-standard long in advance, due to the time it takes for most
    nodes on the network to upgrade. In addition this limit may only be run into by pathological
    transactions which pad the Script with sigops but do not use actual signatures when spending, as
    otherwise they would run into the standard transaction size limit.
    
    Github-Pull: bitcoin/bitcoin#32521
    Rebased-From: 5863315e33ba9b75a1e5189ee3da3d7311bbf193
    204b965915
  3. qa: unit test standardness of inputs packed with legacy sigops
    Check bounds and different output types.
    
    Github-Pull: bitcoin/bitcoin#32521
    Rebased-From: 367147954d16c961bbd28c361abf27b4cb665f10
    0a4671d5eb
  4. qa: functional test a transaction running into the legacy sigop limit
    It's useful to have an end-to-end test in addition to the unit test to sanity check the RPC error as
    well as making sure the transaction is otherwise fully standard.
    
    Github-Pull: bitcoin/bitcoin#32521
    Rebased-From: 96da68a38fa295d2414685739c41b8626e198d27
    313023369b
  5. DrahtBot added the label Backport on Jul 18, 2025
  6. DrahtBot commented at 9:08 pm on July 18, 2025: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33013.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK marcofleon, glozow

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

  7. fanquake renamed this:
    Backport #32521 to 29
    [29.x] Backport #32521
    on Jul 21, 2025
  8. glozow commented at 3:00 pm on July 21, 2025: member

    @darosior could you make the release notes updates as well please? Thanks

    For example

     0diff --git a/doc/release-notes.md b/doc/release-notes.md
     1index 3a39efadbce..63327ea13a5 100644
     2--- a/doc/release-notes.md
     3+++ b/doc/release-notes.md
     4@@ -49,9 +49,10 @@ Notable changes
     5 - [#31757](/bitcoin-bitcoin/31757/) wallet: fix crash on double block disconnection
     6 - [#32553](/bitcoin-bitcoin/32553/) wallet: Fix logging of wallet version
     7 
     8-### P2P
     9+### P2P and Mempool Policy
    10 
    11 - [#32826](/bitcoin-bitcoin/32826/) p2p: add more bad ports
    12+- [#32521](/bitcoin-bitcoin/32521/) policy: make pathological transactions packed with legacy sigops non-standard
    13 
    14 ### Test
    15 
    
  9. darosior commented at 3:12 pm on July 21, 2025: member
    Sure, will do.
  10. darosior commented at 12:50 pm on July 22, 2025: member
    Added a commit with the suggested release note. While i was there i also changed my nym for my name in the credits.
  11. marcofleon commented at 3:22 pm on July 22, 2025: contributor

    ACK 716b4362c0b93dc666464088ed81742c4abf7732

    Made sure the changes here match #32521. All unit and functional tests pass on 29.x.

  12. fanquake commented at 9:56 am on July 23, 2025: member
    Can you squash the last two commits into doc: update release notes for 29.x? Although, I think this change should have it’s full release note displayed (#33037). i.e something like this: https://github.com/fanquake/bitcoin/commit/fc2e2ef1709d553a43e141db216a7f1959e1bb4c.
  13. fanquake added this to the milestone 29.1 on Jul 23, 2025
  14. doc: update release notes for 29.x f25dc84b28
  15. darosior force-pushed on Jul 23, 2025
  16. darosior commented at 4:48 pm on July 23, 2025: member
    Cherry-picked your commit
  17. DrahtBot added the label CI failed on Jul 23, 2025
  18. maflcko commented at 8:26 am on July 24, 2025: member
    the ci failure is unrelated. The fix was https://github.com/bitcoin/bitcoin/commit/cd8089c20baaaee329cbf7951195953a9f86d7cf, but that never made it into 29.x
  19. marcofleon commented at 1:08 pm on July 24, 2025: contributor
    reACK f25dc84b2892e6bdbbd0471add9fcb2757700981
  20. darosior commented at 1:33 pm on July 24, 2025: member
    Opened a separate backport PR for the flakiness fix: https://github.com/bitcoin/bitcoin/pull/33052
  21. darosior commented at 4:21 pm on July 24, 2025: member
    Should i rebase now that #33052 is merged?
  22. glozow commented at 4:28 pm on July 24, 2025: member

    ACK f25dc84b2892e6bdbbd0471add9fcb2757700981

    No you don’t need to rebase

  23. glozow merged this on Jul 24, 2025
  24. glozow closed this on Jul 24, 2025

  25. darosior deleted the branch on Jul 24, 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-08-02 09:13 UTC

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