SlideShare a Scribd company logo
1 of 31
Solutions to Byzantine
Agreement Problem
Presentation by Ajay Kharat (BITS Pilani)
We studied from last class
-> Faulty processor problem
-> Limitations on number of faulty processors
-> An impossibility result
We will be studying about:-
-> Lamport-Shostak-Pease Algorithm
-> Dolev et al.’s Algorithm
Lamport-Shostak-Pease Algorithm
Solves Byzantine agreement for 3m+1 or more processors in the presence
of at most m faulty processors
i.e. if there are n processors, faulty processors should not exceed
(n-1)/3
Algorithm is recursively defined, as
• OM(0)
• OM(m), m > 0
Oral Messaging (OM)
There must be at least 3m+1 processors to cope up with m faulty
processors by Oral Messaging
What is Oral Messaging?
A Processor has to send messages to other processors
Our Assumptions:-
1. Every message that is sent is delivered correctly
2. The receiver of the message knows who sent it
3. The absence of message can be detected
ALGORITHM OM(0)
When there are no faulty processors, achieving agreement is easy
1. The source processor sends its value to every processor
2. Each processor uses the value it receives from the source
Otherwise default value 0
ALGORITHM OM(m), m > 0
1. The source processor sends its value to every processor
2. For each i,
let vi be the value processor i receives from the source.
Processor i acts as the new source and initiates Algorithm OM(m-
1) wherein it sends the value vi to each of the n-2 other processors
3. For each i and each j, let vj be the value processor i received from
processor in j in step 2 using Algorithm OM(m-1)
Processor i uses value majority( v1, v2, ..…, vn-1 )
What is Majority
If majority of values vi for each processor is
majority( v1,v2,v3,……,vn-1 )
The majority value among the vi if it exists, otherwise the value 0
i.e. a value at which majority of processors agree on.
Example 1
Processors p0, p1, p2, p3
Available values 0, 1
p2p1
p0
p3
1
1
1
p0 initiates agreement
p0 executes algorithm OM(1) where it
sends value 1 to all other processors
When one receiving processor is
faulty
Example 1
Processors p0, p1, p2, p3
Available values 0, 1
p0 initiates agreement
p0 executes algorithm OM(1) where it sends value 1 to all other
processors
p2p1
p0
p3
1
1
1
1
1
1
0
p1,p2,p3 executes OM(0)
After receiving all messages, processors
choose majority value
p1(1,1,1)
p2(1,1,1) they agree on
p3(1,0,1) majority value 1
1
1
Example 2
Processors p0, p1, p2, p3
Available values 0, 1
p2p1
p0
p3
1
0
1
p0 is faulty processor
& initiates agreement
p0 executes algorithm OM(1) where it
sends value 1 to all other processors
Example 2
Processors p0, p1, p2, p3
Available values 0, 1
p0 initiates agreement
p0 executes algorithm OM(1) where it sends value 1 to all other
processors
p2p1
p0
p3
1
0
1
1
p1,p2,p3 executes OM(0)
1
Example 2
Processors p0, p1, p2, p3
Available values 0, 1
p0 initiates agreement
p0 executes algorithm OM(1) where it sends value 1 to all other
processors
p2p1
p0
p3
1
0
1
1
0 0
p1,p2,p3 executes OM(0)
1
Example 2
Processors p0, p1, p2, p3
Available values 0, 1
p0 initiates agreement
p0 executes algorithm OM(1) where it sends value 1 to all other
processors
p2p1
p0
p3
1
0
1
1
0
1
0
p1,p2,p3 executes OM(0)
After receiving all messages, processors choose majority
value
P1(1,0,1)
P2(1,0,1) they agree on
P3(1,0,1) majority value 1
Hence, Byzantine agreement is satisfied
1
1
Dolev et al.’s Algorithm
Motivation behind Dolev et al.’s Algorithm?
• Does not depend on behavior of faulty processor
• Requires 2m+3 rounds
• No Authentication required
• It is polynomial time algorithm for reaching Byzantine
Agreement
Dolev et al.’s Algorithm
Our Assumptions
• Topology of network is known
• Algorithm is synchronous i.e. time of each round is known
• Without authentication immediate sender of message can be identified
• No solution if the upper bound of faulty processor exceeds
i.e. 1/3 of the processes
Dolev et al.’s Algorithm
• m is number of faulty processors
• Two thresholds :-
LOW = m + 1, HIGH = 2m + 1
• LOW is any subset of atleast one nonfaulty processors
(Used to support assertion)
• HIGH is any subset of atleast m + 1 nonfaulty processors
(Used to confirm assertion)
• Two Types of Message:-
• “*” Message and a message containing name of processor
Dolev et al.’s Algorithm
• What is * Message?
“*” denotes sender is sending value 1
• What is named message?
denotes sender of the message received a “*” from a named processor.
Every processor keeps a record of all messages it has received.
Processor j is direct supporter of k if j directly receives “*” from k.
When a nonfaulty processor j directly receives “*” from processor k, it sends message “k” to all
other processors
When processor i receives message “k” from processor j, it adds j into Wi
x because
j is a witness to message “k”
Wi
x is set of processors (witness) that have sent message x to processor i.
Dolev et al.’s Algorithm
k
j
* k
k
k
i
Wi
k [ j,…..,]
Witness for k message is j
Processor j is direct supporter of k if j directly receives “*” from k.
When a nonfaulty processor j directly receives “*” from
processor k, it sends message “k” to all other processors
When processor i receives message “k” from processor j, it adds
j into Wi
k because j is a witness to message “k”
Wi
k is set of processors (witness) that have sent message k to
processor i.
Processor i is indirect supporter of processor j
if |Wi
k|>= LOW
Processor i confirms processor j
if |Wi
k|>= HIGH
Dolev et al.’s Algorithm
Four rules of operation:
1. In first round, the source broadcasts its value to all other processors
2. In round k > 1, processor broadcasts name of all processor for which it is either
direct or indirect supporter.
if it not yet initiated in previous round, it will broadcast “*” message
3. If processor confirms HIGH number of processor, it commits to a value of 1.
4. After round 2m+3, if the value 1 is committed, the processor agree on 1;
Otherwise they agree on 0
Dolev et al.’s Algorithm
p1 p2
p3 p4
W* [1]
W1 []
W2 []
W3 []
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
*
* *
Round 1
P1 initiates and sends *
Dolev et al.’s Algorithm
p1 p2
p3 p4
W* [1,3]
W1 []
W2 []
W3 []
W4 []
W* [1,3]
W1 [3]
W2 []
W3 []
W4 []
W* [1,3]
W1 []
W2 []
W3 []
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
*
* **,1
*
Round 1 Status
Round 2
Dolev et al.’s Algorithm
p1 p2
p3 p4
W* [1,2,3]
W1 []
W2 []
W3 []
W4 []
W* [1,2,3]
W1 [3]
W2 []
W3 []
W4 []
W* [1,2,3]
W1 [2]
W2 []
W3 []
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
*
* **,1
*
*
*,1
Round 1 Status
Round 2
Dolev et al.’s Algorithm
p1 p2
p3 p4
W* [1,2,3]
W1 [2]
W2 []
W3 [2]
W4 []
W* [1,2,3]
W1 [2,3]
W2 []
W3 [2]
W4 []
W* [1,2,3]
W1 [2]
W2 []
W3 [2]
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
*
* **,1
*
*
*,1
3,1
3,1
Round 2 Status
Round 3
Dolev et al.’s Algorithm
p1 p2
p3 p4
W* [1,2,3]
W1 [2,,3]
W2 [3]
W3 [2]
W4 []
W* [1,2,3]
W1 [2,3]
W2 [3]
W3 [2]
W4 []
W* [1,2,3]
W1 [2,3]
W2 []
W3 [2]
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
*
* **,1
*
*
*,1
3,1
3,1
2,1 2,1
Round 2 Status
Round 3
Dolev et al.’s Algorithm
p1 p2
p3 p4
W* [1,2,3]
W1 [2,,3]
W2 [3]
W3 [2]
W4 []
W* [1,2,3]
W1 [2,3]
W2 [3]
W3 [1,2]
W4 []
W* [1,2,3]
W1 [2,3]
W2 [1]
W3 [2]
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
*
* **,1
*
*
*,1
3,1
3,1
2,1 2,12
3
Round 2 Status
Round 3
Dolev et al.’s Algorithm
p1 p2
p3 p4
W* [1,2,3]
W1 [1,2,3]
W2 [1,3]
W3 [1,2]
W4 []
W* [1,2,3]
W1 [1,2,3]
W2 [1,3]
W3 [1,2]
W4 []
W* [1,2,3]
W1 [1,2,3]
W2 [1]
W3 [1,2]
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
*
* **,1
*
*
*,1
3,1
3,1
2,1 2,12
31,2,3
1,2,3
Round 3 Status
Round 4
Dolev et al.’s Algorithm
p1 p2
p3 p4
W* [1,2,3]
W1 [1,2,3]
W2 [1,2,3]
W3 [1,2]
W4 []
W* [1,2,3]
W1 [1,2,3]
W2 [1,2,3]
W3 [1,2]
W4 []
W* [1,2,3]
W1 [1,2,3]
W2 [1,2]
W3 [1,2]
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
*
* **,1
*
*
*,1
3,1
3,1
2,1 2,12
31,2,3
1,2,3 1,2,3
1,2,3
Round 3 Status
Round 4
Dolev et al.’s Algorithm
p1 p2
p3 p4
W* [1,2,3]
W1 [1,2,3]
W2 [1,2,3]
W3 [1,2,3]
W4 []
W* [1,2,3]
W1 [1,2,3]
W2 [1,2,3]
W3 [1,2,3]
W4 []
W* [1,2,3]
W1 [1,2,3]
W2 [1,2,3]
W3 [1,2,3]
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
*
* **,1
*
*
*,1
3,1
3,1
2,1 2,12
31,2,3
1,2,3 1,2,3
1,2,3
1,2,3
1,2,3
Round 3 Status
Round 4
Dolev et al.’s Algorithm
p1 p2
p3 p4
W* [1,2,3]
W1 [1,2,3]
W2 [1,2,3]
W3 [1,2,3]
W4 []
W* [1,2,3]
W1 [1,2,3]
W2 [1,2,3]
W3 [1,2,3]
W4 []
W* [1,2,3]
W1 [1,2,3]
W2 [1,2,3]
W3 [1,2,3]
W4 []
W* [1]
W1 []
W2 []
W3 []
W4 []
*
* **,1
*
*
*,1
3,1
3,1
2,1 2,12
31,2,3
1,2,3 1,2,3
1,2,3
1,2,3
1,2,3
An Agreement is reached in 4 rounds
Papers Referred
An Efficient Algorithm for Byzantine Agreement without Authentication
https://www.sciencedirect.com/science/article/pii/S0019995882907768
The Byzantine Generals Problem
https://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdf

