mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-04 10:12:28 +02:00
Merge bitcoin/bitcoin#24310: docs / fixups from RBF and packages
77202f0554[doc] package deduplication (glozow)d35a3cb396[doc] clarify inaccurate comment about replacements paying higher feerate (glozow)5ae187f876[validation] look up transaction by txid (glozow) Pull request description: - Use txid, not wtxid, for `mempool.GetIter()`: https://github.com/bitcoin/bitcoin/pull/22674#discussion_r772934994 - Fix a historically inaccurate comment about RBF during the refactors: https://github.com/bitcoin/bitcoin/pull/22855#discussion_r777130441 - Add a section about package deduplication to policy/packages.md: https://github.com/bitcoin/bitcoin/pull/24152#discussion_r802955759 and https://github.com/bitcoin/bitcoin/pull/24152#discussion_r802723149 (I'm intending for this to be in v23 since it's fixups for things that are already merged, which is why I split it from #24152) ACKs for top commit: t-bast: LGTM, ACK77202f0554darosior: ACK77202f0554LarryRuane: ACK77202f0554Tree-SHA512: a428e791dfa59c359d3ccc67e8d3a4c1239815d2f6b29898e129700079271c00b3a45f091f70b65a6e54aa00a3d5b678b6da29d2a76b6cd6f946eaa7082ea696
This commit is contained in:
@@ -57,3 +57,18 @@ test accepts):
|
||||
|
||||
- Warning: Batched fee-bumping may be unsafe for some use cases. Users and application developers
|
||||
should take caution if utilizing multi-parent packages.
|
||||
|
||||
* Transactions in the package that have the same txid as another transaction already in the mempool
|
||||
will be removed from the package prior to submission ("deduplication").
|
||||
|
||||
- *Rationale*: Node operators are free to set their mempool policies however they please, nodes
|
||||
may receive transactions in different orders, and malicious counterparties may try to take
|
||||
advantage of policy differences to pin or delay propagation of transactions. As such, it's
|
||||
possible for some package transaction(s) to already be in the mempool, and there is no need to
|
||||
repeat validation for those transactions or double-count them in fees.
|
||||
|
||||
- *Rationale*: We want to prevent potential censorship vectors. We should not reject entire
|
||||
packages because we already have one of the transactions. Also, if an attacker first broadcasts
|
||||
a competing package or transaction with a mutated witness, even though the two
|
||||
same-txid-different-witness transactions are conflicting and cannot replace each other, the
|
||||
honest package should still be considered for acceptance.
|
||||
|
||||
Reference in New Issue
Block a user