Ignore getheaders prior to passing all checkpoints. #9061

pull rebroad wants to merge 1 commits into bitcoin:master from rebroad:FixGetheadersResponseWhenSyncing changing 1 files +6 −4
  1. rebroad commented at 3:35 AM on November 2, 2016: contributor

    An improvement over #6172. Fixes #6971 rather than bypasses it as #6974 did, and reduces overloading of whitelisting.

  2. Ignore getheaders prior to passing all checkpoints.
    An improvement over #6172. Fixes #6971 rather than bypasses it
    as #6974 did, and reduces overloading of whitelisting.
    f5b82fe0bb
  3. rebroad force-pushed on Nov 2, 2016
  4. dcousens commented at 5:08 AM on November 2, 2016: contributor

    Would it be better to use chain work here too? (ref #9053)

  5. rebroad renamed this:
    Ignore getheaders prior to passing all checkpoints.
    [WIP] Ignore getheaders prior to passing all checkpoints.
    on Nov 2, 2016
  6. rebroad commented at 5:29 AM on November 2, 2016: contributor

    @dcousens A nice idea, but this change is to fix the concerns raised here: #5927 (comment) which requires it to be linked to the last checkpoint. For some reason additional criteria got added too that made it too strict.

  7. rebroad renamed this:
    [WIP] Ignore getheaders prior to passing all checkpoints.
    Ignore getheaders prior to passing all checkpoints.
    on Nov 2, 2016
  8. laanwj added the label P2P on Nov 2, 2016
  9. laanwj commented at 2:27 PM on November 2, 2016: member

    Instead of adding more reliance on checkpoints, we should be getting rid of them (see #7591). @gmaxwell has work in progress to do this (#9053 is part of that).

  10. gmaxwell commented at 4:49 PM on November 2, 2016: contributor

    NAK. No more reliance on checkpoints. Also-- IsInitialBlockDownload does a fine job here AFAIK-- this is literally its job (esp with my changes that are less likely to let it get tripped up on testnet with headers forked).

  11. MarcoFalke commented at 8:03 AM on November 3, 2016: member

    Needs rebase, if still relevant.

  12. rebroad commented at 9:03 AM on November 3, 2016: contributor

    @laanwj This PR does not add more reliance on checkpoints, as the previous code also used checkpoints.

  13. MarcoFalke commented at 9:10 AM on November 3, 2016: member

    @rebroad Please, this is not an argument.

    Because something was done in the past does not mean it is correct and encouraged forever. Often we keep code that works (but relies on bad pratices) because no one found time to fix it... I don't see a way where we restore the checkpoint functionality you are referencing in this pull.

  14. laanwj closed this on Nov 3, 2016

  15. rebroad commented at 4:59 AM on November 4, 2016: contributor

    @MarcoFalke A step in the right direction while waiting for a better solution is surely better than standing still while waiting for a better solution.

  16. rebroad commented at 5:00 AM on November 4, 2016: contributor

    And in response to @gmaxwell https://botbot.me/freenode/bitcoin-core-dev/msg/75840350/ - this PR reduces the DoS effect you refer to - i.e. it ignores FEWER getheaders than previously.

    However I do agree that ignoring getheaders is not ideal - I believe the node should disconnect when it decides to ignore a getheaders request. I didn't add this though, as it wasn't already in the code, for some reason I do not understand.

  17. rebroad commented at 5:07 AM on November 4, 2016: contributor

    I think there must be some reality distortion going on here. I honestly have zero idea why this PR is not a quick and easy improvement and it introduces zero debt.

    What are your real reasons for not merging this? There is a undisclosed agenda here I think, which clearly (to me at least) is not in the best interests of the P2P protocol.

  18. MarcoFalke 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: 2026-04-13 21:15 UTC

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