From 4c0f0cb336f811c1b62acf0f4578797caba5626e Mon Sep 17 00:00:00 2001 From: Antoine Riard Date: Thu, 5 Sep 2024 03:28:54 +0100 Subject: [PATCH] Add bip-txrelayv2 --- bip-txrelayv2.mediawiki | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 bip-txrelayv2.mediawiki diff --git a/bip-txrelayv2.mediawiki b/bip-txrelayv2.mediawiki new file mode 100644 index 0000000000..7df8bbd076 --- /dev/null +++ b/bip-txrelayv2.mediawiki @@ -0,0 +1,49 @@ +
+  BIP: XXX
+  Layer: Peer Services
+  Title: Transaction Relay V2
+  Author: Antoine Riard 
+  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
+
+ +==Abstract== + +This BIP proposes a new Bitcoin transaction relay protocol by introducing new +signaling support, which can be further used by nodes to negotiate new transaction +relay mechanisms and policies. + +==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 using node service bits to signal support for +a new v2 transaction relay protocol. Within this protocol, nodes can negotiate new +transaction relay mechanisms and policies. + +==Specification== + +Peers supporting the v2 transaction relay protocol signal support by adverstising +the 13th bit service flag in the addr p2p messages (`ADDR` and `ADDRV2`). + +==Backward compatibility== + +Older clients remain fully compatible and interoperable after this change. + +==Implementation== + +https://github.com/bitcoin/bitcoin/pull/30572 + +==Copyright== + +This BIP is licensed under the GPLv2.