Как работают алгоритмы выбора лидера в распределенных системах?
Можно же просто сделать так - какой-нибудь узел заметил, что текущий лидер отвалился, и он сразу же отправляет всем остальным узлам напрямую, либо на какую-то шину, что теперь он - лидер. 
Если текущий лидер отваливается, почему вы думаете, что все остальные узлы узнают об этом по очереди?
Узнают одновременно. И одновременно пошлют всем узлам, что они новые лидеры, и получится бардак.
Именно поэтому и проводится выбор - либо генерируется случайное число каждым узлом, и выбирается среди всех тот, у кого число самое большое. Либо есть заранее заданные приоритеты выбора лидеров, основанные или на конфигах, или на мощностях, как уж создателю программы показалось нужным.
Опять же, в алгоритм можно добавить настройки, чтобы администратор мог указать какие машины не должны участвовать в выборе.
для капитанов военных кораблей есть такая штукенция типа арифмометра: при торпедной атаке повернуть на столько то градусов - градус штукенция и выбирает

чтобы  капитаны не умничали против строгой математики уже за них просчитанной