150 likes | 306 Views
University of Parma Department of Information Engineering Parma, Italy. Byzantine Generals Problem in the Light of P2P Computing. Natalya Fedotova Luca Veltri International Workshop on Ubiquitous Access Control July 17, 2006 – San Jose, California, USA. DHT based P2P networks.
E N D
University of Parma Department of Information Engineering Parma, Italy Byzantine Generals Problem in the Light of P2P Computing Natalya Fedotova Luca Veltri International Workshop on Ubiquitous Access Control July 17, 2006 – San Jose, California, USA
DHT based P2P networks • Efficient routing performance • High scalability • High exact-match accuracy of search • Simple API Byzantine generals problem in the light of P2P computing
DHT based P2P networks Main types of attacks: • Incorrect lookup routing • Incorrect routing updates • Partition • Rapid joins and leaves • Inconsistent behavior • Storage and retrieval attack Byzantine generals problem in the light of P2P computing
Byzantine Generals Problem • Takes place in distributed computer systems in the presence of malfunctioning components that give conflicting information to other parts of the system • Causes a Byzantine failure, an arbitrary fault that occurs during the execution of some algorithm by a distributed computer system, and as a result: • a failure to pass to the next step in the algorithm • system’s inability to correctly implement the actual algorithm • arbitrary execution of a step different from one predicated by the algorithm (incorrect hops) • Originally described by L.Lamport, R.Shostak and M.Pease in 1982, who were the first to apply the concept of BGP to distributed computer systems Byzantine generals problem in the light of P2P computing
Byzantine Generals Problem: the original concept • There are n generals of Byzantine army with their divisions • They have to reach an agreement on a common plan of action • These generals are geographically separated and they have to communicate with each other through messengers • Some of them are traitors Byzantine generals problem in the light of P2P computing
Byzantine Generals Problem: the original concept To cope witht traitors there must be at least 3t +1 generals and, given the possibility for all generals to exchange the messages with each other, must exist some recursive algorithm of information exchange, equal for all generals, so, that: • all generals make the final decisions • all loyal generals decide upon the same plan of action • this final plan of loyal generals must coincide with final decision of one loyal general at least Byzantine generals problem in the light of P2P computing
generals traitors false information impossibility of agreement on a common decision nodes misbehaving nodes incorrect routing information impossibility of efficient hash lookup Byzantine Generals Problem in DHT based P2P environment It is possible to apply some approaches used in the case of Byzantine failure Byzantine generals problem in the light of P2P computing
Byzantine Generals Problem in DHT based P2P environment Problems of application: • great number of participants • permanent joins and leaves • one node cannot contact directly all others • the number of messages circulating on the network during the process of traitor detection using the algorithm by Lamport, Shostak & Pease is: Nmsg = (n - 1)(n – 2) ... (n – t – 1) = (n – 1)! / t! increase of the traffic and the overload of the network Byzantine generals problem in the light of P2P computing
Byzantine Generals Problem in DHT based P2P environment Proposed approach: • let’s consider P2P network as a number of peer groups individuated by some principle • each node launches the algorithm only within its group, and then: Nmsg = ((ni - 1)(ni – 2) ... (ni – ti – 1))×k ni – the average number of nodes in one group formed around one given node i; ti – the average number of traitors in one group; k – the number of groups on the network • for small groups of peers the classical solution of BGP by Lamport and Shostak becomes efficient Byzantine generals problem in the light of P2P computing
Possible criteria to individuate the groups • the most frequent contacts among the nodes • common interests • “closeness” of identifiers according to XOR-metric Byzantine generals problem in the light of P2P computing
“Codat” concept as one of possible mechanisms to individuate the groups Codat = Code + Data • originally described by JXTA platform developers • is a unit of information shared and exchanged within a peer group • means a content that could be either code or data and is used as a placeholder for any types of data • is uniquely identified via a unique CodatID and can belong to only one peer group • contains a document (a content advertisement) that represents the data it holds Byzantine generals problem in the light of P2P computing
Diagrams of Nm change at k increased for t = 1/5N (N – the number of nodes in the network ) Byzantine generals problem in the light of P2P computing
Diagrams of Nm change at k increased for t = 1/3N (N – the number of nodes in the network ) Byzantine generals problem in the light of P2P computing
Conclusions • it is possible to apply successfully the classical solutions for BGP by Lamport and Shostak in P2P environment • application of these solutions helps to reduce the number of messages circulating on the network BUT: • here only completely separated groups are considered • in this case we deal with the malicious node who demonstrates poor behavior regarding all the nodes Byzantine generals problem in the light of P2P computing
Future work • What other mechanisms can we use to individuate a group? • How can we optimize the algorithm of the traitor detection process in the case of partially coinciding groups? • How can we integrate the solutions we have just presented with some mechanisms of reputation evaluation? Byzantine generals problem in the light of P2P computing