Reviewer : Seh Leng Lim
This paper describes Freenet, a peer-to-peer network application that permits publication, replication and retrieval of data while protecting the anonymity of both authors and readers.
The main contribution of the paper is its detailed description of the implementation of FREENET. With FREENET, information is kept anonymous and available while remaining highly scalable. This is important as it may help to sustain free access to information which may be censored by authoritarian regimes.
The key main ideas expounded which form the design goals of Freenetare :
(a) Anonymity for both authors and readers of information
(b) Deniability for storers of information
(C) Resistance to attempts by third parties to deny access to information
(d) Efficient dynamic storage and routing of information
(e) Decentralization of all network functions
1. Fully distributed system ĘC no central server for data backup (Napster)
2. No broadcast file lookups (Gnutella)
The implementation details of Freenet is briefly summarized below a:
(a) A key string that identifies a file is encrypted into a hash
(b) The files are encrypted using the key string
(C) Both the encrypted file and the hash of the key string are stored in a distributed manner
(d) File retrieval and file inserts are two main functions that are allowed
(e) Lookups are performed on a node-to-node basis, in a depth-first, backtracking manner
1. Files are stored in a redundant manner
2. Recently looked up files are propagated closer to the user by caching
3. A node can make itself known by making inserts.
I think that the paper has a significant contribution (rating of 4) to the study of sharing of files via peer-to-peer networking mechanisms. The authors have proposed an interesting concept that is already realized in the Internet. However, it appears that their algorithm is based only on heuristic and lacks theoretical rigor. It just works but you cannot exactly formalize why it works. The authors do not mention the drawback regarding inflexible data lookups whereby the exact key string is needed to retrieve a file. It would definitely be much useful if there is a keyword search capability but somehow it appears that the authors have no plans to provide this. Also, Freenet does not provide for storage of 2 different types of data, i.e. private data retrieved only by the owner and public data shared with other users.
As acknowledged by the authors, there is still work to be done for a simulation and visualization suite which will enable more rigorous tests of the protocol and routing algorithm as well as to model the effects of inserts taking place alongside requests, nodes joing and leaving, variation in node capacity and larger network sizes. There is too little experimental simulation and analysis provided by the authors in the paper on the performance of Freenet.
System and application builders may have a better appreciation from this paper of the difficulties involved in implementing peer-to-peer networking.