Serving DNS using a P2P Lookup Service ------------------------------------------- Russ Cox et al. The paper presents a DHT-based DNS implementation. By using a p2p distributed hash table (DHash, on top of Chord), the scheme inherits the pluses of DHTs, like fault tolerance and load balancing. The incentive for this decentralized architecture comes from the shortcomings of the current hierarchical DNS implementation. The paper's strength is represented by this new approach of a DNS based on a DTH. However, in my opinion, the paper reflects a very poor try to build such a decentralized Domain Name System. One first weakness is the fact that besides the advantages of a DHT, there is also the important disadvantage of heterogeneity. The Chord DHT assumes all nodes to be homogeneous. In the real world, things are far from being all alike. Some servers may be more powerful than others, some may be really slow and so on. This problem can actually be explained with the load balancing graph on page 3. In that graph, 20% of the nodes store less than 20 records, 20% of the nodes store more than 200 records. In a heterogeneous environment, the former 20% may be really powerful nodes meanwhile the latter 20% may be really bad servers. How does this affect performances? One other weakness of their system is the lookup cost (logN) which may translate in a relatively high number of hops. In fact they state this, as they also mention that DDNS would prove a worse solution than the existing DNS. One more thing: maybe they should have translated RPC. Is it remote procedure call or what is it?