Title: Social Networks and Peer to Peer
1Social Networks and Peer to Peer
- As Presented by Jeremy Robinson
- 3/22/2007
2What is a social network?
- A social network is a social structure of nodes
tied together by one or more specific types of
relations. - Examples
- Classmates.com
- Friendster
- Myspace
- Facebook
3SPROUTIntroduction
- Why do we need it?
- P2P vulnerable to routing Denial of Service
Attacks - Misrouting attacks
- What is misrouting?
- Any failure by a node to forward a message to the
appropriate peer according to the correct routing
algorithm.
4SPROUTIntroduction
- Malicious users
- Masquerade as index owner of keys
- Can acquire several valid network identifiers to
control multiple nodes Sybil attack. - Can avoid this by sending messages only to
trusted nodes like people we know personally
perhaps in a real life social context. - They propose to use existing social network
services to build P2P Networks to add highly
trusted links at little additional cost.
5SPROUTTrust Model
- Big Assumption
- Friends are not likely to be selfish or
malicious. - Also, friends of friends are also unlikely to be
malicious. - Also assume that likelihood that B purposefully
misroutes As message is proportional to distance
between As owner and Bs owner.
6SPROUTTrust Function
- T ( A, B) is the trust A has in B
- Probability f 0.95 that friends will route
correctly, 0.90 that friends friends route
correctly, 0.85 that friends friends friends
route correctly and so on. - Probability r 0.6 that any random node will
route correctly. - This means 40 of randoms are malicious
7SPROUTPath Rating
- Path trust rating, P, found by multiplying
separate node trust ratings for each node. - Source node S, Destination D
- P T(S,A) T(S,B) T(S,C) T(S,D)
8SPROUTSocial Path Routing Algorithm
- Build a DHT routing algorithm built on basic
Chord algorithm. - Can be applied to other DHT designs like CAN or
Pastry. - Like in Chord, user joins, gets randomly assigned
a network identifier. Establishes links to
sequential neighbors, but THEN add additional
links to any friends that are online. - Most popular instant messenger services keep user
aware of when friends enter or leave network.
9SPROUTSocial Path Routing Algorithm
10SPROUTOptimization
- Lookahead
- Can see friends friends
- Minimum Hop Distance MHD
- May have friend at each sequential neighbor,
gives worst case routing O(n). - Use MHD of 0.25 then next friend must be at least
a quarter away, or we use Chord.
11SPROUTSimulations
- Used data from Club Nexus community website at
Stanford University. - About 2200 users, on average each node had about
8 links. - Also ran experiments on 130,000 AOL Instant
Messenger users. - Used f 0.95 and r 0.6.
12SPROUT VS. CHORD
Avg. Path Length Avg. Reliability
Regular Chord 5.343 0.3080
Augmented Chord 4.532 0.3649
SPROUT(1,0.5) 4.569 0.4661
13Evaluating Lookahead and MHD
MHD Lookahead Lookahead Lookahead Lookahead Lookahead Lookahead
MHD None None 1 - level 1 - level 2 - level 2 - level
MHD Length Rating Length Rating Length Rating
0 4.875 0.4068 5.101 0.4420 5.378 0.4421
0.125 4.805 0.4070 5.003 0.4464 5.258 0.4478
0.25 4.765 0.4068 4.872 0.4525 5.114 0.4551
0.5 4.656 0.4033 4.569 0.4661 4.757 0.4730
14Performance of SPROUT and AC
Fig. 1. Performance of SPROUT and AC in different
size Small World networks. The third curve shows
the relative performance of SPROUT with respect
to AC, plotted on the right-hand y-axis. Note
that the x-axis is logscale.
15SPROUTCalculating Trust
16(No Transcript)
17SPROUTMessage Load
- Biggest problem for SPROUT
- Uneven distribution. Load bigger than AC.
- Can use as advantage,
- One highly connected large capacity node
increases reliability and decreases load on other
nodes.
18(No Transcript)
19Searching Social Networks
- Only small bit pertains to P2P
- P2P uses brute force to find things, they propose
a referral agent system. - Most P2P algorithms dont fit social networks
because they cannot be partitioned by IP address.
Also P2P have fixed routing tables for each node
so network is not reconfigurable.
20The End