Byzantijnse generaalsprobleem
Hoe bereiken n generaals consensus als sommigen de communicatie actief proberen te saboteren? Het klassieke probleem uit de gedistribueerde systemen.
Lamport, Shostak en Pease (1982). Bewezen: er zijn minstens 3f+1 deelnemers nodig om f Byzantijnse nodes te verdragen. Anders dan bij een “crashfout” (een node reageert simpelweg niet meer) kunnen Byzantijnse nodes liegen, verschillende ontvangers verschillende berichten sturen en desinformatie verspreiden. Praktische BFT-algoritmen: PBFT (1999), Tendermint, HotStuff (Diem/Libra) en PoW in Bitcoin-stijl (probabilistisch). Het probleem achter het ontwerp van blockchains.