Chord: http://nms.lcs.mit.edu/papers/chord.pdf
I think this paper amazing because it solves a complex problem with a simple solution. How do you create a hash function that adjust to the varying number of underlying buckets ? Solution: hash to a circle.