This document compares three distributed hash table (DHT) protocols: Tapestry, Chord, and Kademlia. It analyzes their performance using a simulator under varying parameters like stabilization interval, number of backup nodes, number of successors, and number of parallel lookups. The analysis seeks to determine the optimal cost-performance tradeoff for each protocol based on metrics like lookup latency and number of messages sent. Key differences between the protocols are described, such as Tapestry using a 160-bit identifier space, Chord arranging nodes in a circular identifier space and using a finger table for routing, and Kademlia storing contacts in buckets and finding closer nodes through iterative lookups. Simulation results are used to compare the protocols