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
The square was incorrectly built based on the set of txs
PFBs and NonPFBs were not correctly separated
Signatures were invalid
Insufficient fees or gas
Note, that because we don't actually execute the block, it's okay that some transactions aren't valid.
If a group of byzantine validators (>2/3 in voting power) commit to an invalid block, whereby an honest node rejected it in ProcessProposal, all honest nodes will still continue to execute and propagate that invalid block.
What we should do is generate BEFPs (and any other proof), propagate them around the network using go-fraud and shut down the consensus reactor so we no longer vote on any more block until social consensus has re-established the canonical path forward (perhaps in the future we can resolve some invalid blocks automatically)
Proposal
Most likely we should cache the hashes of the invalid blocks in ProcessProposal and if we seem them committed in BeginBlock we return an error to consensus which deletes the last block and no longer processes any more transactions
For Admin Use
Not duplicate issue
Appropriate labels applied
Appropriate contributors tagged
Contributor assigned/self-assigned
The text was updated successfully, but these errors were encountered:
Summary
Blocks can be invalid for several reasons:
Note, that because we don't actually execute the block, it's okay that some transactions aren't valid.
If a group of byzantine validators (>2/3 in voting power) commit to an invalid block, whereby an honest node rejected it in
ProcessProposal
, all honest nodes will still continue to execute and propagate that invalid block.What we should do is generate BEFPs (and any other proof), propagate them around the network using go-fraud and shut down the consensus reactor so we no longer vote on any more block until social consensus has re-established the canonical path forward (perhaps in the future we can resolve some invalid blocks automatically)
Proposal
Most likely we should cache the hashes of the invalid blocks in
ProcessProposal
and if we seem them committed inBeginBlock
we return an error to consensus which deletes the last block and no longer processes any more transactionsFor Admin Use
The text was updated successfully, but these errors were encountered: