One of Four Nodes Stalled: Consensus After a Timeout
Four validator nodes were maintaining a single ledger. Three finalized the first block, while one remained behind. The lagging node's process was alive, and it was still connected to the other three. Yet waiting did not bring it to the same block.
This was the behavior reproduced locally in nigo-protocol on September 8, 2026. The node had neither failed to read a block from storage nor lost its network connections. In fact, the lagging node was further ahead in its attempts to reach consensus. It had timed out first, moved to the next round, and was discarding messages from earlier rounds.
Rejecting old messages sounds like a reasonable rule. But what if a message is not asking for a new vote, and instead contains evidence that other nodes have already agreed? That distinction left one live node persistently behind.