Skip to content

Commit 77202f0

Browse files
committed
[doc] package deduplication
1 parent d35a3cb commit 77202f0

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

doc/policy/packages.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,18 @@ test accepts):
5757

5858
- Warning: Batched fee-bumping may be unsafe for some use cases. Users and application developers
5959
should take caution if utilizing multi-parent packages.
60+
61+
* Transactions in the package that have the same txid as another transaction already in the mempool
62+
will be removed from the package prior to submission ("deduplication").
63+
64+
- *Rationale*: Node operators are free to set their mempool policies however they please, nodes
65+
may receive transactions in different orders, and malicious counterparties may try to take
66+
advantage of policy differences to pin or delay propagation of transactions. As such, it's
67+
possible for some package transaction(s) to already be in the mempool, and there is no need to
68+
repeat validation for those transactions or double-count them in fees.
69+
70+
- *Rationale*: We want to prevent potential censorship vectors. We should not reject entire
71+
packages because we already have one of the transactions. Also, if an attacker first broadcasts
72+
a competing package or transaction with a mutated witness, even though the two
73+
same-txid-different-witness transactions are conflicting and cannot replace each other, the
74+
honest package should still be considered for acceptance.

0 commit comments

Comments
 (0)