pub const AUDIT_TIMEOUT_STRIKE_THRESHOLD: u32 = 3;Expand description
Consecutive audit timeouts a peer may accumulate before a timeout is
reported as an ApplicationFailure trust event.
The audit response timeout is an economic deterrent calibrated for residential bandwidth, not a hard cryptographic bound: a single slow response is routine for an honest node under transient load (GC pause, disk flush, a burst of concurrent requests). Penalizing on the first timeout false-positives those nodes.
Requiring N consecutive timeouts before penalizing removes that
false-positive while preserving the deterrent against a peer that does not
actually store the data and must fetch it at audit time: such a peer is
slow on every audit and accumulates a fresh strike each tick until it
crosses the threshold, whereas an honest node answers normally between rare
slow ticks and any success resets its strike counter to zero (see
handle_audit_result). The discriminator is persistence of slowness
versus transience. This deliberately does not widen the per-challenge
window. Applies ONLY to AuditFailureReason::Timeout; confirmed
storage-integrity failures (DigestMismatch / KeyAbsent / Rejected /
MalformedResponse) remain instantly punishable.