13 - consesus Flashcards

1
Q

Quickly explain the problem of the two general’s problem

A

If two generals try to establish a time of attack, and they both need to participate to win the attack.
Ga is uncertain of any message to Gb untill a confirmation is received. The irony is that Gb is uncertain that his confirmation is received untill Ga confirms it. This means that every sent message always leaves uncertainty an no consensus can be reached in asynchronous systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the definition of consesus? and how is it different from a decision?

A

In consensus, all processes need to be aware that all other processes are aware of the decision. This is different from normal decisions, where it plainly assumes everyone came to the same conclusion (Without verifying this).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the difference between consesus and agreement?

A

In both cases all processors in a system need to eventually decide on the same value. However in consensus all processes have a suggestion of the value, and in agreement only one process does.
The problems are concidered equally difficult.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the difference between a Fault and a Failure?

A

A fault only applies to one process, while a failure applies to the whole system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Give examples of possible faults

A
  • Fail-stop / crash: one process just stops
  • Omission: a processor fails to send/receive messages
  • Timing: a processor does not meet timing specifications
  • Byzantine: a Processor has random/malicious behaviour
  • transient: temporarit fault that corrects eventually.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the difference between synch and async consensus?

A

Reaching consensus in asynchronous systems is much more difficult: long delays / link faults are very hard to detect.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What impact does authentication have on agreement?

A

Without authentication, reaching agreement is much more difficult.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What assumption is true for all (fault) system models?

A

Assume a complete network connectivity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the four consensus properties?

A

Termination: every correct process eventually decides some value
Validity: If a process decides v, then v was proposed by some process.
Integrity: No process decides twice.
Agreement: No two correct processes decide differently.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Explain the solution for the synchronous, crash fault model.

A

Assume at most f faulty processes in network. Then, for f+1 rounds every process broadcasts all its encountered proposals (W). It also receives numerous proposals that round that it adds to W. When W only contains one element, that element is decided.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Explain how the agreement property is satsified in the solution for the synchronous, crash fault model.

A

Because there are f+1 rounds with at most f faulty processes, there is at least one round in which no process crashes. During this round all processes will send the same value of W, and thus reach consensus.

The processes are deterministic, and thus decide on the same value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the byzantine agreement problem?

A

In agreement, one process starts with the final value. And all other correct processes have to agree on the same value. However, with byzantine faults it can occur that different values are introduced during consensus. This means it is impossible to conclude wich process is byzantine (including the source).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the conditions for reaching agreement with byzantine faults?

A

At least N>3f nodes in the system are required.
Minimal number of rounds in deterministic solution = f+1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

In moddeling, what is OM?

A

Oral Message, it is used to describe a communication without authentication: It can be falsified.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Explain the solution for Byz. agreement in the unauth. sync model.

A

The original source (C) broadcasts its value to all other nodes in the network (Li). For every OM(f-1) layer, each Li will act as the original broadcaster by broadcasting its value “as the thruth” to the other Lj’s. Then each Li will decide based on the majority of all values that is has received.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Explain how the decision of a lutenant is made in the solution for Byz. agreement in the unauth. sync model.

A

It will compute the majority of values it received from each other lieutenant, when those were acting as commander. Then it decides the value based on the majority of all those majorities, and the initial value it received by the real commander.

17
Q

Explain why mutlicast won’t work for Byz. Agreement in the Unauthenticated and Sync. Model

A

Because mutlicast allows byzantine nodes to send different information to different nodes. When broadcast is used, all nodes will receive the same information from a node, regardless of its nature.

18
Q

In Byz. Agreement in the Unauthenticated and Sync. Model, what happens if no majority is present?

A

A predetermined default value is decided by the process.

19
Q

How can authentication aid the byz. agreement for the Sync. model?

A

It can assure that no Lieutenant is able to edit the original message of the commander.

20
Q

What is a drawback of the “naive” solution to byz. agreement in the Auth. Sync. Model?

A

Without Authenticated broadcast, a malicious commander (original source) is still capable of distributing different signed values, and consequently cannot guarantee agreement.

21
Q

Explain how the authenticated broadcast can be seen as a simulation.

A

The authenticated broadcast protocol can be added to your basic synchronous byzantine model in order to facilitate the authenticated byzantine generals algorithm (which requires broadcasting).

22
Q

Briefly explain the algorithm of authenticated broadcast.

A

All nodes start with default value 0. Then, P0 starts a broadcast with authenticated argreement value v. If v==1 then a node will relay this messages if it was received from P0 and it has been convinced.

Convincing can be done by receiving r-1 relays from other processes, where r is the number of rounds since the original broadcast

23
Q

Is Randomized byzantine agreement for async or sync models?

A

Both!

24
Q

What is the network requirement for randomized byzantine agreement?

A

N > 5f

25
Q

Explain the basic idea behind randomized byzantine agreement.

A

Every process chooses a random value v, which it broadcasts. It then awaits n-f Notification messages from other processes. If a majority (N+f/2) of those contains the same value, it will send a Proposal for that value. Then it again waits for n-f other proposals. if enough of those proposals are identical, we deliver the value.

26
Q

Explain the deliver condition for randomized byzantine agreement.

A

We wait for n-f proposals, of which f can be byzantine, so n-2f will be of correct processes.
From N>5f we can deduce n-2f > 3f. and hence we deliver v iff more than 3f processes proposed value v.

27
Q

What is RCA?

A

Randomized coordinated attack

28
Q

What are the assumptions for RCA?

A

Synchronous, complete network.
Where all processes are correct, but all links may exhibit faults.
The number runs for a fixed number of rounds (r)

29
Q

What is the validity property of RCA?

A

if all processes start with 0, they all decide 0. if all processes start with 1 and all messages are received, they all decide 1

30
Q

What is meant with the probability of disagreement in RCA?

A

In RCA, it is not guaranteed that all processes decide on the same value. The chance that processes decide on a different value is the probability of disagreement. This value is ε=1/r

r is the number of rounds in RCA

31
Q

What are the capabilities of the adversary in RCA?

A

It can manipulate the input values of the processors, and can change the communication pattern.

32
Q

What is the definition of the communication pattern in RCA?

A

a subset of the set
{(i,j,r): (i,j) an edge in the processor graph, r is number of a round}

33
Q

How does a process update its own level in RCA?

A

After copying all the maxima levels from received messages, it sets its own level as the minimum stored level +1.
**Li[i] = min{Li[j]} +1 **

34
Q

How does a process decide in RCA?

A

After r rounds each process has the initial values as well as the final levels of each process. Let L be the max known level (in the vector):
~~~
if not all processes have inital value 0 :
decide 0

If L < key:
decide 0
if L >= key and all ones:
decide 1
~~~

35
Q

What is the what the probability is in RCA? (and why)

A

The key is randomly generated between 1 and r by process 1. and is unkown to the adversary (but known to every process). After r rounds the adversary has created a difference in levels between all adversaries of at most 1. Lets say these values are a and a+1. The only way that disagreement can be achieved if this a+1 value is exactly the same as the key value. The chances of this is 1/r