1 / 17

Teaching tool for the byzantine general problem

Joshua Dunn Ryhan Pathan Joshua Strange. Teaching tool for the byzantine general problem. Abstract.

jory
Télécharger la présentation

Teaching tool for the byzantine general problem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Joshua Dunn RyhanPathan Joshua Strange Teaching tool for the byzantine general problem

  2. Abstract • There is a lack of sufficient visualization tools for assisting first-time learners in understanding solutions to the Byzantine Generals problem, specifically the Lamport, Shostak, and Pease Algorithm. Furthermore, we feel that the algorithm is complex enough to necessitate some manner of illustration in order to grasp. To address this issue, we have created such a tool using Java Swing as well as the GraphViz software suite.

  3. Scenario • There exist several divisions of the Byzantine army surrounding an enemy city. Each division is commanded by its own general. • The generals need to settle upon a single course of action, attack or retreat, while only being capable of communicating via messenger. However, some of the generals may be traitors trying to confound the process of reaching an agreement. • The generals must have a method that operates within these constraints to guarantee that all the loyal generals arrive at the same course of action, and that a small number of traitors cannot cause the army as a whole to arrive at an undesirable decision.

  4. Constraints • More than 2/3 of generals must be loyal • All messages are delivered successfully without malicious modification • Sender's identity is readily apparent • Number of traitors is known but not their identities

  5. Execution • A commanding general begins by sending a signed, unforgeable order to each other general. • Each general other than the commander then copies this message, appending his own signature, also unforgeable, and sends it to every other general excluding the commander. Note that in this step, a traitor may choose to relay a conflicting order, but he cannot provide a signature that is not his own. • The generals continue sending messages in rounds, discarding messages which they have already signed, until the number of rounds exceeds the number of traitors by one. • Each general takes all of the messages he has received and sorts them based on the number of signatures. He then lays them out in a tree format such that each message is the child of a message whose path is the prefix of the current message's path. • At each level of the tree, a majority decision is reached and propagated to the parent. This process is continued until the root node of the tree contains a decision. This is the general's final decision.

  6. Data Structures • Message • General

  7. Message • Value • Path • Decision • Traitor Status

  8. General • Type • ID • Sent Messages • Received Messages • Decision Messages

  9. Stage 1: Message Passing • m + 1 rounds of message passing, where m is the number of traitors • Messages sent and received instantaneously • Initially Commander issues messages to all other generals • In remaining rounds, generals append their ID to the path of each message received, and send it to all other generals if it does not create a cycle • Traitors randomize value of message before sending

  10. Stage 2: Decision Making • Received messages arranged in tree • At outermost branches, received message set as decision • Each parent node sets decision as majority of its children's decisions

  11. Prototype

  12. Lessons Learned • Impracticality of sent messages panel • Addition of sent and received message panels

  13. Lessons Learned • Addition of metrics panel • Lowered maximum number of generals from 10 to 8 due to unreasonable runtimes and unmanageable graphs

  14. Statistics • Equation to calculate total messages given n total generals and m traitors: • For n=10 and m=10, a total of 8,887,690 messages are sent (986,409 messages from each general). On our machine this case had a runtime of 608 seconds. • For n=8 and m=8, a total of 95,900 messages are sent (13,699 messages from each general). On our machine this case had a runtime of 3.5 seconds.

  15. Runtime

  16. Messages Passed

  17. Messages Passed

More Related