More Related Content

What's hot

Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Sri Prasanna
 
Advanced Operating System Lecture Notes
Advanced Operating System Lecture NotesAdvanced Operating System Lecture Notes
Advanced Operating System Lecture NotesAnirudhan Guru
 
Chapter 11d coordination agreement
Chapter 11d coordination agreementChapter 11d coordination agreement
Chapter 11d coordination agreementAbDul ThaYyal
 
Vector clock algorithm
Vector clock algorithmVector clock algorithm
Vector clock algorithmS. Anbu
 
process management
 process management process management
process managementAshish Kumar
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSKathirvel Ayyaswamy
 
Distributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationMNM Jain Engineering College
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemorySHIKHA GAUTAM
 
Inter process communication
Inter process communicationInter process communication
Inter process communicationRJ Mehul Gadhiya
 
INTER PROCESS COMMUNICATION (IPC).pptx
INTER PROCESS COMMUNICATION (IPC).pptxINTER PROCESS COMMUNICATION (IPC).pptx
INTER PROCESS COMMUNICATION (IPC).pptxLECO9
 
Synchronization Pradeep K Sinha
Synchronization Pradeep K SinhaSynchronization Pradeep K Sinha
Synchronization Pradeep K SinhaJawwad Rafiq
 

What's hot (20)

