Consider the following algorithmfor four processes. Each process starts with an
ID: 3616361 • Letter: C
Question
Consider the following algorithmfor four processes. Each process starts with an initial
value and uses a variablevote. Each processsends a message to all processes in a
round, including a message tooneself.
First round: Each process sends its initial value.
If a process p receives three identicalvalues, then p sets the vote to this value,
otherwise p sets the vote tonull.
Second round:Each process sends its vote.
If a process p receives three votes with thesame value di
erent from null
then p decides on this value,otherwise p decides on the default value.
Is this a correct consensus algorithm for atmost one Byzantine process?
Explanation / Answer
This cannot be a correct consensus algorithm. A Valid consensusprotocol ensures that all correct processes must eventually decidethe same value. Unless three processes choose the same initialvalue, no process can decide on a value.