Paper Review: Freenet: A Distributed Anonymous Information Storage and Retrieval System

Reviewer: Kenneth Chin

This paper describes a cute system which provides security and anonymity for both file senders and requestors by distributing and storing copies of files over other users (or literally, nodes). Such a system is named Freenet.

One of the major ideas of Freenet is the use of hash keys. Upon retrieval or inserts of a file, a user needs to choose a descriptive text as an input of a hash function to generate the hash key. Since it is infeasible to recover the original descriptive text from the hash key, because an administrator of a node storing files has no knowledge about those stored files. This makes hash key provide both security and anonymity. Anonymity is further enhanced by allowed each node to unilaterally claim itself being the source of a file. In this way, one could hardly tell who the original file inserter is.

Obviously, Freenet has problems. First, the descriptive text is too restrictive in the sense that a file can only be retrieved by using the exact descriptive text as created by the file inserter. Second, a files such as documents may be so similar that their descriptive texts are more or less the same, but the descriptive text space may be very confined. Eventually, the descriptive text would become not descriptive at all and this not surprisingly reduces the probability of successfully locating a file. Second, the descriptive text may only be descriptive to the file inserter but not for the file retriever. Third, some nodes would be heavily loaded if they contains files that are frequently requested, the system would become unbalanced. Fourth, since some nodes have smaller storage, large files are dropped by those nodes. Therefore, the 'hit rate' of searching a large file is lower than that of a small file. Lastly, the LRU algorithm is vulnerable to attackers because an attacker can send a just big enough file to evict all other files previously stored in a node. However, those evicted files are not obsolete, but they are evicted because the new incoming file needs them to be freed up. This action is a chain reaction and may effect all on-the-way nodes.

This paper is very easy to read because the working principle of Freenet is very intuitive. Nevertheless, the idea of anonymity over file storage is fabulous. Such an interesting paper should get a 3rd grade.