I. Introduction
Peer-to-peer (P2P) networks are highly-decentralized, distributed systems potentially scaling to millions of peers. P2P networks require high levels of self-management and resilience in the face of changing conditions, as central authorization or supervision is impractical or impossible. Overlays impose a topology on top of these often chaotic networks, and act as an enabler for other services (such as search or routing). Overlays may be either structured (as, for example, with deterministically-placed distributed hash tables) or unstructured.