MiniProject DS
MiniProject DS
1. Introduction
This project demonstrates how distributed systems can handle faults and still reach an agreement,
inspired by the Byzantine Generals Problem. Using Python sockets, it simulates a network of
four processes—P, Q, R, and S—that must agree on a decision, even if one process behaves
unpredictably.
2. What It Uses
3. How It Works
System Setup
Message Format
Simulating Faults
● Process P sends inconsistent messages (e.g., 'Attack' to one process and 'Retreat' to
another).
● Other processes stick to the rules and act correctly.
5. Observations
Even though Process P sends conflicting messages, the majority voting algorithm filters out the
noise. All other processes successfully agree on a decision—'Retreat'—demonstrating that the
system can handle faults and still maintain consensus.