Distributed Hash Tables, Part I

Distributed hash tables are an essential component of robust peer-to-peer networks. Learn to write applications that let everyone's copy share the same data.

In this installment of our two-part series, we discussed the theory behind building DHTs. Next time, we'll talk about practical issues in using DHTs in real-world applications.

Brandon Wiley is a peer-to-peer hacker and current president of the Foundation for Decentralization Research, a nonprofit corporation empowering people through technology. He can be contacted at blanu@decentralize.org.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Wrong Algorithm

Bob-PT's picture

the last else in distance should return (2**k)-(b-a), otherwise id would exceed the longest possible distance, i.e. the ring size.
Btw, nice article ;)

Re: Wrong Algorithm

DougC's picture

After the last else in the distance function, b < a, so (b-a) is negative. The sum of (2**k) and (b-a) will still be less than (2**k).

Wrong Algorithm

Anonymous's picture

The findNode should return current.next