mirror of
https://github.com/luxfi/consensus.git
synced 2026-09-24 00:26:58 +00:00
A node whose finality has fallen behind its own applied head is served nothing but blocks it already has. Re-verifying one asks the VM to insert an old canonical block a second time, which it correctly refuses — "side chain insertion is not supported" — so every entry in the response failed verification and the walk that would have advanced finality was never reached. That refusal is not a bad block. It is our own history coming back to us, and the block was verified when we first accepted it. Take the copy the VM holds. Measured on lux-testnet luxd-4: applied head 30622, finality 23934, and every served entry between those two rejected on re-verification. Finality is unchanged: the block is still only tracked, and only a verified quorum cert through HandleIncomingCert can finalize it. Negative control executed — restoring the unconditional Verify fails TestHeldBlockIsNotReVerified. Co-authored-by: Hanzo Dev <[email protected]>