250 likes | 306 Views
This research focuses on combating Sybil attacks in P2P systems by proposing a distributed and oblivious heap model based on dynamic de Bruijn networks. The approach ensures network robustness, scalability, and efficient routing. By strategically connecting to older peers and utilizing preferential attachment graphs, the system remains resilient against various threats. The continuous de Bruijn graph structure and hierarchical organization in SHELL provide a reliable framework for peer integration and adaptation with low congestion. The methodology allows for efficient joins and leaves, maintaining network integrity despite potential attacks. Overall, the proposed SHELL system offers a scalable and secure distributed heap solution for P2P networks.
E N D
A Distributed andOblivious Heap Christian Scheideler and Stefan Schmid Dept. of Computer Science University of Paderborn
Motivation P2P systems: significantamountofattention. Holy grail: P2P systemsthatarehighlyscalableandrobust Internet
Motivation P2P systemsfacemanythreats:stop/failattacks, join/leaveattacks, Eclipseattacks, Sybil attacks, Denial-of-Service attacks, contentpollution,… Internet
Sybil Attacks Goal:floodnetworkwithfakepeers Effect:disconnectgoodpeers, dropmessages, dropormanipulatedata,… Internet
Sybil Attacks Previoussolutions: • Douceur 02: Usetrustedauthoritytolimitgenerationofidentities • Bazzi et al. 05/06: Limit identitiescreatedat a particularlocation (e.g., withinan ISP) ofthe Internet • Danezis et al. 05, Yu et al. 06: Network based on socialcontacts • Margolin & Levine 07: Game theory General approach: addconstraints Ourapproach: working P2P networkdespiteSybil attacks
OurApproach Connect totheolderpeers!
Our Approach Similartopreferentialattachmentgraphs. Hope:peersalready in thesystemwhen Sybil attackstartsare not affectedby it. Network Entry Point 28 26 23 21 20 19 18 17 16 9 10 3
Howtoconnecttoolderpeers? Naive solution: Connection todolderpeerschosenuniformlyatrandom: • Howtojoinandleaveefficiently? • Not a self-routingtopology! Better: distributedheapbased on de Bruijngraph 3 2 1 5 4
01 00 11 10 Dynamic de Bruijn Network Classicalnetworktheory: familyofgraphs Example: d-dim. de BruijngraphG=(V,E) • V = {0,1}d • E = { {x,y} | x=(x1,…,xd), y=(b,x1,…,xd-1), forsome b{0,1} } Weneed: dynamic form ofde Bruijngraph (nodesjoinandleave)
Dynamic de Bruijn Network Example: d-dim. de BruijngraphG=(V,E) • V = {0,1}d • E = { {x,y} | x=(x1,…,xd), y=(b,x1,…,xd-1), forsome b{0,1} } • Represent(x1,…,xd) as0.x1 x2…xd [0,1), e.g. 0.101 = 1(1/2) + 0(1/4) + 1(1/8) • Letd
Dynamic de Bruijn Network Example: d-dim. de BruijngraphG=(V,E) • V = {0,1}d • E = { {x,y} | x=(x1,…,xd), y=(b,x1,…,xd-1), forsome b{0,1} } Resultford: • V = [0,1) • E = { {x,y}[0,1)2| y=x/2 ory=(1+x)/2 }
Dynamic de Bruijn Network Continuous de Bruijngraph: • V = [0,1) • E = { {x,y}[0,1)2 | y=x/2 or y=(1+x)/2 } R´ R 0 1 ForanytworegionsR, R´: {x,y}E: (x,y)RxR´or(x,y)R´xR: eachpeer in Rto all olderpeers in R´ • cut[0,1) intoregionsof same size • assignpeerstorandompoints in [0,1)
Dynamic de Bruijn Network Continuous de Bruijngraph: • V = [0,1) • E = { {x,y}[0,1)2 | y=x/2 or y=(1+x)/2 } 0 1 Dilemma:foranyfixedregionsize EITHER : noneighbors OR : toomanyneighbors
SHELL SHELL: Hierarchyof de Bruijnnetworks
SHELL SHELL: distributedheapbased on age
SHELL Foreverynodev: • vhasforwardedgestoolderpeers in itshomeregionand de Bruijnregions • vhasbackwardedgesto all peersthathaveforwardedgestoit • Level ofvisthelowest s.t. v´shomeregioncontainsat least c log nvoldernodes in thisandhigherlevels(nv: total # nodesolderthanv) (Howdoes v know?) Forward degree: O(log n), backwarddegree: O(log2 n) (w.h.p., based on randompositionsofpeers)
SHELL Routing betweentwopeers v and w: • usedeBruijnroutingalongforwardedgestillregionofw reached • descendalongbackwardedgestillwreached 1. v 2. w
SHELL Routing betweentwonodes v and w: • usedeBruijnroutingalongforwardedgestillregionofw reached • descendalongbackwardedgestillwreached 1. v forwardedge youngestpeer
SHELL Routing betweentwonodes v and w: • usedeBruijnroutingalongforwardedgestillregionofw reached • descendalongbackwardedgestillwreached Nice properties: • Onlynodesvisitedthatareat least asoldasvandw • Wheneverynodevsends packet torandomw, congestionatmostO(log2 n) w.h.p.
SHELL Join(v): • find rightregion in rightlevelprescribedby order nvandrandompointassignedtovO(log n) time w.h.p. (userouting) • integratevinto SHELL andadaptregionsofneighbors (ifneeded)O(1) time, O(log2 n)workw.h.p. (forgeneralheap) v Join/leave verkehrt!! w Expected O(1) lifts per level O(log n) work per liftw.h.p.
SHELL Leave(v): • Remove vfrom SHELL andadaptregionsofneighbors (ifneeded)O(1) time, O(log2 n)workw.h.p. v Expected O(1) drops per level w O(log n) work per dropw.h.p.
SHELL Problem: nodevneedstoestimateits order nv(i.e. # nodesolderthan v) Solution: • B(j): numberofnodes in homeregionofv in leveljthatareolderthanv • vfindslargestj so thatj < B(j)/c – log B(j) Chosen leveldeviatesby1from ideal levelw.h.p.
Distributed Heaps Concurrentheaps: • Shavit & Zemach 99: skipqueue • Shavit & Zemach 00: funneltree not applicable in ourcontext Distributed heaps: • Bhargava et al. 04: PAGODAjoin/leave: O(log2 n) time andwork
Main Results Theorem:Forany Sybil attack after stept0, all peersthatwere in the SHELL systembeforet0can still performreliableandefficientrouting (andbased on that, also datamanagement). SHELL can also beappliedasscalable, low-congestionnetworkforpeerswitharbitrarybandwidths.
Conclusion SHELL:distributedheapwithessentially optimal runtimeforrouting, joiningandleaving Future tasks: • Bettercongestion (O(log2 n) down toO(log n)) • Locality • Realization?