[−][src]Module finality_grandpa::bitfield
Bitfields and tools for handling equivocations.
This is primarily a bitfield for tracking equivocating voters. It is necessary because there is a need to track vote-weight of equivocation on the vote-graph but to avoid double-counting.
We count equivocating voters as voting for everything. This makes any further equivocations redundant with the first.
Bitfields are either blank or live, with two bits per equivocator. The first is for equivocations in prevote messages and the second for those in precommits.
Bitfields on regular vote-nodes will tend to be live, but the equivocating bitfield will be mostly empty.
Structs
Context | Context data for bitfields, shared among all live bitfield instances. (only usable under std environment.) |
LiveBitfield | Live bitfield instance. |
Enums
Bitfield | Bitfield for tracking voters who have equivocated. |
Error | Errors that can occur when using the equivocation weighting tools. |