This paper addresses two important challenges for current P2P systems, namely churn and selfishness. First, we report on a system [19] whose desirable properties (small peer degree, small network diameter, etc.) are maintained in spite of ongoing and concurrent membership changes. Thereby, dynamic peers are "tamed" by redundancy. Due to the worstcase churn, this system may never be fully repaired, but always fully functional. However, it relies on the fact that peers act according to the protocol. In the second part of the paper (based on [22]), we study the impact of selfish peers which follow those protocols which maximize their utility. In particular, the efficiency of topologies formed by selfish peers is considered. We show that even in the absence of joins and leaves, the resulting system may never stabilize. How to "tame" selfish peers towards a more cooperative behavior remains an open issue. 1 CHURN Many existing file sharing systems are faced with frequen...