An improvement over #6172. Fixes #6971 rather than bypasses it as #6974 did, and reduces overloading of whitelisting.
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-
rebroad commented at 3:35 AM on November 2, 2016: contributor
-
f5b82fe0bb
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.
- rebroad force-pushed on Nov 2, 2016
- rebroad renamed this:
Ignore getheaders prior to passing all checkpoints.
[WIP] Ignore getheaders prior to passing all checkpoints.
on Nov 2, 2016 -
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.
- rebroad renamed this:
[WIP] Ignore getheaders prior to passing all checkpoints.
Ignore getheaders prior to passing all checkpoints.
on Nov 2, 2016 - laanwj added the label P2P on Nov 2, 2016
-
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).
-
MarcoFalke commented at 8:03 AM on November 3, 2016: member
Needs rebase, if still relevant.
-
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.
- laanwj closed this on Nov 3, 2016
-
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.
-
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.
-
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.
- MarcoFalke locked this on Sep 8, 2021