IPC
IPCIPC
IPC
 
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
 
Advanced Operating System Lecture Notes
Advanced Operating System Lecture NotesAdvanced Operating System Lecture Notes
Advanced Operating System Lecture Notes
 
Chapter 11d coordination agreement
Chapter 11d coordination agreementChapter 11d coordination agreement
Chapter 11d coordination agreement
 
Vector clock algorithm
Vector clock algorithmVector clock algorithm
Vector clock algorithm
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
process management
 process management process management
process management
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
Distributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communication
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared Memory
 
Inter process communication
Inter process communicationInter process communication
Inter process communication
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
 
INTER PROCESS COMMUNICATION (IPC).pptx
INTER PROCESS COMMUNICATION (IPC).pptxINTER PROCESS COMMUNICATION (IPC).pptx
INTER PROCESS COMMUNICATION (IPC).pptx
 
message passing
 message passing message passing
message passing
 
Data link layer
Data link layer Data link layer
Data link layer
 
11. dfs
11. dfs11. dfs
11. dfs
 
Synchronization Pradeep K Sinha
Synchronization Pradeep K SinhaSynchronization Pradeep K Sinha
Synchronization Pradeep K Sinha
 
Inter Process Communication
Inter Process CommunicationInter Process Communication
Inter Process Communication
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 

