Abstract. The ever-increasing popularity of peer-to-peer (P2P) systems provides a strong motivation for designing a dependable P2P system. Dependability in P2P systems can be viewed from two different perspectives, namely system reliability (the availability of the individual peers) and system performance (data availability). This paper looks at dependability from the viewpoint of system performance and aims at enhancing the dependability of unstructured P2P systems via dynamic replication, while taking into account the disproportionately large number of ‘free riders’ that characterize P2P systems. Notably, the sheer size of P2P networks and the inherent heterogeneity and dynamism of the environment pose significant challenges to the improvement of dependability in P2P systems. The main contributions of our proposal are two-fold. First, we propose a dynamic data placement strategy involving data replication, the objective being to reduce the loads of the overloaded peers. Second,...