Networked
computer systems are rapidly growing in importance as the medium of choice for
the storage and exchange of information. However, current systems afford little
privacy to their users, and typically store any given data item in only one or
a few fixed places, creating a central point of failure. Because of a continued
desire among individuals to protect the privacy of their authorship or readership
of various types of sensitive information, and the undesirability of central points
of failure which can be attacked by opponents wishing to remove data from the
system or simply overloaded by too much interest, systems offering greater security
and reliability are needed.Freenet is being developed as a distributed information
storage and retrieval system designed to address these concerns of privacy and
availability. Freenet is implemented as an adaptive peer-to-peer network of nodes
that query one another to store and retrieve data files, which are named by location-independent
keys.
Each node maintains its own local datastore which it makes available to
the network for reading and writing, as well as a dynamic routing table containing
addresses of other nodes and the keys that they are thought to hold. It is intended
that most users of the system will run nodes, both to provide security guarantees
against inadvertently using a hostile foreign node and to increase the storage
capacity available to the network as a whole. The
system can be regarded as a cooperative distributed filesystem incorporating location
independence and transparent lazy replication. Freenet enables users to share
unused disk space being directly useful to users themselves, acting as an extension
to there own hard drives. The basic model is
that requests for keys are passed along from node to node through a chain of proxy
requests in which each node makes a local decision about where to send the request
next, in the style of IP (Internet Protocol) routing.