diff --git a/bip-halt-unrequested-txn-processing.mediawiki b/bip-halt-unrequested-txn-processing.mediawiki new file mode 100644 index 0000000000..cda4266f9a --- /dev/null +++ b/bip-halt-unrequested-txn-processing.mediawiki @@ -0,0 +1,53 @@ +
+ BIP: YYY + Layer: Peer Services + Title: Unrequested Transactions Processing + Author: Antoine Riard+ +==Abstract== + +This BIP proposes a new mechanism to halt the processing of unrequested transations +received by a node from its bitcoin networks peers. + +==Motivation== + +Historically, nodes have been exchanging transactions on the Bitcoin peer-to-peer +network by sending an inv, and if the transaction has not been discovered and processed +yet by the other peer, sending a dedicated tx message. + +Sending an unnannounced tx message has always been considered in conformity with +the protocol, however this behavior creates a denanonymization vector if leveraged +by mass connectors. + +We can eliminate this concern by nodes rejecting unrequested transactions. + +==Specification== + +TODO: segment the protocol version by sub-categories of traffic class (eg tx, addr, block ?) + +#. The protocol version of nodes implementing this BIP must be set to 70017 or higher. + +#. After a node received a transaction from a peer +## If this transaction has been previously fetch with a getdata request, the node MUST process the transaction +## If this transaction has not been previously fetch with a getdata request, the node SHOULD reject the transaction + +TODO: add a policy rule to disconnect protocol violation ? + +==Backward compatibility== + +This mechanism only applies to network peers signaling NODE_TXRELAY_V2 as a node service bit. + +==Implementation== + +https://github.com/bitcoin/bitcoin/pull/30572 + +==Copyright== + +This BIP is licensed under the GPLv2.+ Comments-Summary: No comments yet. + Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0XXX + Status: Draft + Type: Standards Track + Created: 2024-09-05 + License: GPLv2 +