Similar to Solutions to byzantine agreement problem

TERMIN@TION AND DETECTION #ALL DET@IL 123
TERMIN@TION AND DETECTION #ALL DET@IL 123TERMIN@TION AND DETECTION #ALL DET@IL 123
TERMIN@TION AND DETECTION #ALL DET@IL 123DeeshaKhamar1
 
Aggrement protocols
Aggrement protocolsAggrement protocols
Aggrement protocolsMayank Jain
 
Flexible Symmetric Global Snapshot
Flexible Symmetric Global Snapshot Flexible Symmetric Global Snapshot
Flexible Symmetric Global Snapshot Ashutosh Jaiswal
 
Process Synchronization -1.ppt
Process Synchronization -1.pptProcess Synchronization -1.ppt
Process Synchronization -1.pptjayverma27
 
Python tutorialfeb152012
Python tutorialfeb152012Python tutorialfeb152012
Python tutorialfeb152012Shani729
 
Skr+3200+chapter+3+(kweh)
Skr+3200+chapter+3+(kweh)Skr+3200+chapter+3+(kweh)
Skr+3200+chapter+3+(kweh)Ammar Shafiq
 
titaARM Projesi / Rapor
titaARM Projesi / RaportitaARM Projesi / Rapor
titaARM Projesi / RaporA. Faruk ÜNAL
 
week1 cs72 module 01 temp check 190.pptx
week1 cs72 module 01 temp check 190.pptxweek1 cs72 module 01 temp check 190.pptx
week1 cs72 module 01 temp check 190.pptxhardmarcelia
 
Robust and Tuneable Family of Gossiping Algorithms
Robust and Tuneable Family of Gossiping AlgorithmsRobust and Tuneable Family of Gossiping Algorithms
Robust and Tuneable Family of Gossiping AlgorithmsVincenzo De Florio
 
Distributed Computing Set 3 - Topics of non-Byzantine Consensus
Distributed Computing Set 3 - Topics of non-Byzantine ConsensusDistributed Computing Set 3 - Topics of non-Byzantine Consensus
Distributed Computing Set 3 - Topics of non-Byzantine ConsensusOsama Askoura
 
The byzantine generals problem
The byzantine generals problemThe byzantine generals problem
The byzantine generals problemNGUYEN VAN LUONG
 
Randomized Byzantine Problem by Rabin
Randomized Byzantine Problem by RabinRandomized Byzantine Problem by Rabin
Randomized Byzantine Problem by RabinKishor Datta Gupta
 

Similar to Solutions to byzantine agreement problem (20)

TERMIN@TION AND DETECTION #ALL DET@IL 123
TERMIN@TION AND DETECTION #ALL DET@IL 123TERMIN@TION AND DETECTION #ALL DET@IL 123
TERMIN@TION AND DETECTION #ALL DET@IL 123
 
Chapter 6 synchronization
Chapter 6 synchronizationChapter 6 synchronization
Chapter 6 synchronization
 
Aggrement protocols
Aggrement protocolsAggrement protocols
Aggrement protocols
 
Os3
Os3Os3
Os3
 
Os unit 3
Os unit 3Os unit 3
Os unit 3
 
Flexible Symmetric Global Snapshot
Flexible Symmetric Global Snapshot Flexible Symmetric Global Snapshot
Flexible Symmetric Global Snapshot
 
LBM 1
LBM 1LBM 1
LBM 1
 
Process Synchronization -1.ppt
Process Synchronization -1.pptProcess Synchronization -1.ppt
Process Synchronization -1.ppt
 
Distributed System
Distributed System Distributed System
Distributed System
 
SCP
SCPSCP
SCP
 
Python tutorialfeb152012
Python tutorialfeb152012Python tutorialfeb152012
Python tutorialfeb152012
 
Skr+3200+chapter+3+(kweh)
Skr+3200+chapter+3+(kweh)Skr+3200+chapter+3+(kweh)
Skr+3200+chapter+3+(kweh)
 
