Wednesday, 4 May 2016

Today i am talling about "What Is Free Net"

Freenet

From Wikipedia, the free encyclopedia
Freenet is a peer-to-peer platform for censorship-resistant communication. It uses a decentralized distributed data store to keep and deliver information, and has a suite of free software for publishing and communicating on the Web without fear of censorship.[5][6]:151 Both Freenet and some of its associated tools were originally designed by Ian Clarke, who defined Freenet's goal as providing freedom of speech on the Internet with strong anonymity protection.[7][8]

History[edit]

The origin of Freenet can be traced to Ian Clarke's student project at the University of Edinburgh, which he completed as a graduation requirement in the summer of 1999.[9][10][11]Ian Clarke's resulting unpublished report "A distributed decentralized information storage and retrieval system" (1999) provided foundation for the seminal paper written in collaboration with other researchers, "Freenet: A Distributed Anonymous Information Storage and Retrieval System" (2001).[12][13] According to CiteSeer, it became one of the most frequently cited computer science articles in 2002.[14]
Researchers suggested that Freenet can provide anonymity on the Internet by storing small encrypted snippets of content distributed on the computers of its users and connecting only through intermediate computers which pass on requests for content and sending them back without knowing the contents of the full file, similar to how routers on the Internet route packets without knowing anything about files—except Freenet has caching, a layer of strong encryption, and no reliance on centralized structures.[13] This allows users to publish anonymously or retrieve various kinds of information.[6]:152
Freenet has been under continuous development since 2000. After Version 0.7 (2008) was released, it offered two modes of operation: a darknet mode in which it connects only to friends, and an opennet-mode in which it connects to any other Freenet user. Both modes can be run simultaneously. When a user switches to pure darknet operation, Freenet becomes very difficult to detect from the outside. The transport layer created for the darknet mode allows communication over restricted routes as commonly found in mesh networks, as long as these connections follow a small-world structure.[15]:815–816
The distributed data store of Freenet is used by many third-party programs and plugins to provide microblogging and media sharing,[16] anonymous and decentralised version tracking,[17] blogging,[18] a generic web of trust for decentralized spam resistance,[19] Shoeshop for using Freenet over Sneakernet,[20] and many more.
Freenet has always been free software, but until 2011 it required users to install Java. This problem was solved by making Freenet compatible with OpenJDK, a free and open source implementation of the Java Platform.
On 11 February 2015, Freenet received the SUMA-Award for "protection against total surveillance."[21][22][23]

Features and user interface of the Freenet[edit]

Freenet is different from most other peer-to-peer applications, both in how users interact with it and in the security it offers. It separates the underlying network structure and protocol from how users interact with the network; as a result, there are a variety of ways to access content on the Freenet network. The simplest is via FProxy, which is integrated with the node software and provides a web interface to content on the network. Using FProxy, a user can browse freesites (websites that use normal HTML and related tools, but whose content is stored within Freenet rather than on a traditional web server). The web interface is also used for most configuration and node management tasks. Through the use of separate applications or plugins loaded into the node software, users can interact with the network in other ways, such as forums similar to web forums or Usenet or interfaces more similar to traditional p2p "filesharing" interfaces.
While Freenet provides an HTTP interface for browsing freesites, it is not a proxy for the World Wide Web; Freenet can only be used to access content that has been previously inserted into the Freenet network. In this way, it is more similar to Tor's hidden services than to anonymous proxy software like Tor's proxy.
Freenet's focus lies on free speech and anonymity. Because of that, Freenet acts differently at certain points that are (directly or indirectly) related to the anonymity part. Freenet attempts to protect the anonymity of both people inserting data into the network (uploading) and those retrieving data from the network (downloading). Unlike file sharing systems, there is no need for the uploader to remain on the network after uploading a file or group of files. Instead, during the upload process, the files are broken into chunks and stored on a variety of other computers on the network. When downloading, those chunks are found and reassembled. Every node on the Freenet network contributes storage space to hold files, and bandwidth that it uses to route requests from its peers.
As a direct result of the anonymity requirements, the node requesting content does not normally connect directly to the node that has it; instead, the request is routed across several intermediaries, none of which know which node made the request or which one had it. As a result, the total bandwidth required by the network to transfer a file is higher than in other systems, which can result in slower transfers, especially for unpopular content.
Since Version 0.7, Freenet offers two different levels of security: Opennet and Darknet. With Opennet, users connect to arbitrary other users. With Darknet, users connect only to "friends" with whom they previously exchanged Public Keys, named node-references. Both modes can be used together.

