Question: Consider the following algorithm to solve the general Consensus with Byzantine faults, given a solution A for the binary Consensus. Every process p uses three

Consider the following algorithm to solve the general Consensus with Byzantine faults, given a solution A for the binary Consensus. Every process p uses three private vari- ables, to store the initial value, secondary-valuep, and votep. Some default value is fixed, the same for all processes. The following is the pseudo-code for a process p.

The preliminary round: Process p broadcasts its initial value. If at least nf copies of a certain value were received by process p, thenp sets its votep to 1, otherwise to 0. Process p sets its secondary-valuepto the majority of values received, if such a strict majority exists, oth- erwise to the default value.

The following rounds: Algorithm A for binary consensus is run, with the votevalues treated as the initial values. If process p decides on the vote value 1 in the execution of A, then ps final decision is on its secondary-valuep, otherwise the final decision is on the default value.

(a) Is this a correct reduction when f < n/3? If you believe that this is the case, then prove the fact, which completes your solution, otherwise give a counter-example and proceed to the next point.

(b) Is this a correct reduction when f < n/4? If you believe that this is the case, then prove the fact, which completes your solution, otherwise give a counter-example and proceed to the next point.

(c) Develop a correct reduction of general Byzantine Consensus to binary Byzantine Consensus with the following two properties: (1) it uses only one preliminary round of communication, and (2) it is correct when f < n/4.

If you are at this point, then you do not believe that the algorithm given above is a correct reduction, even for f < n/4, as justified by your two counter-examples.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!