Задача византийских генералов
Как n генералам прийти к консенсусу, если часть из них намеренно саботирует связь? Классическая задача распределённых систем.
Лэмпорт, Шостак, Пиз (1982). Доказано: чтобы выдержать f византийских узлов, нужно как минимум 3f+1 участников. Это не «сбой остановкой» (узел просто перестаёт отвечать): византийские узлы могут лгать, отправлять разным адресатам разные сообщения и распространять дезинформацию. Практические BFT-алгоритмы: PBFT (1999), Tendermint, HotStuff (Diem/Libra), PoW в стиле биткоина (вероятностно). Главная движущая задача в проектировании блокчейнов.