Byzantine Generals - Computer Engineering - Lecture Slides, Slides of Computer Science

Some concept of Computer Engineering are Binary Search, Byzantine Generals, Euclid Sequences, Houses and Utilities, Malfunction Diagnosis. Main points of this lecture are: Byzantine Generals, Theme and Direction, Binary Search, Task Scheduling, String Matching, Sorting Networks, Malfunction Diagnosis, Byzantine Generals, Cryptography, Satisfiability

Typology: Slides

2012/2013

Uploaded on 04/30/2013

naji
naji 🇮🇳

4.3

(6)

87 documents

1 / 18

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Byzantine Generals
Ten Puzzling Problems in Computer Engineering
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Partial preview of the text

Download Byzantine Generals - Computer Engineering - Lecture Slides and more Slides Computer Science in PDF only on Docsity!

Byzantine Generals

Ten Puzzling Problems in Computer Engineering

Reminder on ECE 1’s Theme and Direction

A puzzling problem:

looks deceptively simple, but ...

appears very difficult, or even impossible, but is readily tamed with the appropriate insight

Each lecture starts with puzzles that we try to solve together I introduce you to CE problems that are related to the puzzles

Many engineering problems are puzzle-like (especially in CE)

Topics thus far:

Easy, Hard, Impossible (Collatz conjecture)

Placement and Routing (houses & utilities)

Satisfiability (making change)

Cryptography (secret message)

Byzantine Generals (liars and truth-tellers)

Topics for the 2 nd^ half: Binary Search (counterfeit coin) Task Scheduling (Sudoku) String Matching (word search) Sorting Networks (rearranging trains) Malfunction Diagnosis (logical reasoning)

The Island of Liars and Truth-Tellers

You meet a woman on the island. What single (yes/no) question can you ask her to determine whether she is a liar or a truth-teller?

Setting for puzzles in the next few slides: You are on an island populated by two tribes. Members of one tribe consistently lie. Members of the other tribe always tell the truth. Tribe members can recognize one another, but you can’t tell them apart.

You run into a man on the island and ask him whether he is a truth-teller. A blaring siren prevents you from hearing his answer. You inquire, “Sorry, did you say you’re a truth-teller?” He responds: “No, I did not.” To which tribe does the man belong?

If I asked you whether you were a liar, what would your answer be?

He is a liar

Meeting Two People on the Island

You meet two people A and B on the island. A says, “Both of us are from the liars tribe.” Which tribe is A from? What about B? (^) A : Liar, B : TT

D : Liar

You meet two people, C and D on the island. C says, “Exactly one of us is from the liars tribe.” Which tribe is D from?

You meet two people E and F on the island. E says, “It is not the case that both of us are from the truth-tellers tribe.” Which tribe is E from? What about F? E : TT,^ F : Liar

You meet two people, G and H on the island. Each of the two makes a statement. Which tribes are G and H from? G says: “We are from different tribes.” H says: “ G is from the liars tribe.” G : TT,^ H : Liar

More Examples and a Variation

Truth-tellers and nay-sayers: You are allowed only yes/no questions. One group of people answer truthfully and the other always answer “no”

How can you tell a truth-teller apart from a nay-sayer?

Is it possible to ask the exact same question twice of a truth-teller and get two different answers?

Yes, just use any question whose answer is time-dependent Or say, “Did I just ask you a question for the second time?”

Twelve politicians from the island go to a city hall meeting. The 1st one says: “Not a single person in this room tells the truth.” The 2nd one says: “No more than one person in this room tells the truth.” The 3rd one says: “No more than two people in this room tell the truth.”

... The 12th one says: “No more than 11 people in this room tell the truth.” What can you say about the composition of this group of politicians?

Other Interesting Variations

Liars who lie selectively; for example, in answer to every other question or on certain days of the week

