The protocol uses a lazy-observation model to seal the risk window endpoint T (riskWindowEnd). When the on-chain registry transitions to a terminal state (e.g. PRODUCTION), T is not recorded automatically — it is only written the first time someone calls pokeRiskWindow() or any function that triggers _observePoolState(). The protocol's documented defense against deliberate manipulation of T is that the poke is permissionless, so any counterparty with the opposite incentive can immediately counter-poke and collapse the bias to near zero.
The specific issue is that this defense is structurally unavailable during L2 sequencer downtime. When the sequencer is offline, no transaction can land — including pokeRiskWindow(). If the registry transitions to a terminal state while the sequencer is down, T is not sealed at the true transition time. When the sequencer resumes, the first poke seals T at block.timestamp, which is inflated by the full duration of the outage. Because the k=2 bonus formula scores each staker as (T − entryTime)² × stake, inflating T compresses the ratio between early and late stakers' scores, measurably shifting bonus share toward late stakers.
Likelihood:
BattleChain is an EVM-compatible L2. All L2 sequencers have documented downtime history; this is an infrastructure reality, not a theoretical edge case.
The window of exposure is narrow: downtime must coincide with the exact period between the registry transitioning to a terminal state and the first successful pokeRiskWindow() call. However, this window can be hours long if the outage is sustained.
Impact:
Late stakers receive a disproportionately larger share of the bonus pool than the k=2 formula intends. In the PoC, a 1-day outage causes Bob's bonus to nearly triple (20 ONE → 58.8 ONE) while Alice's drops from 980 ONE to 941 ONE, on a 1,000 ONE bonus pool.
No principal is at risk. The effect is purely a redistribution of the bonus pool among stakers. No third party loses funds.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.