inundated with cmpctblocks #9163

issue rebroad openend this issue on November 15, 2016
  1. rebroad commented at 12:59 pm on November 15, 2016: contributor

    debug.log.txt

    My node is being swamped with cmpctblocks from nodes, when as far as I understood it, only 3 nodes at a time were supposed to be announcing via cmpctblocks. Not only this, but many of the cmpctblocks arrive quite a while after I have received the block from other nodes, so surely my node should be requesting the announcement via cmpctblocks stops, or disconnecting the nodes that continue to announce via cmpctblocks after they’ve been requested not to.

    As a bolt-on question: why is the contents of every cmpctblock received different?

  2. jonasschnelli added the label P2P on Nov 15, 2016
  3. MarcoFalke commented at 5:27 pm on November 15, 2016: member
    ​What version/commit are you running?​ Are there local patches applied?
  4. rebroad commented at 4:58 am on November 16, 2016: contributor
    @MarcoFalke 13.1 with some local patches to improve debug information - is no one else seeing this then?
  5. gmaxwell commented at 11:16 am on November 19, 2016: contributor

    @rebroad I strongly suspect someone was up to shenanigans. When your issue went up I went to one of my nodes and saw similar results: in some cases I was getting 12 duplicates, the behavior was recent and not reflected in older logs.

    I then quickly implemented a bunch of additional logging and restarted and in several days have not seen a single other instance of excessive repeats. (I see usually one, sometimes a couple when they race, never more than four (not three because sometimes a block comes right after changing preferences, and sometimes the tree HB peers come in when we’ve getdataed from a non-HB peer)).

    I carefully reviewed both the requesting and responding code in both master and 0.13.1 and am reasonably confident that there is no simple bug in Bitcoin Core that could have caused that behavior. So in the absence of further information I would guess the cause was someone running broken customized things or an ineffectual attempt at an attack.

    I’ve frequently seen nodes cramming whole unrequested blocks at us… compact blocks are at least an improvement over that.

    why is the contents of every cmpctblock received different?

    Read the spec, it improves resistance to collisions by causing any collision induced reconstruction error to happen randomly across the network instead of the same for everyone at once.

  6. rebroad commented at 9:06 am on November 20, 2016: contributor
    @gmaxwell thanks for the update. Hmm, odd choice of shenanigans - I have seen this happened quite a bit in the past also. Is it worth classing as misbehaviour? i.e. if a peer annnounces cmpctblocks when it’s not been asked to, and when a peer announces with anything other than cmpctblocks when it has been asked to?
  7. rebroad commented at 4:51 pm on November 30, 2016: contributor
    Seem to have been fixed by #9199
  8. rebroad closed this on Nov 30, 2016

  9. laanwj referenced this in commit c6e45d6d62 on Dec 2, 2016
  10. laanwj referenced this in commit da5a16b11d on Dec 2, 2016
  11. lateminer referenced this in commit 6689f09a0a on Oct 24, 2018
  12. DrahtBot locked this on Sep 8, 2021

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-10-30 03:12 UTC

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