You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(network): gate find-response stall tracking on per-peer height
PR #10732 stops the find-response stall tracker from disconnecting peers
at the chain tip, but gates it on `is_at_or_near_network_tip`, which
estimates the distance to the network tip from the local tip block's
timestamp. A stale tip — mining paused, or the whole network parked at a
shared tip — makes that estimate report the node as far behind, re-arming
the tracker and disconnecting healthy at-tip peers again.
Gate the tracker per-peer on the peer's advertised handshake height versus
our tip instead: only penalise empty or failed find responses from a peer
that claimed a height above ours. This is robust to a stale tip, preserves
the GHSA-h9hm-m2xj-4rq9 property (a peer that promises height but delivers
nothing is still dropped during real sync), and means a peer lying high
about its height can only get itself dropped, never an honest peer. The
trade-off — a peer claiming a height at or below our tip is never tracked —
is closed by the contribution-based accounting tracked in #11080.
The zcashd-compat sidecar exemption from #10952 is preserved; its stall
test now arms the per-peer gate so the exemption is what it exercises.
0 commit comments