Notes on Block-In-Flight Handling #16172

issue TheBlueMatt openend this issue on June 8, 2019
  1. TheBlueMatt commented at 3:52 pm on June 8, 2019: contributor

    In compact block opportunistic reconstruction we have a comment above the MarkBlockAsReceived call:

    0                // Clear download state for this block, which is in
    1                // process from some other peer.  We do this after calling
    2                // ProcessNewBlock so that a malleated cmpctblock announcement
    3                // can't be used to interfere with block relay.
    

    That’s great and all, but we don’t have anything similar in ::BLOCK handling. Thus, if you have a compact block blocktxn request in-flight from one peer, another peer can send you a malleated block as a regular block message causing the in-flight state to be cleared. That peer will get banned, so its a one-time block propagation slowdown (and shouldn’t even be all that much of a slowdown), but worth noting. Writing it up primarily cause it should be considered in some eventual in-flight-blocks refactoring in conjunction with a #10984 rebase.

  2. fanquake added the label P2P on Jun 8, 2019
  3. fanquake added the label Docs on Aug 4, 2019
  4. fanquake commented at 9:11 am on May 24, 2023: member
  5. instagibbs commented at 1:51 pm on May 24, 2023: member
    As of #27626 this case should be covered, you can close
  6. fanquake closed this on May 24, 2023

  7. bitcoin locked this on May 23, 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-22 12:12 UTC

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