A distributed, decentralized data storage system