-
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
51 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,51 @@ | ||
<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, upgrades to the transaction relay protocols have been down by updating | ||
the protocol version number, and upgraded peers expecting support for new p2p messages | ||
processing or alteration in current processing of p2p messages from equivalently upgraded | ||
peers. | ||
|
||
This upgrade mechanism raise issues if new processing of current p2p messages is sanctionned | ||
by an upgraded peer at the peering level by a disconnection of the violating non-upgraded peers. | ||
Non-upgraded peers and clients can see their transaction broadcast silently failing for a subset | ||
of theirs opened connections. | ||
|
||
We can improve current upgrade mechanism of the transaction relay protocol by introducing a new | ||
node service bit 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. |