Chord:A Scalable Peer-to-peerLookupServiceforInternetApplications 和 Trackerless Bittorrent
- Is hashing across machines a good way to get load balanced sharding? Why not explicitly divide up the key space so it's evenly split?
- Does BitTorrent use Chord?
- If you want to add fault-tolerance to a Chord-based system should you replicate each Chord node using Raft?
- What if Chord DHT nodes are malicious?
- Is Chord used anywhere in practice?
- Could the performance be improved if the nodes knew more about network locality?
- Is it possible to design a DHT in which lookups take less than log(N) hops?
- Does consistent hashing of keys still guarantee load balanced nodes if keys are not evenly distributed?
- In the case of concurrent joins and failures, Chord pauses when a get fails to find the key it was looking for. If there's constant activity, how can Chord distinguish between the system not being stable and the key not actually existing?
- If I introduce a malicious peer in Chord that keeps returning wrong values or inexistent addresses how disruptive can it be to the whole DHT? How does Bittorrent deal with particular issue?
- Why isn’t there a danger of improper load balancing if some keys are simply used more than others?