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 cross-block false double-sign detection in sequential consensus
The _proposalsByView dictionary was keyed by (view, proposer) without
block number. After a view change bumps view to V for block N-1, and
then StartRound(N) sets view = N where N == V, the old entry from
block N-1 collides with the new proposal for block N. This causes false
double-sign detection because the hashes differ (different blocks).
Fix: include block number in the key → (view, block, proposer). Proposals
for different blocks at the same view no longer collide. Genuine double-
signs (same view + same block + same proposer + different hashes) are
still detected correctly.
0 commit comments