titaARM Projesi / Rapor
titaARM Projesi / RaportitaARM Projesi / Rapor
titaARM Projesi / Rapor
 
week1 cs72 module 01 temp check 190.pptx
week1 cs72 module 01 temp check 190.pptxweek1 cs72 module 01 temp check 190.pptx
week1 cs72 module 01 temp check 190.pptx
 
stop and wait
stop and waitstop and wait
stop and wait
 
Robust and Tuneable Family of Gossiping Algorithms
Robust and Tuneable Family of Gossiping AlgorithmsRobust and Tuneable Family of Gossiping Algorithms
Robust and Tuneable Family of Gossiping Algorithms
 
Distributed Computing Set 3 - Topics of non-Byzantine Consensus
Distributed Computing Set 3 - Topics of non-Byzantine ConsensusDistributed Computing Set 3 - Topics of non-Byzantine Consensus
Distributed Computing Set 3 - Topics of non-Byzantine Consensus
 
The byzantine generals problem
The byzantine generals problemThe byzantine generals problem
The byzantine generals problem
 
Randomized Byzantine Problem by Rabin
Randomized Byzantine Problem by RabinRandomized Byzantine Problem by Rabin
Randomized Byzantine Problem by Rabin
 
14 queuing
14 queuing14 queuing
14 queuing
 

More from AJAY KHARAT

Uncovering Bugs in P4 Programs with Assertion-based Verification
Uncovering Bugs in P4 Programs with Assertion-based VerificationUncovering Bugs in P4 Programs with Assertion-based Verification
Uncovering Bugs in P4 Programs with Assertion-based VerificationAJAY KHARAT
 
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDNSDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDNAJAY KHARAT
 
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and ChallengesInstrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and ChallengesAJAY KHARAT
 
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane
Memory and Performance Isolation for a Multi-tenant Function-based Data-planeMemory and Performance Isolation for a Multi-tenant Function-based Data-plane
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane AJAY KHARAT
 
NS4: Enabling Programmable Data Plane Simulation
NS4: Enabling Programmable Data Plane SimulationNS4: Enabling Programmable Data Plane Simulation
NS4: Enabling Programmable Data Plane SimulationAJAY KHARAT
 
YATES: Rapid Prototyping for Traffic Engineering Systems
YATES: Rapid Prototyping forTraffic Engineering SystemsYATES: Rapid Prototyping forTraffic Engineering Systems
YATES: Rapid Prototyping for Traffic Engineering SystemsAJAY KHARAT
 
Life in the Fast Lane: A Line-Rate Linear Road
Life in the Fast Lane: A Line-Rate Linear RoadLife in the Fast Lane: A Line-Rate Linear Road
Life in the Fast Lane: A Line-Rate Linear RoadAJAY KHARAT
 
How to implement complex policies on existing network infrastructure
How to implement complex policies on existing network infrastructure How to implement complex policies on existing network infrastructure
How to implement complex policies on existing network infrastructure AJAY KHARAT
 
Network-Wide Heavy-Hitter Detection with Commodity Switches
Network-Wide Heavy-Hitter Detection with Commodity SwitchesNetwork-Wide Heavy-Hitter Detection with Commodity Switches
Network-Wide Heavy-Hitter Detection with Commodity SwitchesAJAY KHARAT
 
p4pktgen: Automated Test Case Generation for P4 Programs
p4pktgen:  Automated Test Case  Generation for P4 Programsp4pktgen:  Automated Test Case  Generation for P4 Programs
p4pktgen: Automated Test Case Generation for P4 ProgramsAJAY KHARAT
 
Mutual exclusion in distributed systems
Mutual exclusion in distributed systemsMutual exclusion in distributed systems
Mutual exclusion in distributed systemsAJAY KHARAT
 
virtual memory management in multi processor mach os
virtual memory management in multi processor mach osvirtual memory management in multi processor mach os
virtual memory management in multi processor mach osAJAY KHARAT
 

More from AJAY KHARAT (12)

Uncovering Bugs in P4 Programs with Assertion-based Verification
Uncovering Bugs in P4 Programs with Assertion-based VerificationUncovering Bugs in P4 Programs with Assertion-based Verification
Uncovering Bugs in P4 Programs with Assertion-based Verification
 
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDNSDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
 
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and ChallengesInstrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
 
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane
Memory and Performance Isolation for a Multi-tenant Function-based Data-planeMemory and Performance Isolation for a Multi-tenant Function-based Data-plane
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane
 
