Add bip-txrelayv2 #1663

pull ariard wants to merge 2 commits into bitcoin:master from ariard:bip-txrelayv2 changing 1 files +54 −0
  1. ariard commented at 2:33 am on September 5, 2024: none

    If we find a better way to implement reject unrequested transactions in a backward compatible fashion, I’ll withdraw it.

    ML post: https://groups.google.com/g/bitcoindev/c/nWUcXBQbLGU Bitcoin Core conceptual discussion: https://github.com/bitcoin/bitcoin/pull/30572

  2. in bip-txrelayv2.mediawiki:4 in e7d51e0879 outdated
    0@@ -0,0 +1,49 @@
    1+<pre>
    2+  BIP: XXX
    3+  Layer: Peer Services
    4+  Title: Transaction Relay V2
    


    murchandamus commented at 8:35 pm on September 5, 2024:
    Could you perhaps reconsider the title? This sounds somewhat similar to the v2 P2P protocol that was recently deployed. Maybe something along the lines of “Behavior regarding unsolicited Transactions”, if I’m getting the gist of what you are thinking about?

    ariard commented at 10:58 pm on September 5, 2024:
    This is intentional to be similar to BIP24 and the upgrade of the V2 P2P protocol. Before the BIP design and implementation, the peer-to-peer protocol was not versioned, neither really encrypted. Similarly, we’re introducing a versioning of the transaction-relay protocol, which a node can use to selectively support policies and mechanisms.

    jonatack commented at 9:00 pm on September 6, 2024:
    I agree that this naming can be easily confused with v2 p2p and v3 transaction relay; differentiated naming would be beneficial.

    ariard commented at 4:56 am on September 13, 2024:

    I agree that this naming can be easily confused with v2 p2p and v3 transaction relay; differentiated naming would be beneficial.

    I’ll let you come with a better name, v2 p2p is the 2nd version of the p2p protocol, of which technically this transaction relay v2 protocol should lay on top. v3 transaction relay if you mean the TRUC thing it’s about the transaction versioning (the nVersion transaction field).

  3. in bip-txrelayv2.mediawiki:7 in e7d51e0879 outdated
    0@@ -0,0 +1,49 @@
    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
    


    murchandamus commented at 8:38 pm on September 5, 2024:

    ariard commented at 10:55 pm on September 5, 2024:
    Corrected with BIP-0XXX, in my memory bip339 is the oldest bip related to p2p tx-relay upgrade (as bip338 was never implemented and deployed). So I copy past bip layout from it.
  4. in bip-txrelayv2.mediawiki:39 in e7d51e0879 outdated
    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`).
    


    murchandamus commented at 8:45 pm on September 5, 2024:
    The Specification seems to define how to advertise a new network service, but it should perhaps elaborate what this service entails.

    ariard commented at 11:01 pm on September 5, 2024:
    No, it’s intentional. The mechanisms and policies supported should be described in a distinct BIP, e.g if some class of messages are disabled like it was proposed by BIP338, which is a distinct mechanism than behavior regarding unsolicited transactions.
  5. in bip-txrelayv2.mediawiki:43 in e7d51e0879 outdated
    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.
    


    murchandamus commented at 8:56 pm on September 5, 2024:
    Please be sure to include sufficient detail in the spec or compatibility section to explain why this is the case.

    ariard commented at 11:03 pm on September 5, 2024:
    This is the case - Earliest version behavior can be applied on the linked implementation code is bitcoin core 29.0.
  6. murchandamus commented at 8:56 pm on September 5, 2024: contributor

    Hi @ariard, I was not able to find messages pertaining to this BIP draft on the mailing list. Has this draft been posted to the mailing list?

    After a quick read, this document seems to be an early draft. We recommend that BIP authors open an initial pull request against their personal BIPs repository while they are collecting their thoughts and iterating quickly by themselves, and only open a pull request against the main repository after they have shared their proposal with the mailing list and are seeking public review.

  7. murchandamus added the label New BIP on Sep 5, 2024
  8. murchandamus added the label PR Author action required on Sep 5, 2024
  9. murchandamus marked this as a draft on Sep 5, 2024
  10. ariard force-pushed on Sep 5, 2024
  11. ariard commented at 11:07 pm on September 5, 2024: none

    @murchandamus

    Hi @ariard, I was not able to find messages pertaining to this BIP draft on the mailing list. Has this draft been posted to the mailing list?

    An email should have been sent linking this BIP draft to the bitcoin dev mail list.

    After a quick read, this document seems to be an early draft. We recommend that BIP authors open an initial pull request against their personal BIPs repository while they are collecting their thoughts and iterating quickly by themselves, and only > open a pull request against the main repository after they have shared their proposal with the mailing list and are seeking public review.

    My “offensive” self and my “defensive” self after carefully weighing the technical trade-offs have dialogued for long enough and they have come to consensus that this BIP was ready for more review :) I’m seeking public review.

  12. wlad76 approved
  13. Add bip-txrelayv2 143c993c59
  14. ariard force-pushed on Sep 6, 2024
  15. ariard commented at 7:15 pm on September 6, 2024: none
    Updated at 143c993 with improvements on the BIP.
  16. in bip-txrelayv2.mediawiki:27 in 143c993c59 outdated
    22+Historically, upgrades to the transaction relay protocols have been down by updating
    23+the protocol version number, and upgraded peers expecting support for new p2p messages
    24+processing or alteration in current processing of p2p messages from equivalently upgraded
    25+peers.
    26+
    27+This upgrade mechanism raise issues if new processing of current p2p messages is sanctionned
    


    jonatack commented at 8:52 pm on September 6, 2024:

    Nice to see the new typos CI working (edit: though it doesn’t seem to catch everything, hm)

    0This upgrade mechanism raise issues if new processing of current p2p messages is sanctioned
    

    (you can run it locally by installing https://github.com/crate-ci/typos and then running typos in repo root)

  17. in bip-txrelayv2.mediawiki:22 in 143c993c59 outdated
    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, upgrades to the transaction relay protocols have been down by updating
    


    jonatack commented at 8:54 pm on September 6, 2024:
    0Historically, upgrades to the transaction relay protocols have been done by updating
    
  18. in bip-txrelayv2.mediawiki:30 in 143c993c59 outdated
    25+peers.
    26+
    27+This upgrade mechanism raise issues if new processing of current p2p messages is sanctionned
    28+by an upgraded peer at the peering level by a disconnection of the violating non-upgraded peers.
    29+Non-upgraded peers and clients can see their transaction broadcast silently failing for a subset
    30+of theirs opened connections.
    


    jonatack commented at 8:55 pm on September 6, 2024:
    0of their open connections.
    
  19. in bip-txrelayv2.mediawiki:32 in 143c993c59 outdated
    27+This upgrade mechanism raise issues if new processing of current p2p messages is sanctionned
    28+by an upgraded peer at the peering level by a disconnection of the violating non-upgraded peers.
    29+Non-upgraded peers and clients can see their transaction broadcast silently failing for a subset
    30+of theirs opened connections.
    31+
    32+We can improve current upgrade mechanism of the transaction relay protocol by introducing a new
    


    jonatack commented at 8:56 pm on September 6, 2024:
    0We can improve the current upgrade mechanism of the transaction relay protocol by introducing a
    

    missing “the”, and “introducing” implies new

  20. in bip-txrelayv2.mediawiki:38 in 143c993c59 outdated
    33+node service bit to signal support for a new v2 transaction relay protocol. Within this protocol,
    34+nodes can negotiate new transaction relay mechanisms and policies.
    35+
    36+==Specification==
    37+
    38+Peers supporting the v2 transaction relay protocol signal support by adverstising
    


    jonatack commented at 8:57 pm on September 6, 2024:
    0Peers supporting the v2 transaction relay protocol signal support by advertising
    
  21. JanKortes212 approved
  22. Add SHOULD support BIP324 2a0842b1dc
  23. ariard commented at 5:11 am on September 13, 2024: none

    Updated at 2a0842b.

    From reading Jon’s comment on the naming issue, and after brainstorming with myself alone, as this BIP can be used to introducing more compartmentalization in the p2p messages (transactions, blocks, addr, etc), it is good to make explicit which version of the p2p protocol, this compartmentalization is building on.

    With BIP324 we have a versioning of the protocol, so it can be requested that NODE_TXRELAY_V2 implies support for NODE_P2P_V2.

    0 ==Specification==
    1 
    2+Peers supporting the v2 transaction relay protocol SHOULD support the Version 2 P2P Encrypted
    3+Transport Protocol as specified by BIP324.
    4+
    5 Peers supporting the v2 transaction relay protocol signal support by adverstising
    6 the 13th bit service flag in the addr p2p messages (`ADDR` and `ADDRV2`).
    
  24. JanKortes212 approved

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-21 15:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me