On Freenet you can host websites deemed 'freesites' which are publicly accessible by everyone. As I understand, Freenet can serve a variety of content, some which is illegal, which is why content is encrypted on the users computer to ensure plausible deniability.

If this is so, how can many people access a freesite if they aren't the author (and can't decrypt it)?


Below I have supplied the "basic" information required to achieve "understanding" of how the data is stored a accessed; this information has come directly from the Freenet web site. I would suggest viewing the following, "Understand Freenet" ,if you wish to read further.

How can many people access a freesite if they aren't the author (and can't decrypt it)?

The Datastore

All Freenet nodes contribute with a part of their harddrive space to store files. The files are stored encrypted in the store-directory in the Freenet installation directory.

Unlike other peer-to-peer networks, you as a user has little or no control over what is stored in your datastore. Instead, files are kept or deleted depending on how popular they are. This is to ensure that Freenet is censorship resistant. The only possible way to remove something from Freenet is to not search for it, and hope that everybody else does the same.

It is hard, but not impossible, to determine which files that are stored in your local Freenet Datastore. This is to enable plausible deniability as to what kind of material that lies on your harddrive in the datastore.

The initial diskspace allocated for the datastore is 5% of available disk space if it is over 20GB, 10% if it is over 10GB, 512MB if under 10GB, and 256MB if under 5GB. You can change the store size at any time, the more the better, both for your personal browsing and for Freenet as a whole.

Freenet Routing

Initially, each node has no information about the performance of the other nodes it knows about. This means that routing of requests is essentially random. But since different nodes have different randomness, they will disagree about where to send a request, given a key. So the data in a newly-started Freenet will be distributed somewhat randomly.

As more documents are inserted by the same node, they will begin to cluster with data items whose keys (see below) are similar, because the same routing rules are used for all of them. More importantly, as data items and requests from different nodes "cross paths", they will begin to share clustering information as well.

The result is that the network will self-organize into a distributed, clustered structure where nodes tend to hold data items that are close together in key space. There will probably be multiple such clusters throughout the network, any given document being replicated numerous times, depending on how much it is used.

Freenet keys

Each file that exists on Freenet has a key associated with it. Freenet 0.7 has various types of keys. Keys are used for everything on freenet, and are a kind of URI (e.g. freenet:=KSK@sample.txt).

Most keys are hashes: there is no notion of semantic closeness when speaking of key closeness. Therefore there will be no correlation between key closeness and similar popularity of data as there might be if keys did exhibit some semantic meaning, thus avoiding bottlenecks caused by popular subjects.

If you are interested, here is a direct link to Ian Clarke's paper "Freenet: A Distributed Anonymous Information Storage and Retrieval System" hosted by the computer science department at the University of Iowa.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.