NS4: Enabling Programmable Data Plane Simulation
NS4: Enabling Programmable Data Plane SimulationNS4: Enabling Programmable Data Plane Simulation
NS4: Enabling Programmable Data Plane Simulation
 
YATES: Rapid Prototyping for Traffic Engineering Systems
YATES: Rapid Prototyping forTraffic Engineering SystemsYATES: Rapid Prototyping forTraffic Engineering Systems
YATES: Rapid Prototyping for Traffic Engineering Systems
 
Life in the Fast Lane: A Line-Rate Linear Road
Life in the Fast Lane: A Line-Rate Linear RoadLife in the Fast Lane: A Line-Rate Linear Road
Life in the Fast Lane: A Line-Rate Linear Road
 
How to implement complex policies on existing network infrastructure
How to implement complex policies on existing network infrastructure How to implement complex policies on existing network infrastructure
How to implement complex policies on existing network infrastructure
 
Network-Wide Heavy-Hitter Detection with Commodity Switches
Network-Wide Heavy-Hitter Detection with Commodity SwitchesNetwork-Wide Heavy-Hitter Detection with Commodity Switches
Network-Wide Heavy-Hitter Detection with Commodity Switches
 
p4pktgen: Automated Test Case Generation for P4 Programs
p4pktgen:  Automated Test Case  Generation for P4 Programsp4pktgen:  Automated Test Case  Generation for P4 Programs
p4pktgen: Automated Test Case Generation for P4 Programs
 
Mutual exclusion in distributed systems
Mutual exclusion in distributed systemsMutual exclusion in distributed systems
Mutual exclusion in distributed systems
 
virtual memory management in multi processor mach os
virtual memory management in multi processor mach osvirtual memory management in multi processor mach os
virtual memory management in multi processor mach os
 

Recently uploaded

HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 

Recently uploaded (20)

HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 

