Large-scale distributed systems are hard to deploy, and distributed
hash tables (DHTs) are no exception. To lower the barriers facing
DHT-based applications, we have created a public DHT service called
OpenDHT. Designing a DHT that can be widely shared, both among
mutually-untrusting clients and among a variety of applications, poses
two distinct challenges. First, there must be adequate control over
storage allocation so that greedy or malicious clients do not use more
than their fair share. Second, the interface to the DHT should make it
easy to write simple clients, yet be sufficiently general to meet a
broad spectrum of application requirements. In this talk I will
describe our solutions to these design challenges. I'll also report on
our early deployment experiences with OpenDHT and describe the variety
of applications already using the system.