Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Distributed and Oblivious Heap Christian Scheideler and Stefan Schmid Dept. of Computer Science University of Paderborn.

Similar presentations


Presentation on theme: "A Distributed and Oblivious Heap Christian Scheideler and Stefan Schmid Dept. of Computer Science University of Paderborn."— Presentation transcript:

1 A Distributed and Oblivious Heap Christian Scheideler and Stefan Schmid Dept. of Computer Science University of Paderborn

2 Motivation P2P systems: significant amount of attention. Holy grail: P2P systems that are highly scalable and robust Internet

3 Motivation P2P systems face many threats: stop/fail attacks, join/leave attacks, Eclipse attacks, Sybil attacks, Denial-of-Service attacks, content pollution,… Internet

4 Sybil Attacks Goal: flood network with fake peers Effect: disconnect good peers, drop messages, drop or manipulate data,… Internet

5 Sybil Attacks Previous solutions: Douceur 02: Use trusted authority to limit generation of identities Bazzi et al. 05/06: Limit identities created at a particular location (e.g., within an ISP) of the Internet Danezis et al. 05, Yu et al. 06: Network based on social contacts Margolin & Levine 07: Game theory General approach: add constraints Our approach: working P2P network despite Sybil attacks

6 Our Approach Connect to the older peers!

7 Our Approach Similar to preferential attachment graphs. Hope: peers already in the system when Sybil attack starts are not affected by it. 28 23 21 26 18 17 20 19 16 9 10 3 Network Entry Point

8 How to connect to older peers? Naive solution: Connection to d older peers chosen uniformly at random: How to join and leave efficiently? Not a self-routing topology! Better: distributed heap based on de Bruijn graph 1 4 5 32

9 Dynamic de Bruijn Network Classical network theory: family of graphs Example: d-dim. de Bruijn graph G=(V,E) V = {0,1} d E = { {x,y} | x=(x 1,…,x d ), y=(b,x 1,…,x d-1 ), for some b  {0,1} } We need: dynamic form of de Bruijn graph (nodes join and leave) 00 01 10 11

10 Dynamic de Bruijn Network Example: d-dim. de Bruijn graph G=(V,E) V = {0,1} d E = { {x,y} | x=(x 1,…,x d ), y=(b,x 1,…,x d-1 ), for some b  {0,1} } Represent (x 1,…,x d ) as 0.x 1 x 2 …x d  [0,1), e.g. 0.101 = 1  (1/2) + 0  (1/4) + 1  (1/8) Let d 

11 Dynamic de Bruijn Network Example: d-dim. de Bruijn graph G=(V,E) V = {0,1} d E = { {x,y} | x=(x 1,…,x d ), y=(b,x 1,…,x d-1 ), for some b  {0,1} } Result for d  : V = [0,1) E = { {x,y}  [0,1) 2 | y=x/2 or y=(1+x)/2 }

12 Dynamic de Bruijn Network Continuous de Bruijn graph: V = [0,1) E = { {x,y}  [0,1) 2 | y=x/2 or y=(1+x)/2 } 01 For any two regions R, R´:  {x,y}  E: (x,y)  RxR´ or (x,y)  R´xR: each peer in R to all older peers in R´ cut [0,1) into regions of same size assign peers to random points in [0,1) RR´

13 Dynamic de Bruijn Network Continuous de Bruijn graph: V = [0,1) E = { {x,y}  [0,1) 2 | y=x/2 or y=(1+x)/2 } 01 Dilemma: for any fixed region size EITHER : no neighbors OR : too many neighbors

14 SHELL SHELL: Hierarchy of de Bruijn networks

15 SHELL SHELL: distributed heap based on age

16 SHELL For every node v: v has forward edges to older peers in its home region and de Bruijn regions v has backward edges to all peers that have forward edges to it Level of v is the lowest s.t. v´s home region contains at least c log n v older nodes in this and higher levels (n v : total # nodes older than v) (How does v know?) Forward degree: O(log n), backward degree: O(log 2 n) (w.h.p., based on random positions of peers)

17 SHELL Routing between two peers v and w: 1.use deBruijn routing along forward edges till region of w reached 2.descend along backward edges till w reached v w 1. 2.

18 SHELL Routing between two nodes v and w: 1.use deBruijn routing along forward edges till region of w reached 2.descend along backward edges till w reached v 1. forward edge youngest peer

19 SHELL Routing between two nodes v and w: 1.use deBruijn routing along forward edges till region of w reached 2.descend along backward edges till w reached Nice properties: Only nodes visited that are at least as old as v and w When every node v sends packet to random w, congestion at most O(log 2 n) w.h.p. 

20 SHELL Join(v): 1.find right region in right level prescribed by order n v and random point assigned to v O(log n) time w.h.p. (use routing) 2.integrate v into SHELL and adapt regions of neighbors (if needed) O(1) time, O(log 2 n) work w.h.p. (for general heap) v wExpected O(1) lifts per level O(log n) work per lift w.h.p. Join/leave verkehrt!!

21 SHELL Leave(v): Remove v from SHELL and adapt regions of neighbors (if needed) O(1) time, O(log 2 n) work w.h.p. v w Expected O(1) drops per level O(log n) work per drop w.h.p.

22 SHELL Problem: node v needs to estimate its order n v (i.e. # nodes older than v) Solution: B(j): number of nodes in home region of v in level j that are older than v v finds largest j so that j < B(j)/c – log B(j) Chosen level deviates by  1 from ideal level w.h.p.

23 Distributed Heaps Concurrent heaps: Shavit & Zemach 99: skip queue Shavit & Zemach 00: funnel tree not applicable in our context Distributed heaps: Bhargava et al. 04: PAGODA join/leave: O(log 2 n) time and work

24 Main Results Theorem: For any Sybil attack after step t 0, all peers that were in the SHELL system before t 0 can still perform reliable and efficient routing (and based on that, also data management). SHELL can also be applied as scalable, low- congestion network for peers with arbitrary bandwidths.

25 Conclusion SHELL: distributed heap with essentially optimal runtime for routing, joining and leaving Future tasks: Better congestion (O(log 2 n) down to O(log n)) Locality Realization?


Download ppt "A Distributed and Oblivious Heap Christian Scheideler and Stefan Schmid Dept. of Computer Science University of Paderborn."

Similar presentations


Ads by Google