Solutions to byzantine agreement problem

  • 1. Solutions to Byzantine Agreement Problem Presentation by Ajay Kharat (BITS Pilani)
  • 2. We studied from last class -> Faulty processor problem -> Limitations on number of faulty processors -> An impossibility result
  • 3. We will be studying about:- -> Lamport-Shostak-Pease Algorithm -> Dolev et al.’s Algorithm
  • 4. Lamport-Shostak-Pease Algorithm Solves Byzantine agreement for 3m+1 or more processors in the presence of at most m faulty processors i.e. if there are n processors, faulty processors should not exceed (n-1)/3 Algorithm is recursively defined, as • OM(0) • OM(m), m > 0
  • 5. Oral Messaging (OM) There must be at least 3m+1 processors to cope up with m faulty processors by Oral Messaging What is Oral Messaging? A Processor has to send messages to other processors Our Assumptions:- 1. Every message that is sent is delivered correctly 2. The receiver of the message knows who sent it 3. The absence of message can be detected
  • 6. ALGORITHM OM(0) When there are no faulty processors, achieving agreement is easy 1. The source processor sends its value to every processor 2. Each processor uses the value it receives from the source Otherwise default value 0
  • 7. ALGORITHM OM(m), m > 0 1. The source processor sends its value to every processor 2. For each i, let vi be the value processor i receives from the source. Processor i acts as the new source and initiates Algorithm OM(m- 1) wherein it sends the value vi to each of the n-2 other processors 3. For each i and each j, let vj be the value processor i received from processor in j in step 2 using Algorithm OM(m-1) Processor i uses value majority( v1, v2, ..…, vn-1 )
  • 8. What is Majority If majority of values vi for each processor is majority( v1,v2,v3,……,vn-1 ) The majority value among the vi if it exists, otherwise the value 0 i.e. a value at which majority of processors agree on.
  • 9. Example 1 Processors p0, p1, p2, p3 Available values 0, 1 p2p1 p0 p3 1 1 1 p0 initiates agreement p0 executes algorithm OM(1) where it sends value 1 to all other processors When one receiving processor is faulty
  • 10. Example 1 Processors p0, p1, p2, p3 Available values 0, 1 p0 initiates agreement p0 executes algorithm OM(1) where it sends value 1 to all other processors p2p1 p0 p3 1 1 1 1 1 1 0 p1,p2,p3 executes OM(0) After receiving all messages, processors choose majority value p1(1,1,1) p2(1,1,1) they agree on p3(1,0,1) majority value 1 1 1
  • 11. Example 2 Processors p0, p1, p2, p3 Available values 0, 1 p2p1 p0 p3 1 0 1 p0 is faulty processor & initiates agreement p0 executes algorithm OM(1) where it sends value 1 to all other processors
  • 12. Example 2 Processors p0, p1, p2, p3 Available values 0, 1 p0 initiates agreement p0 executes algorithm OM(1) where it sends value 1 to all other processors p2p1 p0 p3 1 0 1 1 p1,p2,p3 executes OM(0) 1
  • 13. Example 2 Processors p0, p1, p2, p3 Available values 0, 1 p0 initiates agreement p0 executes algorithm OM(1) where it sends value 1 to all other processors p2p1 p0 p3 1 0 1 1 0 0 p1,p2,p3 executes OM(0) 1
  • 14. Example 2 Processors p0, p1, p2, p3 Available values 0, 1 p0 initiates agreement p0 executes algorithm OM(1) where it sends value 1 to all other processors p2p1 p0 p3 1 0 1 1 0 1 0 p1,p2,p3 executes OM(0) After receiving all messages, processors choose majority value P1(1,0,1) P2(1,0,1) they agree on P3(1,0,1) majority value 1 Hence, Byzantine agreement is satisfied 1 1
  • 15. Dolev et al.’s Algorithm Motivation behind Dolev et al.’s Algorithm? • Does not depend on behavior of faulty processor • Requires 2m+3 rounds • No Authentication required • It is polynomial time algorithm for reaching Byzantine Agreement
  • 16. Dolev et al.’s Algorithm Our Assumptions • Topology of network is known • Algorithm is synchronous i.e. time of each round is known • Without authentication immediate sender of message can be identified • No solution if the upper bound of faulty processor exceeds i.e. 1/3 of the processes
  • 17. Dolev et al.’s Algorithm • m is number of faulty processors • Two thresholds :- LOW = m + 1, HIGH = 2m + 1 • LOW is any subset of atleast one nonfaulty processors (Used to support assertion) • HIGH is any subset of atleast m + 1 nonfaulty processors (Used to confirm assertion) • Two Types of Message:- • “*” Message and a message containing name of processor
  • 18. Dolev et al.’s Algorithm • What is * Message? “*” denotes sender is sending value 1 • What is named message? denotes sender of the message received a “*” from a named processor. Every processor keeps a record of all messages it has received. Processor j is direct supporter of k if j directly receives “*” from k. When a nonfaulty processor j directly receives “*” from processor k, it sends message “k” to all other processors When processor i receives message “k” from processor j, it adds j into Wi x because j is a witness to message “k” Wi x is set of processors (witness) that have sent message x to processor i.
  • 19. Dolev et al.’s Algorithm k j * k k k i Wi k [ j,…..,] Witness for k message is j Processor j is direct supporter of k if j directly receives “*” from k. When a nonfaulty processor j directly receives “*” from processor k, it sends message “k” to all other processors When processor i receives message “k” from processor j, it adds j into Wi k because j is a witness to message “k” Wi k is set of processors (witness) that have sent message k to processor i. Processor i is indirect supporter of processor j if |Wi k|>= LOW Processor i confirms processor j if |Wi k|>= HIGH
  • 20. Dolev et al.’s Algorithm Four rules of operation: 1. In first round, the source broadcasts its value to all other processors 2. In round k > 1, processor broadcasts name of all processor for which it is either direct or indirect supporter. if it not yet initiated in previous round, it will broadcast “*” message 3. If processor confirms HIGH number of processor, it commits to a value of 1. 4. After round 2m+3, if the value 1 is committed, the processor agree on 1; Otherwise they agree on 0
  • 21. Dolev et al.’s Algorithm p1 p2 p3 p4 W* [1] W1 [] W2 [] W3 [] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] * * * Round 1 P1 initiates and sends *
  • 22. Dolev et al.’s Algorithm p1 p2 p3 p4 W* [1,3] W1 [] W2 [] W3 [] W4 [] W* [1,3] W1 [3] W2 [] W3 [] W4 [] W* [1,3] W1 [] W2 [] W3 [] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] * * **,1 * Round 1 Status Round 2
  • 23. Dolev et al.’s Algorithm p1 p2 p3 p4 W* [1,2,3] W1 [] W2 [] W3 [] W4 [] W* [1,2,3] W1 [3] W2 [] W3 [] W4 [] W* [1,2,3] W1 [2] W2 [] W3 [] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] * * **,1 * * *,1 Round 1 Status Round 2
  • 24. Dolev et al.’s Algorithm p1 p2 p3 p4 W* [1,2,3] W1 [2] W2 [] W3 [2] W4 [] W* [1,2,3] W1 [2,3] W2 [] W3 [2] W4 [] W* [1,2,3] W1 [2] W2 [] W3 [2] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] * * **,1 * * *,1 3,1 3,1 Round 2 Status Round 3
  • 25. Dolev et al.’s Algorithm p1 p2 p3 p4 W* [1,2,3] W1 [2,,3] W2 [3] W3 [2] W4 [] W* [1,2,3] W1 [2,3] W2 [3] W3 [2] W4 [] W* [1,2,3] W1 [2,3] W2 [] W3 [2] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] * * **,1 * * *,1 3,1 3,1 2,1 2,1 Round 2 Status Round 3
  • 26. Dolev et al.’s Algorithm p1 p2 p3 p4 W* [1,2,3] W1 [2,,3] W2 [3] W3 [2] W4 [] W* [1,2,3] W1 [2,3] W2 [3] W3 [1,2] W4 [] W* [1,2,3] W1 [2,3] W2 [1] W3 [2] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] * * **,1 * * *,1 3,1 3,1 2,1 2,12 3 Round 2 Status Round 3
  • 27. Dolev et al.’s Algorithm p1 p2 p3 p4 W* [1,2,3] W1 [1,2,3] W2 [1,3] W3 [1,2] W4 [] W* [1,2,3] W1 [1,2,3] W2 [1,3] W3 [1,2] W4 [] W* [1,2,3] W1 [1,2,3] W2 [1] W3 [1,2] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] * * **,1 * * *,1 3,1 3,1 2,1 2,12 31,2,3 1,2,3 Round 3 Status Round 4
  • 28. Dolev et al.’s Algorithm p1 p2 p3 p4 W* [1,2,3] W1 [1,2,3] W2 [1,2,3] W3 [1,2] W4 [] W* [1,2,3] W1 [1,2,3] W2 [1,2,3] W3 [1,2] W4 [] W* [1,2,3] W1 [1,2,3] W2 [1,2] W3 [1,2] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] * * **,1 * * *,1 3,1 3,1 2,1 2,12 31,2,3 1,2,3 1,2,3 1,2,3 Round 3 Status Round 4
  • 29. Dolev et al.’s Algorithm p1 p2 p3 p4 W* [1,2,3] W1 [1,2,3] W2 [1,2,3] W3 [1,2,3] W4 [] W* [1,2,3] W1 [1,2,3] W2 [1,2,3] W3 [1,2,3] W4 [] W* [1,2,3] W1 [1,2,3] W2 [1,2,3] W3 [1,2,3] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] * * **,1 * * *,1 3,1 3,1 2,1 2,12 31,2,3 1,2,3 1,2,3 1,2,3 1,2,3 1,2,3 Round 3 Status Round 4
  • 30. Dolev et al.’s Algorithm p1 p2 p3 p4 W* [1,2,3] W1 [1,2,3] W2 [1,2,3] W3 [1,2,3] W4 [] W* [1,2,3] W1 [1,2,3] W2 [1,2,3] W3 [1,2,3] W4 [] W* [1,2,3] W1 [1,2,3] W2 [1,2,3] W3 [1,2,3] W4 [] W* [1] W1 [] W2 [] W3 [] W4 [] * * **,1 * * *,1 3,1 3,1 2,1 2,12 31,2,3 1,2,3 1,2,3 1,2,3 1,2,3 1,2,3 An Agreement is reached in 4 rounds
  • 31. Papers Referred An Efficient Algorithm for Byzantine Agreement without Authentication https://www.sciencedirect.com/science/article/pii/S0019995882907768 The Byzantine Generals Problem https://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdf

Editor's Notes

  1. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  2. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  3. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  4. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  5. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  6. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  7. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  8. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  9. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  10. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  11. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  12. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.
  13. Processor i is indirect supporter of processor j if |Wix|>= LOW --------------- i.e. process i has received message “k” from at least LOW no of processors =============== Processor i confirms processor j if |Wix|>= HIGH --------------- i.e. at least HIGH no of processors told processor i that they received the value of 1 from processor k.