SlideShare a Scribd company logo
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

Two pass Assembler
Two pass AssemblerTwo pass Assembler
Two pass Assembler
Satyamevjayte Haxor
 
Deadlock ppt
Deadlock ppt Deadlock ppt
Deadlock ppt
Sweetestangel Kochar
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
Ashish Kumar
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
MNM Jain Engineering College
 
Resource management
Resource managementResource management
Resource management
Dr Sandeep Kumar Poonia
 
DeadLock in Operating-Systems
DeadLock in Operating-SystemsDeadLock in Operating-Systems
DeadLock in Operating-Systems
Venkata Sreeram
 
6 multiprogramming & time sharing
6 multiprogramming & time sharing6 multiprogramming & time sharing
6 multiprogramming & time sharing
myrajendra
 
Transport layer
Transport layer Transport layer
Transport layer
Mukesh Chinta
 
Join ordering in fragment queries
Join ordering in fragment queriesJoin ordering in fragment queries
Join ordering in fragment queries
Ifzalhussainkhan
 
CPU Scheduling in OS Presentation
CPU Scheduling in OS  PresentationCPU Scheduling in OS  Presentation
CPU Scheduling in OS Presentation
usmankiyani1
 
Operating Systems Process Scheduling Algorithms
Operating Systems   Process Scheduling AlgorithmsOperating Systems   Process Scheduling Algorithms
Operating Systems Process Scheduling Algorithms
sathish sak
 
message passing
 message passing message passing
message passing
Ashish Kumar
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
Dilum Bandara
 
Directory and discovery services
Directory and discovery servicesDirectory and discovery services
Directory and discovery services
RamchandraRegmi
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
Prajakta Rane
 
Classical problem of synchronization
Classical problem of synchronizationClassical problem of synchronization
Classical problem of synchronization
Shakshi Ranawat
 
Distributed deadlock
Distributed deadlockDistributed deadlock
Distributed deadlock
Md. Mahedi Mahfuj
 
Dempster shafer theory
Dempster shafer theoryDempster shafer theory
Dempster shafer theory
Dr. C.V. Suresh Babu
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
Alagappa Govt Arts College, Karaikudi
 
Inter Process Communication
Inter Process CommunicationInter Process Communication
Inter Process Communication
Anil Kumar Pugalia
 

What's hot (20)

Two pass Assembler
Two pass AssemblerTwo pass Assembler
Two pass Assembler
 
Deadlock ppt
Deadlock ppt Deadlock ppt
Deadlock ppt
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
 
Resource management
Resource managementResource management
Resource management
 
DeadLock in Operating-Systems
DeadLock in Operating-SystemsDeadLock in Operating-Systems
DeadLock in Operating-Systems
 
6 multiprogramming & time sharing
6 multiprogramming & time sharing6 multiprogramming & time sharing
6 multiprogramming & time sharing
 
Transport layer
Transport layer Transport layer
Transport layer
 
Join ordering in fragment queries
Join ordering in fragment queriesJoin ordering in fragment queries
Join ordering in fragment queries
 
CPU Scheduling in OS Presentation
CPU Scheduling in OS  PresentationCPU Scheduling in OS  Presentation
CPU Scheduling in OS Presentation
 
Operating Systems Process Scheduling Algorithms
Operating Systems   Process Scheduling AlgorithmsOperating Systems   Process Scheduling Algorithms
Operating Systems Process Scheduling Algorithms
 
message passing
 message passing message passing
message passing
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
 
Directory and discovery services
Directory and discovery servicesDirectory and discovery services
Directory and discovery services
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
 
Classical problem of synchronization
Classical problem of synchronizationClassical problem of synchronization
Classical problem of synchronization
 
Distributed deadlock
Distributed deadlockDistributed deadlock
Distributed deadlock
 
Dempster shafer theory
Dempster shafer theoryDempster shafer theory
Dempster shafer theory
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
Inter Process Communication
Inter Process CommunicationInter Process Communication
Inter Process Communication
 

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 123
DeeshaKhamar1
 
Chapter 6 synchronization
Chapter 6 synchronizationChapter 6 synchronization
Aggrement protocols
Aggrement protocolsAggrement protocols
Aggrement protocols
Mayank Jain
 
Os3
Os3Os3
Os3
issbp
 
Os unit 3
Os unit 3Os unit 3
Os unit 3
Krupali Mistry
 
Flexible Symmetric Global Snapshot
Flexible Symmetric Global Snapshot Flexible Symmetric Global Snapshot
Flexible Symmetric Global Snapshot
Ashutosh Jaiswal
 
LBM 1
LBM 1LBM 1
Process Synchronization -1.ppt
Process Synchronization -1.pptProcess Synchronization -1.ppt
Process Synchronization -1.ppt
jayverma27
 
Distributed System
Distributed System Distributed System
Distributed System
Nitesh Saitwal
 
SCP
SCPSCP
Python tutorialfeb152012
Python tutorialfeb152012Python tutorialfeb152012
Python tutorialfeb152012
Shani729
 
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 / Rapor
A. 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.pptx
hardmarcelia
 
stop and wait
stop and waitstop and wait
stop and wait
swati463221
 
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
Vincenzo 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 Consensus
Osama Askoura
 
The byzantine generals problem
The byzantine generals problemThe byzantine generals problem
The byzantine generals problem
NGUYEN VAN LUONG
 
Randomized Byzantine Problem by Rabin
Randomized Byzantine Problem by RabinRandomized Byzantine Problem by Rabin
Randomized Byzantine Problem by Rabin
Kishor Datta Gupta
 
14 queuing
14 queuing14 queuing
14 queuing
Dian Saputra
 

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 Verification
AJAY 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 SDN
AJAY 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 Challenges
AJAY 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 Simulation
AJAY 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 Systems
AJAY 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 Road
AJAY 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 Switches
AJAY 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 Programs
AJAY KHARAT
 
Mutual exclusion in distributed systems
Mutual exclusion in distributed systemsMutual exclusion in distributed systems
Mutual exclusion in distributed systems
AJAY 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 os
AJAY 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

Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENTNATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
Addu25809
 
Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...
cannyengineerings
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
Dwarkadas J Sanghvi College of Engineering
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
AlvianRamadhani5
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Zener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and ApplicationsZener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and Applications
Shiny Christobel
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
uqyfuc
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
mahaffeycheryld
 
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptxSENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
b0754201
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 
Accident detection system project report.pdf
Accident detection system project report.pdfAccident detection system project report.pdf
Accident detection system project report.pdf
Kamal Acharya
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
Kamal Acharya
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Transcat
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
sachin chaurasia
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 

Recently uploaded (20)

Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENTNATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
 
Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Zener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and ApplicationsZener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and Applications
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
 
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptxSENTIMENT ANALYSIS ON PPT AND Project template_.pptx
SENTIMENT ANALYSIS ON PPT AND Project template_.pptx
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 
Accident detection system project report.pdf
Accident detection system project report.pdfAccident detection system project report.pdf
Accident detection system project report.pdf
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 

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.