Content[edit]

Freenet's founders argue that true freedom of speech comes only with true anonymity, and that the beneficial uses of Freenet outweigh its negative uses.[24] Their view is that free speech, in itself, is not in contradiction with any other consideration – the information is not the crime. Freenet attempts to remove the possibility of any group imposing their beliefs or values on any data. Although many states censor communications to different extents, they all share one commonality in that a body must decide what information to censor and what information to allow. What may be acceptable to one group of people may be considered offensive or even dangerous to another. In essence, the purpose of Freenet is that nobody is allowed to decide what is acceptable.
Reports of Freenet's use in authoritarian nations is difficult to track due to the very nature of Freenet's goals. One group, Freenet China, used to introduce the Freenet software to Chinese users starting from 2001, and distribute it within China through emails and on disks after group's website was blocked by the Chinese authorities on the mainland. It was reported that in 2002 Freenet China had several thousands dedicated users.[25]:70–71

Technical design[edit]

See also: Cryptography
The Freenet file sharing network stores documents and allows them to be retrieved later by an associated key, as is now possible with protocols such as HTTP. The network is designed to be highly survivable. The system has no central servers and is not subject to the control of any one individual or organization, including the designers of Freenet. Information stored on Freenet is distributed around the network and stored on several different nodes. Encryption of data and relaying of requests makes it difficult to determine who inserted content into Freenet, who requested that content, or where the content was stored. This protects the anonymity of participants, and also makes it very difficult to censor specific content. Content is stored encrypted, making it difficult for even the operator of a node to determine what is stored on that node. This provides plausible deniability, and in combination with the request relaying means that safe harbor laws that protect service providers may also protect Freenet node operators. When asked about the topic, Freenet developers defer to the EFF discussion which says that not being able to filter anything is a safe choice.[26][27]

Distributed storage and caching of data[edit]

Unlike other P2P networks, Freenet not only transmits data between nodes but actually stores them, working as a huge distributed cache. To achieve this, each node allocates some amount of disk space to store data; this is configurable by the node operator, but is typically several GB (or more).
Files on Freenet are typically split into multiple small blocks, with duplicate blocks created to provide redundancy. Each block is handled independently, meaning that a single file may have parts stored on many different nodes.
Information flow in Freenet is different from networks like eMule or BitTorrent, in Freenet:
  1. A user wishing to share a file or update a freesite "inserts" the file "to the network"
  2. After "insertion" is finished, the publishing node is free to shut down, because the file is stored in the network. It will remain available for other users whether or not the original publishing node is online. No single node is responsible for the content; instead, it is replicated to many different nodes.
Two advantages of this design are high reliability and anonymity. Information remains available even if the publisher node goes offline, and is anonymously spread over many hosting nodes as encrypted blocks, not entire files.
The key disadvantage of the storage method is that no one node is responsible for any chunk of data. If a piece of data is not retrieved for some time and a node keeps getting new data, it will drop the old data sometime when its allocated disk space is fully used. In this way Freenet tends to 'forget' data which is not retrieved regularly (see also Effect).
While users can insert data into the network, there is no way to delete data. Due to Freenet's anonymous nature the original publishing node or owner of any piece of data is unknown. The only way data can be removed is if users don't request it.

Network[edit]

