Proof-of-stake & Byzantine consensus

Byzantine generals problem

Picture several army divisions camped around an enemy city, each led by a general who can only reach the others by messenger. They must agree on one plan — all attack or all retreat — because a half-committed, divided assault loses. The trouble is that some generals may be traitors who send contradictory orders to push the loyal generals into disagreement. The Byzantine generals problem, framed by Leslie Lamport, Robert Shostak, and Marshall Pease in 1982, asks how the honest participants can still converge on the same decision despite an unknown subset that behaves arbitrarily: lying, equivocating, or staying silent.

This is the canonical model of a Byzantine fault — not a node that simply crashes, but one that may do the worst possible thing, including sending different messages to different peers. The classic result is a sharp threshold. With unauthenticated (oral) messages that can be forged or altered, agreement is achievable if and only if more than two-thirds of the participants are honest: the system tolerates f traitors only when there are at least n = 3f + 1 generals in total, with an honest quorum of 2f + 1. With cryptographically signed messages that cannot be forged, a loyal general can prove what others said, and in principle far more faults can be tolerated, though synchrony assumptions about message delivery still matter in practice.

Every blockchain is an engineered answer to this problem on an open network where the generals are pseudonymous and can be spun up at will. Proof of work and proof of stake make manufacturing armies of fake generals expensive, while the consensus protocol layered on top — Nakamoto-style longest chain, or an explicit BFT vote — is what actually drives honest nodes to one ledger. The 3f + 1 bound reappears throughout this field as the two-thirds supermajority that PBFT, Tendermint, and Ethereum's Casper all require.

n ≥ 3f + 1 (tolerate f Byzantine faults; honest quorum = 2f + 1)

A common misreading is that the 3f+1 bound is about a simple majority. It is stricter: you need more than two-thirds honest, not just more than half, precisely because a Byzantine node can equivocate — telling one group 'attack' and another 'retreat' — which a bare majority cannot disambiguate.