mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-05 10:42:13 +02:00
Merge bitcoin/bitcoin#30592: Remove mempoolfullrbf
c189eec848doc: release note for mempoolrullrbf removal (Greg Sanders)d47297c6aarpc: Mark fullrbf and bip125-replaceable as deprecated (Greg Sanders)04a5dcee8adocs: remove requirement to signal bip125 (Greg Sanders)111a23d9b3Remove -mempoolfullrbf option (Greg Sanders) Pull request description: Given https://github.com/bitcoin/bitcoin/pull/30493 and the related discussion on network uptake it's probably not helpful to have an option for a feature that will not be respected by the network in any meaningful way. Wallet changes can be done in another PR on its own cadence to account for possible fingerprinting, waiting for fullrbf logic to permeate the network, etc. ACKs for top commit: stickies-v: re-ACKc189eec848achow101: ACKc189eec848murchandamus: ACKc189eec848rkrux: reACKc189eec848Tree-SHA512: 9447f88f8f291c56c5bde70af0a91b0a4f5163aaaf173370fbfdaa3c3fd0b44120b14d3a1977f7ee10e27ffe9453f8a70dd38aad0ffb8c39cf145049d2550730
This commit is contained in:
@@ -34,7 +34,6 @@ BIPs that are implemented by Bitcoin Core:
|
||||
* [`BIP 111`](https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki): `NODE_BLOOM` service bit added, and enforced for all peer versions as of **v0.13.0** ([PR #6579](https://github.com/bitcoin/bitcoin/pull/6579) and [PR #6641](https://github.com/bitcoin/bitcoin/pull/6641)).
|
||||
* [`BIP 112`](https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki): The CHECKSEQUENCEVERIFY opcode has been implemented since **v0.12.1** ([PR #7524](https://github.com/bitcoin/bitcoin/pull/7524)), and has been *buried* since **v0.19.0** ([PR #16060](https://github.com/bitcoin/bitcoin/pull/16060)).
|
||||
* [`BIP 113`](https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki): Median time past lock-time calculations have been implemented since **v0.12.1** ([PR #6566](https://github.com/bitcoin/bitcoin/pull/6566)), and has been *buried* since **v0.19.0** ([PR #16060](https://github.com/bitcoin/bitcoin/pull/16060)).
|
||||
* [`BIP 125`](https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki): Opt-in full replace-by-fee partially implemented: signaling is enforced if configured. For other replacement rules, see doc/policy/mempool-replacements.md.
|
||||
* [`BIP 130`](https://github.com/bitcoin/bips/blob/master/bip-0130.mediawiki): direct headers announcement is negotiated with peer versions `>=70012` as of **v0.12.0** ([PR 6494](https://github.com/bitcoin/bitcoin/pull/6494)).
|
||||
* [`BIP 133`](https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki): feefilter messages are respected and sent for peer versions `>=70013` as of **v0.13.0** ([PR 7542](https://github.com/bitcoin/bitcoin/pull/7542)).
|
||||
* [`BIP 141`](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki): Segregated Witness (Consensus Layer) as of **v0.13.0** ([PR 8149](https://github.com/bitcoin/bitcoin/pull/8149)), defined for mainnet as of **v0.13.1** ([PR 8937](https://github.com/bitcoin/bitcoin/pull/8937)), and *buried* since **v0.19.0** ([PR #16060](https://github.com/bitcoin/bitcoin/pull/16060)).
|
||||
|
||||
@@ -10,12 +10,7 @@ A transaction ("replacement transaction") may replace its directly conflicting t
|
||||
their in-mempool descendants (together, "original transactions") if, in addition to passing all
|
||||
other consensus and policy rules, each of the following conditions are met:
|
||||
|
||||
1. If `-mempoolfullrbf=0` (the value is 1 by default), the directly conflicting transactions all signal replaceability explicitly. A transaction is
|
||||
signaling BIP125 replaceability if any of its inputs have an nSequence number less than (0xffffffff - 1).
|
||||
A transaction also signals replaceability if its version field is set to 3.
|
||||
|
||||
*Rationale*: See [BIP125
|
||||
explanation](https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki#motivation).
|
||||
1. (Removed)
|
||||
|
||||
2. The replacement transaction only include an unconfirmed input if that input was included in
|
||||
one of the directly conflicting transactions. An unconfirmed input spends an output from a
|
||||
@@ -80,3 +75,5 @@ This set of rules is similar but distinct from BIP125.
|
||||
#25353](https://github.com/bitcoin/bitcoin/pull/25353)).
|
||||
|
||||
* Full replace-by-fee is the default policy as of **v28.0** ([PR #30493](https://github.com/bitcoin/bitcoin/pull/30493)).
|
||||
|
||||
* Signaling for replace-by-fee is no longer required as of [PR 30592](https://github.com/bitcoin/bitcoin/pull/30592).
|
||||
|
||||
@@ -38,8 +38,6 @@ The following rules are enforced for all packages:
|
||||
|
||||
* Only limited package replacements are currently considered. (#28984)
|
||||
|
||||
- If `-mempoolfullrbf=0` (the value is 1 by default), all direct conflicts must signal replacement.
|
||||
|
||||
- Packages are 1-parent-1-child, with no in-mempool ancestors of the package.
|
||||
|
||||
- All conflicting clusters (connected components of mempool transactions) must be clusters of up to size 2.
|
||||
|
||||
7
doc/release-notes-30592.md
Normal file
7
doc/release-notes-30592.md
Normal file
@@ -0,0 +1,7 @@
|
||||
Full Replace-By-Fee
|
||||
===================
|
||||
|
||||
Starting with v28.0, the `mempoolfullrbf` startup option was set to
|
||||
default to `1`. With widespread adoption of this policy, users no longer
|
||||
benefit from disabling it, so the option has been removed, making full
|
||||
replace-by-fee the standard behavior. (#30592)
|
||||
Reference in New Issue
Block a user