doc: Update mempool_replacements.md to reflect feerate diagram checks
This commit is contained in:
1 parent
21693f031a
commit
72f60c877e
1 file changed
+9
-19
@@ -12,12 +12,7 @@ other consensus and policy rules, each of the following conditions are met:
|
|||||||
|
|
||||||
1. (Removed)
|
1. (Removed)
|
||||||
|
|
||||||
2. The replacement transaction only include an unconfirmed input if that input was included in
|
2. (Removed)
|
||||||
one of the directly conflicting transactions. An unconfirmed input spends an output from a
|
|
||||||
currently-unconfirmed transaction.
|
|
||||||
|
|
||||||
*Rationale*: When RBF was originally implemented, the mempool did not keep track of
|
|
||||||
ancestor feerates yet. This rule was suggested as a temporary restriction.
|
|
||||||
|
|
||||||
3. The replacement transaction pays an absolute fee of at least the sum paid by the original
|
3. The replacement transaction pays an absolute fee of at least the sum paid by the original
|
||||||
transactions.
|
transactions.
|
||||||
@@ -38,23 +33,16 @@ other consensus and policy rules, each of the following conditions are met:
|
|||||||
*Rationale*: Try to prevent DoS attacks where an attacker causes the network to repeatedly relay
|
*Rationale*: Try to prevent DoS attacks where an attacker causes the network to repeatedly relay
|
||||||
transactions each paying a tiny additional amount in fees, e.g. just 1 satoshi.
|
transactions each paying a tiny additional amount in fees, e.g. just 1 satoshi.
|
||||||
|
|
||||||
5. The number of original transactions does not exceed 100. More precisely, the sum of all
|
5. The number of distinct clusters corresponding to conflicting transactions does not exceed 100.
|
||||||
directly conflicting transactions' descendant counts (number of transactions inclusive of itself
|
|
||||||
and its descendants) must not exceed 100; it is possible that this overestimates the true number
|
|
||||||
of original transactions.
|
|
||||||
|
|
||||||
*Rationale*: Try to prevent DoS attacks where an attacker is able to easily occupy and flush out
|
*Rationale*: Limit CPU usage required to update the mempool for so many transactions being
|
||||||
significant portions of the node's mempool using replacements with multiple directly conflicting
|
removed at once.
|
||||||
transactions, each with large descendant sets.
|
|
||||||
|
|
||||||
6. The replacement transaction's feerate is greater than the feerates of all directly conflicting
|
6. The feerate diagram of the mempool must be strictly improved by the replacement transaction.
|
||||||
transactions.
|
|
||||||
|
|
||||||
*Rationale*: This rule was originally intended to ensure that the replacement transaction is
|
*Rationale*: This ensures that block fees in all future blocks will go up
|
||||||
preferable for block-inclusion, compared to what would be removed from the mempool. This rule
|
after the replacement (ignoring tail effects at the end of a block).
|
||||||
predates ancestor feerate-based transaction selection.
|
|
||||||
|
|
||||||
This set of rules is similar but distinct from BIP125.
|
|
||||||
|
|
||||||
## History
|
## History
|
||||||
|
|
||||||
@@ -79,3 +67,5 @@ This set of rules is similar but distinct from BIP125.
|
|||||||
* Signaling for replace-by-fee is no longer required as of [PR 30592](https://github.com/bitcoin/bitcoin/pull/30592).
|
* Signaling for replace-by-fee is no longer required as of [PR 30592](https://github.com/bitcoin/bitcoin/pull/30592).
|
||||||
|
|
||||||
* The incremental relay feerate default is 0.1sat/vB ([PR #33106](https://github.com/bitcoin/bitcoin/pull/33106)).
|
* The incremental relay feerate default is 0.1sat/vB ([PR #33106](https://github.com/bitcoin/bitcoin/pull/33106)).
|
||||||
|
|
||||||
|
* Feerate diagram policy enabled in conjunction with switch to cluster mempool as of **v31.0**.
|
||||||
Reference in new issue
Block a user