210 likes | 335 Views
Social Networks and Peer to Peer. As Presented by Jeremy Robinson 3/22/2007. What 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. SPROUT Introduction.
E N D
Social Networks and Peer to Peer As Presented by Jeremy Robinson 3/22/2007
What 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
SPROUTIntroduction • 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.
SPROUTIntroduction • 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.
SPROUTTrust 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 A’s message is proportional to distance between A’s owner and B’s owner.
SPROUTTrust 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
SPROUTPath 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)
SPROUTSocial 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.
SPROUTOptimization • 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.
SPROUTSimulations • 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.
Performance 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.
SPROUTMessage 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.
Searching Social Networks • Only small bit pertains to P2P • P2P uses brute force to find things, they propose a referral agent system. • Most P2P algorithms don’t 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.
The End • Questions??