Consensus Flashcards

1
Q

What is the consensus problem?

A

A group of processes must agree on a value afte one or more proposes a value, even in the event of arbitrary failure.

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

What are the assumptions for consensus? (3)

A

N Processes
Reliable Communication
Must tolerate process failures. (Crash, Byzantine)

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

Which systems can consensus be reached in?

A

Synchronous and sometimes asynchronous (with no failures for async)

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

What is a faulty process?

A

A process that exhibits some specified types of faults.

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

How does a system reach consensus?

A

Process begins in undecided state.
Each processes initial process drawn from set D.
Values exchanged
Each process decides on a value and enters a decided state.

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

What are the requirements of a consensus solution? (3)

A

Termination: Every processes sets a value
Agreement: Every process decides on the same value
Integrity: If all processes propose V, V must be chosen by all correct processes.

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

How is consensus reached with no failures? (3)

A

All processes propose a value.
Wait for all responses.
Choose majority value

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

How are T,A,I achieved with Reliable Multicast?

A

T and A guarenteed by reliable multicast.

Majority vote ensures I.

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

What are the 2 types of failure?

A

Crash: Processes stop sending values (Difficult to detect in async)
Arbitrary: Due to bug or deliberate lie (Byzantine) (Difficult to detect)

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

What is RTO Multicast?

A

Reliable Totally Ordered Multicast

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

What is the implementation of consensus using RTO multicast?

A

Each process proposes value.
Wait for all values.
Each process chooses first value delivered.

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

What is used in synchronous systems for sending consensus messages?

A

Basic Multicast

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

What is the algorithm for consensus in synchronous systems?

A

Each process has set V with proposed values (initially only their own).
At each round, each process multicasts V (only new values) and updates V with new values from other processes.
After f+1 rounds, minimum value is chosen.

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

Why are f+1 rounds used for consensus in Synchronous Systems?

A

If there can only be f failures, each process must send a value in one of the f+1 rounds, since they cannot fail in all of them.

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

Why can’t consensus always be reached in asynchronous systems?

A

We can’t use timeouts to detect failures so we don’t know if a process has crashed or is just slow, therefore there is no guarentee of consensus, only consensus with some probability.

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

What cant timeouts detect crash failures for Byzantine Generals problem?

A

Faulty processes may omit messages, but not crash.

Timeouts cannot tell the difference.

17
Q

What is necessary for a consensus solution for BG?

A

N <= 3f

18
Q

How is consensus dealt with in AS?

A

Using imperfect but nearly reliable fault detectors, using bounded timeouts.