We are investigating strategies for using replication to design and implement highly reliable peer-to-peer systems. In particular, we are comparing the use of whole object and blocking replication, and pursuing the use of erasure codes with blocking replication as a novel technique for achieving high reliability even for systems primarily composed of hosts with poor availability. In this paper, we briefly present the different replication strategies we are exploring, how those strategies can be influenced by application characteristics and host availability, and some preliminary simulation results.