Typically, a host computer on the network runs the software that acts as a node, and it connects to other hosts running that same software to form a large distributed, variable-size network of peer nodes. Some nodes are end user nodes, from which documents are requested and presented to human users. Other nodes serve only to route data. All nodes communicate with each other identically – there are no dedicated "clients" or "servers". It is not possible for a node to rate another node except by its capacity to insert and fetch data associated with a key. This is unlike most other P2P networks where node administrators can employ a ratio system, where users have to share a certain amount of content before they can download.
Freenet may also be considered a small world network.
The Freenet protocol is intended to be used on a network of complex topology, such as the Internet (Internet Protocol). Each node knows only about some number of other nodes that it can reach directly (its conceptual "neighbors"), but any node can be a neighbor to any other; no hierarchy or other structure is intended. Each message is routed through the network by passing from neighbor to neighbor until it reaches its destination. As each node passes a message to a neighbor, it does not know whether the neighbor will forward the message to another node, or is the final destination or original source of the message. This is intended to protect the anonymity of users and publishers.
Each node maintains a data store containing documents associated with keys, and a routing table associating nodes with records of their performance in retrieving different keys.

Protocol[edit]

A typical request sequence. The request moves through the network from node to node, backing out of a dead-end (step 3) and a loop (step 7) before locating the desired file.
The Freenet protocol uses a key-based routing protocol, similar to distributed hash tables. The routing algorithm changed significantly in version 0.7. Prior to version 0.7, Freenet used a heuristic routing algorithm where each node had no fixed location, and routing was based on which node had served a key closest to the key being fetched (in version 0.3) or which is estimated to serve it faster (in version 0.5). In either case, new connections were sometimes added to downstream nodes (i.e. the node that answered the request) when requests succeeded, and old nodes were discarded in least recently used order (or something close to it). Oskar Sandberg's research (during the development of version 0.7) shows that this "path folding" is critical, and that a very simple routing algorithm will suffice provided there is path folding.
The disadvantage of this is that it is very easy for an attacker to find Freenet nodes, and connect to them, because every node is continually attempting to find new connections. In version 0.7, Freenet supports both 'Opennet' (similar to the old algorithms, but simpler), and "Darknet" (all node connections are set up manually, so only your friends know your node's IP address). Darknet is less convenient, but much more secure against a distant attacker.
This change required major changes in the routing algorithm. Every node has a location, which is a number between 0 and 1. When a key is requested, first the node checks the local data store. If it's not found, the key's hash is turned into another number in the same range, and the request is routed to the node whose location is closest to the key. This goes on until some number of hops is exceeded, there are no more nodes to search, or the data is found. If the data is found, it is cached on each node along the path. So there is no one source node for a key, and attempting to find where it is currently stored will result in it being cached more widely. Essentially the same process is used to insert a document into the network: the data is routed according to the key until it runs out of hops, and if no existing document is found with the same key, it is stored on each node. If older data is found, the older data is propagated and returned to the originator, and the insert "collides".
But this only works if the locations are clustered in the right way. Freenet assumes that the Darknet (a subset of the global social network) is a small-world network, and nodes constantly attempt to swap locations (using the Metropolis–Hastings algorithm) in order to minimize their distance to their neighbors. If the network actually is a small-world network, Freenet should find data reasonably quickly; ideally on the order of O\left\{\left[log\left(n\right)\right]^2\right\} hops. However, it does not guarantee that data will be found at all.[28]
Eventually, either the document is found or the hop limit is exceeded. The terminal node sends a reply that makes its way back to the originator along the route specified by the intermediate nodes' records of pending requests. The intermediate nodes may choose to cache the document along the way. Besides saving bandwidth, this also makes documents harder to censor as there is no one "source node."

Effect[edit]

The effect of the node specialising on the particular location.
Initially, the locations in Darknet are distributed randomly. This means that routing of requests is essentially random. In Opennet connections are established by a join request which provides an optimized network structure if the existing network is already optimized.[29] So the data in a newly started Freenet will be distributed somewhat randomly.[citation needed]
As location swapping (on Darknet) and path folding (on Opennet) progress, nodes which are close to one another will increasingly have close locations, and nodes which are far away will have distant locations. Data with similar keys will be stored on the same node.[29]
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. This is a kind of "spontaneous symmetry breaking", in which an initially symmetric state (all nodes being the same, with random initial keys for each other) leads to a highly asymmetric situation, with nodes coming to specialize in data that has closely related keys.[citation needed]
There are forces which tend to cause clustering (shared closeness data spreads throughout the network), and forces that tend to break up clusters (local caching of commonly used data). These forces will be different depending on how often data is used, so that seldom-used data will tend to be on just a few nodes which specialize in providing that data, and frequently used items will be spread widely throughout the network. This automatic mirroring counteracts the times when web traffic becomes overloaded, and due to a mature network's intelligent routing, a network of size n should only require log(n) time to retrieve a document on average.[citation needed]

Keys[edit]

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.
There are two main varieties of keys in use on Freenet, the Content Hash Key (CHK) and the Signed Subspace Key (SSK). A subtype of SSKs is the Updatable Subspace Key (USK) which adds versioning to allow secure updating of content.
A CHK is a SHA-256 hash of a document (after encryption, which itself depends on the hash of the plaintext) and thus a node can check that the document returned is correct by hashing it and checking the digest against the key. This key contains the meat of the data on Freenet. It carries all the binary data building blocks for the content to be delivered to the client for reassembly and decryption. The CHK is unique by nature and provides tamperproof content. A hostile node altering the data under a CHK will immediately be detected by the next node or the client. CHKs also reduce the redundancy of data since the same data will have the same CHK and when multiple sites reference the same large files, they can reference to the same CHK.[30]
SSKs are based on public-key cryptography. Currently Freenet uses the DSA algorithm. Documents inserted under SSKs are signed by the inserter, and this signature can be verified by every node to ensure that the data is not tampered with. SSKs can be used to establish a verifiable pseudonymous identity on Freenet, and allow for multiple documents to be inserted securely by a single person. Files inserted with an SSK are effectively immutable, since inserting a second file with the same name can cause collisions. USKs resolve this by adding a version number to the keys which is also used for providing update notification for keys registered as bookmarks in the web interface.[31] Another subtype of the SSK is the Keyword Signed Key, or KSK, in which the key pair is generated in a standard way from a simple human-readable string. Inserting a document using a KSK allows the document to be retrieved and decrypted if and only if the requester knows the human-readable string; this allows for more convenient (but less secure) URIs for users to refer to.[32]

Scalability[edit]

network is said to be scalable if its performance does not deteriorate even if the network is very large. The scalability of Freenet is being evaluated, but similar architectures have been shown to scale logarithmically.[33] This work indicates that Freenet can find data in O(\log^2 n) hops on a small-world network (which includes both opennet and darknet style Freenet networks), when ignoring the caching which could improve the scalability for popular content. However, this scalability is difficult to test without a very large network. Furthermore, the security features inherent to Freenet make detailed performance analysis (including things as simple as determining the size of the network) difficult to do accurately. As of now, the scalability of freenet has yet to be tested.

Darknet versus Opennet[edit]

As of version 0.7, Freenet supports both "darknet" and "opennet" connections. Opennet connections are made automatically by nodes with opennet enabled, while darknet connections are manually established between users that know and trust each other. Freenet developers describe the trust needed as “will not crack their Freenet node”.[34]Opennet connections are easy to use, but darknet connections are more secure against attackers on the network, and can make it difficult for an attacker (such as an oppressive government) to even determine that a user is running Freenet in the first place.[35]
The core innovation in Freenet 0.7 is to allow a globally scalable darknet, capable (at least in theory) of supporting millions of users. Previous darknets, such as WASTE, have been limited to relatively small disconnected networks. The scalability of Freenet is made possible by the fact that human relationships tend to form small-world networks, a property that can be exploited to find short paths between any two people. The work is based on a speech given at DEF CON 13 by Ian Clarke and Swedish mathematician Oskar Sandberg. Furthermore, the routing algorithm is capable of routing over a mixture of opennet and darknet connections, allowing people who have only a few friends using the network to get the performance from having sufficient connections while still receiving some of the security benefits of darknet connections. This also means that small darknets where some users also have opennet connections are fully integrated into the whole Freenet network, allowing all users access to all content, whether they run opennet, darknet, or a hybrid of the two, except for darknet pockets connected only by a single hybrid node.[29]

Post-2008 development[edit]

The Freenet 0.7 darknet peers list.
Freenet 0.7, released on 8 May 2008, is a major re-write incorporating a number of fundamental changes. The most fundamental change is support for darknet operation, described above. Other modifications include switching from TCP to UDP, which allows UDP hole punching along with faster transmission of messages between peers in the network.[36]
Freenet 0.7.5, released on 12 June 2009, offers a variety of improvements over 0.7. These include reduced memory usage, faster insert and retrieval of content, significant improvements to the FProxy web interface used for browsing freesites, and a large number of smaller bugfixes, performance enhancements, and usability improvements. Version 0.7.5 also shipped with a new version of the Windows installer.[37]
As of build 1226, released on 30 July 2009, features that have been written include significant security improvements against both attackers acting on the network and physical seizure of the computer running the node.[38]
As of build 1468, released on 11 July 2015, the Freenet core stopped using the db4o database and laid the foundation for an efficient interface to the Web of Trust plugin which provides spam resistance.[39]

Tools and applications[edit]

Screenshot of Frost running onMicrosoft Windows
Unlike many other P2P applications Freenet does not provide comprehensive functionality itself. Freenet is modular and features an APIcalled Freenet Client Protocol (FCP) for other programs to use to implement services such as message boardsfile sharing, or online chat.[40]

Communication[edit]

Freenet Messaging System (FMS)
FMS was designed to address problems with Frost such as denial of service attacks and spam. Users publish trust lists, and each user only downloads messages from identities they trust and identities trusted by identities they trust. FMS is developed anonymously and can be downloaded from the FMS freesite within Freenet. It does not have an official site on the normal Internet. It features random post delay, support for many identities, and a distinction between trusting a user's posts and trusting their trust list. It is written in C++ and is a separate application from Freenet which uses the Freenet Client Protocol (FCP) to interface with Freenet.
Frost
Frost includes support for convenient file sharing, but its design is inherently vulnerable to spam and denial of service attacks.[41] Frost can be downloaded from the Frost home page on Sourceforge, or from the Frost freesite within Freenet. It is not endorsed by the Freenet developers. Frost is written in Java and is a separate application from Freenet.
Sone
Sone provides a simpler interface inspired by Facebook[42] with public anonymous discussions and image galleries. It provides an API for control from other programs[43] is also used to implement a comment system for static websites in the regular internet.[44]

Utilities[edit]

jSite
jSite is a tool to upload websites. It handles keys and manages uploading files.
Infocalypse
Infocalypse is an extension for the distributed revision control system Mercurial. It uses an optimized structure to minimize the number of requests to retrieve new data, and allows supporting a repository by securely reuploading most parts of the data without requiring the owner's private keys.[45]

Libraries[edit]

FCPLib
FCPLib (Freenet Client Protocol Library) aims to be a cross-platform natively compiled set of C++-based functions for storing and retrieving information to and from Freenet. FCPLib supports Windows NT/2K/XP, DebianBSDSolaris, and OS X.
lib-pyFreenet
lib-pyFreenet exposes Freenet functionality to Python programs. Infocalypse uses it.

Freenet 0.5[edit]

When Freenet 0.7 was released with the new friend-to-friend structure, most users moved to the new network, but some developers took up the 0.5 codebase and released new versions as Freenet Classic Opennet (FCon). For several years Freenet 0.5 and Freenet 0.7 were developed in parallel: On 17 December 2011, Freenet 0.5 build 5110 was released, showing Freenet 0.5 to have a steady user base and new development;[46] however, on June 2012, the new developer declared 0.5 dead after having seen only one peer for six months.[47]

Vulnerabilities[edit]

Law enforcement agencies have claimed to successfully have infiltrated freenet opennet in order to deanonymize users[48] but no technical details have been given to support these allegations.

Notability[edit]

Freenet has had significant publicity in the mainstream press, including articles in the New York Times, and coverage on CNN60 Minutes II, the BBCThe Guardian,[49] and elsewhere.
Freenet received the SUMA-Award 2014 for "protection against total surveillance."[21][22][23]
.
.   
.
.
Frrom Free net project:   

WHAT IS FREENET?


"I worry about my child and the Internet all the time, even though she's too young to have logged on yet. Here's what I worry about. I worry that 10 or 15 years from now, she will come to me and say 'Daddy, where were you when they took freedom of the press away from the Internet?'" --Mike Godwin, Electronic Frontier Foundation
Freenet is free software which lets you anonymously share files, browse and publish "freesites" (web sites accessible only through Freenet) and chat on forums, without fear of censorship. Freenet is decentralised to make it less vulnerable to attack, and if used in "darknet" mode, where users only connect to their friends, is very difficult to detect.
Communications by Freenet nodes are encrypted and are routed through other nodes to make it extremely difficult to determine who is requesting the information and what its content is.
Users contribute to the network by giving bandwidth and a portion of their hard drive (called the "data store") for storing files. Files are automatically kept or deleted depending on how popular they are, with the least popular being discarded to make way for newer or more popular content. Files are encrypted, so generally the user cannot easily discover what is in his datastore, and hopefully can't be held accountable for it. Chat forums, websites, and search functionality, are all built on top of this distributed data store.
Freenet has been downloaded over 2 million times since the project started, and used for the distribution of censored information all over the world including countries such as China and in the Middle East. Ideas and concepts pioneered in Freenet have had a significant impact in the academic world. Our 2000 paper "Freenet: A Distributed Anonymous Information Storage and Retrieval System" was the most cited computer science paper of 2000 according to Citeseer, and Freenet has also inspired papers in the worlds of law and philosophy. Ian Clarke, Freenet's creator and project coordinator, was selected as one of the top 100 innovators of 2003 by MIT's Technology Review magazine.
An important recent development, which very few other networks have, is the "darknet": By only connecting to people they trust, users can greatly reduce their vulnerability, and yet still connect to a global network through their friends' friends' friends and so on. This enables people to use Freenet even in places where Freenet may be illegal, makes it very difficult for governments to block it, and does not rely on tunneling to the "free world".

THE PHILOSOPHY BEHIND FREENET


Written by Ian Clarke
  1. A Disclaimer
  2. Suggested prior reading
  3. The importance of the Free flow of information
  4. Censorship and freedom
  5. The solution
  6. Isn't censorship sometimes necessary?
  7. But why is anonymity necessary?
  8. And what of copyright?
  9. But how will artists be rewarded for their work without copyright?
  10. Alternatives to Copyright

1. A Disclaimer

There are many reasons why people get involved in the Freenet Project. Some share the views outlined in this document; some share variations of these views, which are also served by what we are trying to achieve; and some just enjoy the technical challenge. These are the ideas which motivated me to architect the system in the first place, but not necessarily the views that everyone involved in the Freenet project holds.

2. Suggested prior reading

For this document to make sense, you should probably know what Freenet is. You can get a good overview from What is Freenet?.

3. The importance of the Free flow of information

Freedom of speech, in most western cultures, is generally considered to be one of the most important rights any individual might have. Why is the freedom to share ideas and opinions so important? There are several ways to answer this question.

3.1 Communication is what makes us human

One of the most obvious differences between mankind and the rest of the animal kingdom is our ability to communicate sophisticated and abstract concepts. While we constantly discover that animal's communication ability is more sophisticated than previously assumed, it is unlikely that any other animal approaches our own level of ability in this area.

3.2 Knowledge is good

Most people, given the option of knowing something and not knowing something, will choose to have more information rather than less. Wars have been won and lost over who was better-informed. This is because being better-informed allows us to make better decisions, and generally improve our ability to survive and be successful.

3.3 Democracy assumes a well informed population

Many people today live under democratic governments, and those who don't, probably want to. Democracy is an answer to the question of how to create leaders, while preventing them from abusing that power. It achieves this by giving the population the power to regulate their government through voting, yet the ability to vote does not necessarily mean that you live in a democratic country. For a population to regulate their government effectively it must know what their government is doing, they must be well informed. It is a feedback loop, but this loop can be broken if the government has the power to control the information the population has access to.

4. Censorship and freedom

Everyone values their freedom, in fact, many consider it so important that they will die for it. People like to think that they are free to form and hold whatever opinions they like, particularly in western countries. Consider now that someone had the ability to control the information you have access to. This would give them the ability to manipulate your opinions by hiding some facts from you, by presenting you with lies and censoring anything that contradicted those lies. This is not some Orwellian fiction, it is standard practice for most western governments to lie to their populations, so much so, that people now take it for granted, despite the fact that this undermines the very democratic principles which justify the government's existence in the first place.

5. The solution

The only way to ensure that a democracy will remain effective is to ensure that the government cannot control its population's ability to share information, to communicate. So long as everything we see and hear is filtered, we are not truly free. Freenet's aim is to allow two or more people who wish to share information, to do so.

6. Isn't censorship sometimes necessary?

Of course no issue is black and white, and there are many who feel that censorship is a good thing in some circumstances. For example, in some European countries propagating information deemed to be racist is illegal. Governments seek to prevent people from advocating ideas which are deemed damaging to society. There are two answers to this however. The first is that you can't allow those in power to impose "good" censorship, without also enabling them to impose "bad" censorship. To impose any form of censorship a government must have the ability to monitor and thus restrict communication. There are already criticisms that the anti-racism censorship in many European countries is hampering legitimate historical analysis of events such as the second world war.
The second argument is that this "good" censorship is counter-productive even when it does not leak into other areas. For example, it is generally more effective when trying to persuade someone of something to present them with the arguments against it, and then answer those arguments. Unfortunately, preventing people from being aware of the often sophisticated arguments used by racists, makes them vulnerable to those arguments when they do eventually encounter them.
Of course the first argument is the stronger one, and would still hold-true even if you didn't accept the second. Basically, you either have censorship, or you don't. There is no middle-ground.

7. But why is anonymity necessary?

You cannot have freedom of speech without the option to remain anonymous. Most censorship is retrospective, it is generally much easier to curtail free speech by punishing those who exercise it afterward, rather than preventing them from doing it in the first place. The only way to prevent this is to remain anonymous. It is a common misconception that you cannot trust anonymous information. This is not necessarily true, using digital signatures people can create a secure anonymous pseudonym which, in time, people can learn to trust. Freenet incorporates a mechanism called "subspaces" to facilitate this.

8. And what of copyright?

Of course much of Freenet's publicity has centered around the issue of copyright, and thus I will speak to it briefly. The core problem with copyright is that enforcement of it requires monitoring of communications, and you cannot be guaranteed free speech if someone is monitoring everything you say. This is important, most people fail to see or address this point when debating the issue of copyright, so let me make it clear:
You cannot guarantee freedom of speech and enforce copyright law
It is for this reason that Freenet, a system designed to protect Freedom of Speech, must prevent enforcement of copyright.

9. But how will artists be rewarded for their work without copyright?

Firstly, even if copyright were the only way that artists could be rewarded for their work, then I would contend that freedom is more important than having professional artists (those who claim that we would have no art do not understand creativity: people will always create, it is a compulsion, the only question is whether they can do it for a living).
Secondly, it could be questioned whether copyright is effective even now. The music industry is one of the most vocally opposed to enhancements in communication technology, yet according to many of the artists who should be rewarded by copyright, it is failing to do so. Rather it has allowed middle-men to gain control over the mechanisms of distribution, to the detriment of both artists and the public.

10. Alternatives to Copyright

Fortunately it won't come to this. There are many alternative ways to reward artists. The simplest is voluntary payment. This is an extension of the patronage system which was frequently used to reward artists prior to copyright, where a wealthy person would fund an artist to allow them to create full-time. The Internet permits an interesting extension of this idea, where rather than having just one wealthy patron, you could have hundreds of thousands, contributing small amounts of money over the Internet.
We actually practice what we preach in this regard too, on the 15th of March 2001 the Freenet Project started taking donations, and within a week we had collected over $1000.

PEOPLE


Note: This is an incomplete list, a large number of people have contributed to the project.

Ian Clarke

Freenet is based on Ian's paper "A Distributed Decentralised Information Storage and Retrieval System". Ian started the Freenet Project around July of 1999, and continues to coordinate the project. Learn more about Ian on his personal website.

Matthew Toseland

Matthew has been working on Freenet since before the 0.5 release. His work and that of others has resulted in dramatic improvements to the performance and stability of the network.

Oskar Sandberg

Oskar was also one of the earliest contributors to the Freenet project, and has made some important theoretical breakthroughs that lead to the beginning of Freenet 0.7, see the papers page.

Florent Daignière

Since 2003, Florent has improved various aspects of the software and performed the project's system administration. In his day job, he is the Technical Director of Matta Consulting, a boutique security consultancy firm.

Scott Miller

Scott is responsible for the implementation of much of the cryptography elements within Freenet.

Steven Starr

Steven helps with administration of Freenet Project Inc, and is an advisor to the project on business and publicity matters.

Michael Rogers

Michael has mostly contributed detailed simulations as part of the Google Summer of Code. He has been helpful in designing the new transport layer.

Dave Baker

Dave's main contribution has been Freemail, his Summer of Code project to build a working email-over-Freenet system, as well as some debugging and core work in various places.

Robert Hailey

Robert has helped improve the speed and security of Freenet by finding two major bugs, and has recently contributed some code.

David Sowder

David (Zothar) has helped the Freenet project as time permits and interest directs, including configuration, statistics and peer management via FCP, the FProxy stats page and Node 2 Node Messages (N2NM/N2NTMs).
And hundreds of others, who either haven't asked to be added here, who prefer to remain nameless, or who we just haven't got around to thanking. Not to mention thousands of users, testers, and donors!

PAPERS


 Measuring Freenet in the Wild: Censorship-resilience under Observation (PDF)
Observations and measurements on the live Freenet network. Includes suggestions for improvement. This was submitted to PETS 2014.
 The Dark Freenet (PDF)
Detailed paper about the Freenet 0.7.5 network, as opposed to its routing algorithm, which is detailed in the below papers. Includes some new simulations. This has been submitted to PET 2010.
 Video of Small World talk, Berlin, December 2005
This is a video of a talk given by Ian Clarke and Oskar Sandberg at the Chaos Computer Congress in Berlin, December 2005, describing the (then) new architecture for Freenet 0.7. You can also download the slideshow, and the source for the Java demo (requires Java 1.5).
 Searching in a Small World (PDF)
Oskar Sandberg's licentiate thesis describing a simple decentralized mechanism for constructing small world networks that is inspired by Freenet's original design. Part II of the thesis describes the basis for the new Darknet architecture.
 Distributed routing in Small World Networks (PDF)
A paper by Oskar Sandberg describing the theoretical basis for the new "Darknet" routing mechanism employed by Freenet 0.7.
 Chaos Computer Congress Talk (slideshow)
This is a slideshow for a talk given at the Chaos Computer Congress on 30th Dec 2005 in Berlin, Germany by Ian Clarke and Oskar Sandberg. It described the new "darknet" approach to be employed in Freenet 0.7. A Java demonstration to accompany the talk is also available.
 Switching for a small world (PDF)
A thesis by Vilhelm Verendel exploring ways to optimise the swapping algorithm.
 Protecting Freedom of Information Online with Freenet (PDF)
An IEEE Internet Computing article describing the Freenet architecture circa 2002 - probably the best introduction to the theory behind Freenet.
 FreeNet White Paper (PDF)
Original white paper by Ian Clarke, Division of Informatics, University of Edinburgh 1999.

 Attack Resistant Network Embeddings for Darknets (PDF)
A proposal for changing the darknet swapping algorithm which we are still considering (we have some doubts about long-term performance).
 A Contribution to Analyzing and Enhancing Darknet Routing (PDF)
A proposal for changing the routing algorithm which we are still considering (the worst case performance i.e. when a block has been lost may be unacceptable).
 Presentation: Towards "Dark" Social Networking Services (Strufe et al.) (PDF) An interesting presentation by the group responsible for the two above papers.
 Pisces: Anonymous Communication Using Social Networks
An algorithm for setting up onion-like tunnels on darknets.
 Routing in the Dark: Pitch Black (citeseer) (PDF)
A paper describing some attacks on Freenet 0.7's location swapping algorithm. We have solutions for this but they are still being tested.

The most up to date reference is of course the source code, but there is also some useful documentation on the wiki (you may have to search a bit), and most implemented ideas have been discussed in detail on the mailing lists at some point, more recently often in-Freenet forums such as FMS, or the bug tracker. 

3 comments: