Proof-of-stake & Byzantine consensus

validator attestation

An attestation is the vote a validator casts, normally once per epoch in its assigned slot, declaring its current view of the chain. It is the raw material of Ethereum consensus: proposers produce blocks only once in a while, but the steady stream of attestations from the whole validator set is what actually determines the head, justifies checkpoints, and earns most of a validator's rewards. If a validator is the heartbeat of proof of stake, the attestation is each beat.

A single attestation bundles together three votes. The head vote (LMD-GHOST vote) names the block the validator currently sees as the chain head, feeding the fork choice. The FFG vote names a source checkpoint and a target checkpoint, feeding Casper's justification and finalization. Each attestation is tied to a specific slot and committee index so it can be tallied correctly. Validators are rewarded for attesting accurately and promptly — voting for the eventual head, the correct target, and including it quickly — and penalized for being late, wrong, or absent.

Scale forces aggregation. With hundreds of thousands of validators, posting every signature on-chain is impossible, so attestations are signed with BLS, which lets many identical votes be combined into one aggregate signature verifiable in a single operation. Within each committee, aggregators collect matching attestations and merge them; this is what makes it feasible for the chain to count a supermajority of stake every epoch without drowning in data. Two attestations that violate a slashing condition — same target epoch, or surrounding spans — are publishable evidence that burns the offender's stake.

Most of a validator's income comes from attesting correctly, not from the occasional block proposal. Consistent uptime and a well-connected node matter more for yield than luck in being chosen to propose.

Also called
attestation證明投票