Classical cloud storage based on external data providers has been recognized to suffer from a number of drawbacks. This is due to its inherent centralized architecture which makes it vulnerable to external attacks, malware, technical failures, as well to the large premium charged for business purposes. In this paper, we propose an alternative distributed peer-to-peer cloud storage model which is based on the observation that the users themselves often have available storage capabilities to be offered in principle to other users. Our set-up is that of a network of users connected through a graph, each of them being at the same time a source of data to be stored externally and a possible storage resource. We cast the peer-to-peer storage model to a Potential Game and we propose an original decentralized algorithm which makes units interact, cooperate, and store a complete back up of their data on their connected neighbors. We present theoretical results on the algorithm as well a good number of simulations which validate our approach.