💽 Overview

DHTs are a technique for looking up stuff in P2P systems. Ex of DHTs: Napster, Chord, everything else in this lecture

Regular Hash Table Distributed Hash Table
inserts, deletes, lookups in O(1) with key inserts, deletes, lookups in O(1) (not really but they try to be as close as possible) with key
object being inserted is like a key, value pair object being inserted is typically a key, a whole file

Challenges

Introducers + DNS


📊 P2P Systems Analysis

Memory Lookup Latency # Messages for lookup
Napster O(1) @ client
O(N) @ server O(1) O(1)
Gnutella O(N) O(N) O(N)
**Chord
Pastry** O(logN) O(logN) O(logN)
Kelips O(sqrtN) O(1)