|
| 1 | +<pre> |
| 2 | + BIP: XXX |
| 3 | + Layer: Peer Services |
| 4 | + Title: Transaction Relay V2 |
| 5 | + Author: Antoine Riard <btc@ariard.me> |
| 6 | + Comments-Summary: No comments yet. |
| 7 | + Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0339 |
| 8 | + Status: Draft |
| 9 | + Type: Standards Track |
| 10 | + Created: 2024-09-05 |
| 11 | + License: GPLv2 |
| 12 | +</pre> |
| 13 | + |
| 14 | +==Abstract== |
| 15 | + |
| 16 | +This BIP proposes a new Bitcoin transaction relay protocol by introducing new |
| 17 | +signaling support, which can be further used by nodes to negotiate new transaction |
| 18 | +relay mechanisms and policies. |
| 19 | + |
| 20 | +==Motivation== |
| 21 | + |
| 22 | +Historically, nodes have been exchanging transactions on the Bitcoin peer-to-peer |
| 23 | +network by sending an inv, and if the transaction has not been discovered and processed |
| 24 | +yet by the other peer, sending a dedicated tx message. |
| 25 | + |
| 26 | +Sending an unnannounced tx message has always been considered in conformity with |
| 27 | +the protocol, however this behavior creates a denanonymization vector if leveraged |
| 28 | +by mass connectors. |
| 29 | + |
| 30 | +We can eliminate this concern by using node service bits to signal support for |
| 31 | +a new v2 transaction relay protocol. Within this protocol, nodes can negotiate new |
| 32 | +transaction relay mechanisms and policies. |
| 33 | + |
| 34 | +==Specification== |
| 35 | + |
| 36 | +Peers supporting the v2 transaction relay protocol signal support by adverstising |
| 37 | +the 13th bit service flag in the addr p2p messages (`ADDR` and `ADDRV2`). |
| 38 | + |
| 39 | +==Backward compatibility== |
| 40 | + |
| 41 | +Older clients remain fully compatible and interoperable after this change. |
| 42 | + |
| 43 | +==Implementation== |
| 44 | + |
| 45 | +https://github.com/bitcoin/bitcoin/pull/30572 |
| 46 | + |
| 47 | +==Copyright== |
| 48 | + |
| 49 | +This BIP is licensed under the GPLv2. |
0 commit comments