mirror of https://github.com/bitcoin/bitcoin
Merge #20624: net processing: Remove nStartingHeight check from block relay
pull/20650/headf6360088de
[net processing] Clarify UpdatedBlockTip() (John Newbery)94d2cc35be
[net processing] Remove unnecesary nNewHeight variable in UpdatedBlockTip() (John Newbery)8b57013473
[net processing] Remove nStartingHeight check from block relay (John Newbery) Pull request description: nStartingHeight was introduced in commit7a47324c7
(Bitcoin version 0.2.9, P2P version 209) with the comment "better prevention of inventory relaying during initial download". At that time, there was no function to determine whether the node was still in Initial Block Download, so to prevent syncing nodes from relaying old blocks to their peers, a check was added to never relay a block to a peer where the height was lower than 2000 less than the peer's best block. That check was updated several times in later commits to ensure that we weren't relaying blocks before the latest checkpoint if the peer didn't provide a startingheight. The checkpoint comparison was changed to compare with an estimate of the highest block in commiteae82d8e
. In commit202e0194
, all block relay was gated on being out of Initial Block Download. In commit0278fb5f
, the comparison to nBlockEstimate was removed since "we already checked IsIBD()". We can remove the check against nStartingHeight entirely. If the node is out of Initial Block Download, then its tip height must have been within 24 hours of current time, so should not be more than ~144 blocks behind the most work tip. This simplifies moving block inventory state into the `Peer` object (#19829). ACKs for top commit: Sjors: utACKf636008
jonatack: ACKf6360088de
MarcoFalke: ACKf6360088de
💽 ariard: Code Review ACKf636008
Tree-SHA512: 4959cf35f1dcde46f34bffec1375729a157e1b2a1fd8a8ca33da9771c3c89a6c43e7050cdeeab8d90bb507b0795703db8c8bc304a1a5065ef00aae7a6992ca4f
commit
eec9366f7d
Loading…
Reference in new issue