Bitcoin Core will typically connect with no less than 10 outbound friends (8 common, 2 blocks-only). It is going to ask all the friends for his or her chaintips after which begin synchronizing the header chain for the chaintip with essentially the most work after selecting a single header sync peer. Solely when it has acquired all block headers of the peer and validated them to the extent potential, will it begin downloading blocks and advancing its energetic chaintip. So long as one in all our node’s friends is trustworthy and caught up, we’d already be on our solution to the precise chaintip.
A block whose timestamp is older than the median of the 11 previous blocks would merely be rejected on the header sync stage, so we should assume that the attacker is serving a blockchain that could be a week outdated.
If our node have been eclipsed and all of its friends have been providing solely a chaintip that’s older than per week, our node would synchronize that chaintip. Our node would stay in “initialblockdownload” state, as that solely disables as soon as the timestamp of the node’s energetic tip is not more than 24 hours prior to now. This may e.g. trigger the pockets GUI to show a warning that the node just isn’t caught up. The node would additionally begin making further connections on account of not making progress. If it finds any trustworthy peer, it’ll proceed synchronizing in direction of the precise finest chain. If the eclipse assault persists, it’ll stall, however stay in IBD.