mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-10 10:52:31 -05:00
[doc] package deduplication
This commit is contained in:
parent
d35a3cb396
commit
77202f0554
1 changed files with 15 additions and 0 deletions
|
@ -57,3 +57,18 @@ test accepts):
|
||||||
|
|
||||||
- Warning: Batched fee-bumping may be unsafe for some use cases. Users and application developers
|
- Warning: Batched fee-bumping may be unsafe for some use cases. Users and application developers
|
||||||
should take caution if utilizing multi-parent packages.
|
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.
|
||||||
|
|
Loading…
Add table
Reference in a new issue