Inhabitants of another island lie consistently on Tuesdays, Thursdays, and Saturdays, and they tell the truth on the other four days of the week. You have forgotten what day of the week it is, so you ask a passerby. “Saturday,” he answers. “And what day will it be tomorrow?” you inquire. “Wednesday,” he replies. Can you tell what day it is today?

M Tu W Th F Sa Su

Today cannot be M, W, F, Sa, or Su. So it is: Tu or Th

Tomorrow cannot be M, F, or Su. So it is: T, W, Th, or Sa

The Two Generals’ Paradox

Troops led by two generals are camped on the outskirts of an enemy city

The generals can only communicate via messengers who must travel through enemy territory and are thus subject to delays or capture

The two generals have previously agreed on a plan of attack, but they must communicate to set up the attack time

G1 G

Not attacking together has dire results

G1 decides to send the message, “Let’s attack at noon tomorrow”

G1 will not attack before getting an acknowledgment from G

G2 will not attack before making sure that his acknowledgment was received by G1 (because he knows G1 would not attack otherwise), so he waits for an acknowledgment of his acknowledgment

ATM:

dispense cash

Database: reduce balance

Unreliable commun.

Liars, Randoms, and Truth-Tellers Stand for ...

Crashed: Does not respond to any message

Permanently failed: May respond identically to every message

Permanently failed: May give the wrong response consistently

Arbitrarily failed: May give an unpredictable response

Maliciously failed: Gives a response that is calculated to do the maximum harm (adversary, worst-case failure)

Healthy: Gives the appropriate response to every message Truth-teller

Quiet

Random Byzantine

Nay-sayer Liar

Site status …

Sites communicating with one another to reach an agreement (e.g., to select a coordinating site, often called “leader”)

G

L1 L

a a Traitor L

a a a a

?

a ?

Byzantine Generals with Reliable Messengers

“He said retreat”

G

L L

“Attack” (^) “Attack”

Traitor

G

L L

“Attack” (^) “Retreat”

“He said retreat”

Traitor

G

L1 L

a c

Traitor

L

b b a b

c

a c

With f Byzantine failures, ≥ 3 f + 1 nodes needed to reach agreement

3 f + 1 Generals Needed with f Traitors

Traitor

Loyal

By exchanging messages in multiple rounds, the 2 f + 1 loyal generals can eventually reach a common plan of action which matches the order of the commanding general, provided the latter is loyal

Some deem Byzantine faults very unlikely and not worth considering

In “The Real Byzantine Generals,” the authors show why Byzantine faults are real and must be treated in both hardware and software http://ieeexplore.ieee.org/iel5/9579/30281/01390734.pdf

50 × 52 × 35 = 91,

“If a designer spent 50 hours per week, 52 weeks per year, for 35 years staring at one system, that would be less than 10 5 hours... far short of typical avionics requirements.”

Voting Comes in Many Flavors

Example: What time is it? Seven students write the exact time (hour and minute) on sticky notes Sort the sticky notes on the board Pick one of the following values: Fuser

x 1 x^2 x 3 x (^4) x x (^67) x 5

x Majority, if a majority exists Derived opinion

Plurality, if a plurality exists

Median of all the values proposed

Mean of all the values proposed

Mean of five values, after removing the largest and smallest of the seven

Mean of three values, after removing the 2 largest and 2 smallest values

Interval voting: Each proposer supplies a range of values that is guaranteed to hold the correct value

Mathematics of Voting

Voting studied in several fields: Mathematics / Computing Political science Sociology (social choice theory) Economics Fuser

x 1 x^2 x 3 x (^4) x x (^67) x 5

x Derived opinion

No voting scheme is totally fool-proof

Regular voting: Candidates A1, A2, B More qualified candidates A1 and A2 may split the votes, leading to the election of B (run-off helps in solving this problem, but creates others)

Approval voting Vote for any number of candidates you like

Borda voting comes pretty close to an ideal voting scheme Each participant ranks all candidates; tally votes by giving n points to each 1st-place choice, n – 1 points for 2nd place, ... , 1 point for n th place