  We consider distributed networks, such as peer-to-peer networks, whose
structure can be manipulated by adjusting the rules by which vertices enter and
leave the network. We focus in particular on degree distributions and show
that, with some mild constraints, it is possible by a suitable choice of rules
to arrange for the network to have any degree distribution we desire. We also
describe a mechanism based on biased random walks by which appropriate rules
could be implemented in practice. As an example application, we describe and
simulate the construction of a peer-to-peer network optimized to minimize
search times and bandwidth requirements.
