参考

  • https://en.wikipedia.org/wiki/Distributed_hash_table
  • Profiling a million user dht
    • http://conferences.sigcomm.org/imc/2007/papers/imc150.pdf
  • https://bitcoin.stackexchange.com/questions/37366/why-doesnt-bitcoin-use-a-dht-for-choosing-peers
    • Bitcoin does not have any local data specific to a node, and every node needs to learn everything anyway. We have peer selection logic, but it optimizes for DoS protection robustness and propagation speed. What exactly would it use a DHT for? by Pieter Wuille
  • https://en.wikipedia.org/wiki/Kademlia
  • https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf

Code

  • https://github.com/arvidn/libtorrent/tree/master/src/kademlia