I have recently looked into distributed file sharing systems and it seems that Freenet is an interesting form of distributed file sharing. However, I am unfamiliar with how Freenet is able to provide anonymity to users and how it can efficiently route information so as to make it difficult to determine where the information is stored in the first place.
Would it be possible to create something like Freenet where one can donate hard drive space or RAM to so that people can store data to be shared by others and also be searchable by users (unlike Freenet). To make it more difficult for any legal problems that may ensue, a person could post information in two parts: one part would be random data, the other part would be the actual data XORed with the random data. Each piece of the information would also have 2 hashes associated to it: one of itself so that users can search for it using a hash, and one for its counterpart so that users can find the other piece of the information. Since the information would most likely be in two different locations at once (we assume that users do not choose what is stored in their denoted drive space), then can anyone sue a user for having "random" data on their computers (if not, then this would protect the users contributing space yet not having a choice of what is in it)? When a user wants to retrieve information, the information could be encrypted using public/private keys and symmetric key encryption. The sender and receiver would send each other their public keys first. Then the sender would encrypt the information using a randomly generated symmetric key, encrypt the symmetric key with their private key and then with the receiver's public key. Then the encrypted key along with the encrypted information would be sent to the receiver. The other part of the information could be found by first retrieving the counter-hash of the data before the data is transmitted and having whatever client/server program is running find the counterpart of the information transparently. Any thoughts?
I have recently looked into distributed file sharing systems and it seems that Freenet is an interesting form of distributed file sharing. However, I am unfamiliar with how Freenet is able to provide anonymity to users and how it can efficiently route information so as to make it difficult to determine where the information is stored in the first place.
Would it be possible to create something like Freenet where one can donate hard drive space or RAM to so that people can store data to be shared by others and also be searchable by users (unlike Freenet). To make it more difficult for any legal problems that may ensue, a person could post information in two parts: one part would be random data, the other part would be the actual data XORed with the random data. Each piece of the information would also have 2 hashes associated to it: one of itself so that users can search for it using a hash, and one for its counterpart so that users can find the other piece of the information. Since the information would most likely be in two different locations at once (we assume that users do not choose what is stored in their denoted drive space), then can anyone sue a user for having "random" data on their computers (if not, then this would protect the users contributing space yet not having a choice of what is in it)? When a user wants to retrieve information, the information could be encrypted using public/private keys and symmetric key encryption. The sender and receiver would send each other their public keys first. Then the sender would encrypt the information using a randomly generated symmetric key, encrypt the symmetric key with their private key and then with the receiver's public key. Then the encrypted key along with the encrypted information would be sent to the receiver. The other part of the information could be found by first retrieving the counter-hash of the data before the data is transmitted and having whatever client/server program is running find the counterpart of the information transparently. Any thoughts?