-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
49 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
<pre> | ||
BIP: XXX | ||
Layer: Peer Services | ||
Title: Transaction Relay V2 | ||
Author: Antoine Riard <[email protected]> | ||
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 | ||
</pre> | ||
|
||
==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. |