Byzantine Generals Problem in the Light of P2P Computing

Download Report

Transcript Byzantine Generals Problem in the Light of P2P Computing

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
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
2
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
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
3
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
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
4
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
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
5
Byzantine Generals Problem:
the original concept
To cope with t 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
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
6
Byzantine Generals Problem in DHT
based P2P environment
generals
traitors
false information
impossibility of agreement on
a common decision
nodes
misbehaving nodes
incorrect routing information
impossibility of efficient
hash lookup
It is possible to apply some approaches used in the case of
Byzantine failure
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
7
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
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
8
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
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
9
Possible criteria to individuate the
groups

the most frequent contacts among the nodes

common interests

“closeness” of identifiers according to XOR-metric
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
10
“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
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
11
180
160
140
N = 1000000
120
ln(Nm)
100
N = 10000
80
N = 100000
60
N = 1000
40
N = 100
20
0
4
16
8
64
32
256
128
1024
512
4096
2048
16384
8192
65536
32768
262144
131072
524288
k
Diagrams of Nm change at k increased for t = 1/5N
(N – the number of nodes in the network )
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
12
300
280
260
240
220
200
180
160
140
120
100
80
60
40
20
0
N = 1000000
ln(Nm)
N = 100000
N = 10000
N = 10
N = 1000
N = 100
8
32
128
2048
512
16384
4096
1024
256
64
16
4
8192
32768
65536
262144
131072
524288
k
Diagrams of Nm change at k increased for t = 1/3N
(N – the number of nodes in the network )
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
13
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
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
14
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?
IWUAC - July 17, 2006
Byzantine generals problem in the light of P2P computing
15