I'm trying to find the name of a project that I remember from a few years ago, but for some reason my google-foo is failing me. I'm wondering if any superuser's could help me.
The project was a distributed, encrypted file system. It worked like this:
Users A and B would have the client installed. During client install, you'd dedicate a set amount of storage on your system to give to the entire network storage capacity.
User A could add a file (say a picture) to the system from his client. The client would break the file up into a bunch of small blocks, encrypted, and distribute the blocks across the network to many other user's allocated space. User A would then have a hash-key file that would represent the original file, but of course is just a key.
User A could send that hash-key to User B via email or some other means, and through his client, User B could retrieve the original file. User B's client would take the hash-key file User B provided and go out and find all the blocks that made up the original file, reconstruct them, and present the file to User B as an image.
One of the big benefits of the project was that the blocks were not always unique to a particular file. For example, theoretically, I could put Picture1 into the system and it would be broken up into blocks, and someone else could put an MP3 file into the system, which is also broken up into blocks, but when User C goes to reconstruct the MP3 file, it might actually get rebuilt with blocks from the original MP3 as well as some from the original Picture1 (if the data the block contained was the same). This way, it was hard to tell what a connected peer was really "requesting" if they requested a block from your storage space, since even if you know it's a block that was constructed from putting an MP3 in the system, they could be building a picture, or a word document.
The project wasn't too far advanced, but they did have a working product... I just can't remember the name of it. Does anyone here remember it?