Ну, в этом нет ничего небезопасного.Но проблема в том, что узлы, которые не могут победить на выборах, могут начать их.Таким образом, если узел, который не может победить, начинает выборы и запрашивает голоса у всех других узлов, сброс их таймеров заблокирует выборы.А поскольку кандидат, который не может победить, сначала запустил таймер, он, скорее всего, также остановит тайм-аут и начнет сначала другие выборы, таким образом снова блокируя кластер, и другие выборы, и т. Д.
Конечно, исправлениедля этого можно было бы сбросить таймауты выборов только при голосовании.Это может быть безопасно.В конце концов, тайм-ауты выборов в любом случае рандомизированы.Но вопрос в том, эффективен ли он?Это не помешает разделению голосов, поскольку не мешает нескольким узлам запрашивать голоса одновременно, а во время разделения голосов выборы будут намного дольше.Я подозреваю, что по этой причине протокол предварительного голосования намного более эффективен и, вероятно, позволяет избежать разделения голосов, а также их можно избежать.