glozow
commented at 1:50 pm on August 20, 2025:
member
Backports #33106 and includes final changes for 29.1rc2. Based on current network conditions (in which nodes rejecting 0.1-1sat/vB are missing many transactions), it is recommended to change these policy settings.
I did not include #32750 because it causes #33177 and I don’t foresee any problems; it was just a nice to have.
For reviewers: the backport is unclean but fairly straightforward. I just had to adapt a test that is no longer in master (#32973) and include -datacarriersize in order to pad transaction size (#32406).
DrahtBot added the label
Backport
on Aug 20, 2025
DrahtBot
commented at 1:50 pm on August 20, 2025:
contributor
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Try to run the tests locally, according to the documentation. However, a CI failure may still
happen due to a number of reasons, for example:
Possibly due to a silent merge conflict (the changes in this pull request being
incompatible with the current code in the target branch). If so, make sure to rebase on the latest
commit of the target branch.
A sanitizer issue, which can only be found by compiling with the sanitizer and running the
affected test.
An intermittent issue.
Leave a comment here, if you need help tracking down a confusing failure.
Back when we implemented coin age priority as a miner policy, miners
mempools might admit transactions paying very low fees, but then want to
set a higher fee for block inclusion. However, since coin age priority
was removed in v0.15, the block assembly policy is solely based on fees,
so we do not need to apply minimum feerate rules in multiple places. In
fact, the block assembly policy ignoring transactions that are added to
the mempool is likely undesirable as we waste resources accepting and
storing this transaction.
Instead, rely on mempool policy to enforce a minimum entry feerate to
the mempool (minrelaytxfee). Set the minimum block feerate to the
minimum non-zero amount (1sat/kvB) so it collects everything it finds in
mempool into the block.
Github-Pull: #33106
Rebased-From: 5f2df0ef78be7b24798d0983c9b962740608f1f4
1c1970fb45
[prep/test] replace magic number 1000 with respective feerate vars
[prep/util] help MockMempoolMinFee handle more precise feerates
Use a virtual size of 1000 to keep precision when using a feerate
(which is rounded to the nearest satoshi per kvb) that isn't just an
integer.
Github-Pull: #33106
Rebased-From: 457cfb61b5323a13218b3cfb5a6a6d8b3a7c5f7f
da30ca0efa
[prep/test] make wallet_fundrawtransaction's minrelaytxfee assumption explicit
[policy] lower default minrelaytxfee and incrementalrelayfee to 100sat/kvB
Let's say an attacker wants to use/exhaust the network's bandwidth, and
has the choice between renting resources from a commercial provider and
getting the network to "spam" itself it by sending unconfirmed
transactions. We'd like the latter to be more expensive than the former.
The bandwidth for relaying a transaction across the network is roughly
its serialized size (plus relay overhead) x number of nodes. A 1000vB
transaction is 1000-4000B serialized. With 100k nodes, that's 0.1-0.4GB
If the going rate for commercial services is 10c/GB, that's like 1-4c per kvB
of transaction data, so a 1000vB transaction should pay at least $0.04.
At a price of 120k USD/BTC, 100sat is about $0.12. This price allows us
to tolerate a large decrease in the conversion rate or increase in the
number of nodes.
Github-Pull: #33106
Rebased-From: 6da5de58cabc4133c379baa50845e30e5bc6b3e4
9dd7efc8c3
[doc] update release notes
Release notes are from 18720bc5d5b4d3acf91060859180d72cbfdf59b7
f9f1ca5445
[build] bump version to 29.1rc2eb1574af0c
[doc] man pages for 29.1rc20034dcfba9
glozow force-pushed
on Aug 20, 2025
dergoegge approved
dergoegge
commented at 2:49 pm on August 20, 2025:
member
utACK0034dcfba9dc599449e7569ed1b30e58d4f4434f
(pending CI)
DrahtBot removed the label
CI failed
on Aug 20, 2025
instagibbs
commented at 4:31 pm on August 20, 2025:
member
What is the criteria for backporting PRs to point releases? Sub 1 s/vB standardization is certainly not a bugfix.
Any moderate or severe performance degradation is worth considering for backport, if it can be done cleanly, and has been done many times. Block propagation slowdowns that are avoidable are withing scope. Updating minor versions is much easier than main for production environments.
having not reviewed the backport effort here, concept ack
fanquake marked this as ready for review
on Aug 20, 2025
darosior
commented at 6:11 pm on August 20, 2025:
member
Concept ACK. Hopefully this speeds up recovery of block propagation on the network.
——– Original Message ——–
On 8/20/25 3:53 PM, Gloria Zhao wrote:
Backports #33106 and includes final changes for 29.1rc2. Built on top of #33225. I’ll rebase shortly after that’s in.
I did not include #32750 because it causes #33177 and I don’t foresee any problems; it was just a nice to have.
For reviewers: the backport is unclean but fairly straightforward. I just had to adapt a test that is no longer in master (#32973) and include -datacarriersize in order to pad transaction size (#32406).
You can view, comment on, or merge this pull request online at:
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>
marcofleon
commented at 9:25 pm on August 20, 2025:
contributor
ACK0034dcfba9dc599449e7569ed1b30e58d4f4434f
Went through the commits to confirm they match. The only differences are the addition of the datacarriersize argument in feature_rbf.py and the additional changes in mempool_limit.py. Also ran unit and functional tests on 29.x branch locally.
DrahtBot requested review from darosior
on Aug 20, 2025
murchandamus
commented at 10:58 pm on August 20, 2025:
contributor
crACK0034dcfba9dc599449e7569ed1b30e58d4f4434f
Had previously reviewed #33106, read the code changes here again, and compared to the original commits in master.
brunoerg approved
brunoerg
commented at 11:08 pm on August 20, 2025:
contributor
crACK0034dcfba9dc599449e7569ed1b30e58d4f4434f
fanquake
commented at 10:49 am on August 21, 2025:
member
This needs gen-bitcoin-conf.sh run, to accomodate the changed options, before tagging an rc2. I’ll open a followup, and we can get rc2 tagged after that.
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-23 03:13 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me