Disallow certain message types under BIP324 v2 transport #29632

issue dergoegge openend this issue on March 12, 2024
  1. dergoegge commented at 11:44 am on March 12, 2024: member

    V2 transport presents a unique opportunity to disallow a couple p2p messages that we can’t deprecate under v1 given their usage. Of the top of my head, it seems like the following things could be disallowed:

    • Bloom filters should not be used and are superseded by client side filtering. filter{add,clear,load}, merkleblock and mempool could therefore be disallowed.
    • V1 address relay was superseded by V2 address relay (not to be confused with BIP324 v2 transport). addr could therefore be disallowed.
    • getblocks makes very little sense which is why Bitcoin Core no longer sends it. Syncing headers before downloading blocks should always be preferred. getblocks could therefore be disallowed.

    This might be too late to squeeze in and would require BIP changes as well but long term it seems worthwhile considering. If we ever get rid of v1 transport we can delete the entire code for the things mentioned above (and maybe more?)!

  2. dergoegge renamed this:
    Deprecate certain message types under BIP324 v2 transport
    Disallow certain message types under BIP324 v2 transport
    on Mar 12, 2024
  3. fanquake added the label P2P on Mar 12, 2024
  4. maflcko added the label Brainstorming on Mar 12, 2024
  5. fjahr commented at 5:32 pm on March 15, 2024: contributor

    Thinking if this would become an issue if we expect other projects to adopt BIP324 via something like BIP324 Proxy. If that were to happen and stay that way mid/long term, I am not sure this is a good idea. Or, on the flipside, if it is a good idea I guess worst case something like BIP324 Proxy becomes infeasible as a quick fix for most projects.

    CC @theStack

  6. sipa commented at 5:36 pm on March 15, 2024: member
    I think it’s far too late to add something like this to do BIP324, and I don’t see the benefit really - we need the logic to keep supporting these messages (to the extent they aren’t optional like bloom filters) anyway.
  7. dergoegge closed this on Apr 10, 2024


github-metadata-mirror

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

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