About
什么是 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 是一个免费软件,您可以通过它匿名的分享文件、浏览和发布“Freesite”(只能在 Freenet 网络中访问的网站)、在论坛中发帖,不用担心被审查。Freenet 是去中心化的,很难被攻击。如果使用它的“暗网(Darknet)”模式,用户仅会连接到他们的好友,那么他人很难侦测到这个用户。
Freenet 节点之间的通讯是加密的,并通过其他节点路由。因此要了解谁在请求某些信息、请求的内容是什么,是极其困难的。
用户通过贡献自己的互联网带宽和他们的一部分硬盘空间(称为“数据存储(Data Store)”)来储存文件。根据文件的流行程度,文件会自动被保留或删除。不流行的文件被删除,可以腾出更多的空间给流行的文件。文件是加密的,因此用户无法轻易得知它的“数据存储”内储存了什么内容,因此也不会因其被追究责任。聊天论坛、网站和搜索功能,都是基于该分布式“数据存储”构建。
Freenet 自诞生起已被下载超过 200 万次,用来在全世界分发敏感受审查的信息,包括中国和中东国家。Freenet 中的先驱思想和概念也深深影响了学术界。我们在 2000 年的论文《Freenet:一个分布式匿名信息存储和接收系统》(Freenet: A Distributed Anonymous Information Storage and Retrieval System), 是 2000 年被引用次数最多的计算机科学论文(来源:Citeseer)。Freenet 也给世界法律和哲学论文带来了灵感。Ian Clarke,Freenet 的创造者和项目协调人,被 2003 年《麻省理工科技评论 》杂志(MIT's Technology Review)评为世界百强革新者。
在最近的开发中,我们引入了一个重要的功能(在其他类似网络中鲜见),称为“暗网(Darknet)”:用户仅与自己信任的人互相连接,这能够极大的降低他们的风险,同时仍然能够通过他们朋友的朋友的朋友来连接到整个 Freenet 网络。这能够让那些“使用 Freenet 即违法”的地方的人们使用 Freenet。政府很难封禁它,用户无需“翻墙隧道”就可以进入“自由的世界”。
Written by Ian Clarke
- A Disclaimer
- Suggested prior reading
- The importance of the Free flow of information
- Censorship and freedom
- The solution
- Isn't censorship sometimes necessary?
- But why is anonymity necessary?
- And what of copyright?
- But how will artists be rewarded for their work without copyright?
- Alternatives to Copyright
The Philosophy Behind Freenet
-
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.
-
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?.
-
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.
-
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.
-
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.
-
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.
-
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
Current Contributors
- 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 and currently works on safepass.me, an Active Directory password filter.
- 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.
- Steve Dougherty
-
The current release manager. He joined in GSoC 2013 and has been a driving force behind tackling long standing issues in Freenet.
- xor
-
The Developer of the Web of Trust and Freetalk. He worked on the Web of Trust in part-time for one year and is now working as volunteer again.
- David (Bombe) Roden
-
The developer of the site insertion tool jSite and of Sone, the Social Network over Freenet.
- Ximin Luo
-
A debian developer who currently works on packaging Freenet.
- Bert Massop
-
Works on the Freenet core and wherever there is need.
- TheSeeker
-
A long term contributor who, among other things, helps keep the contact between the core developers and users in active subgroups.
- Tommy[D]
-
A Gentoo packager who untangled all the dependencies of Freenet and packaged it cleanly in Gentoo.
- Arne Babenhauserheide
-
The current maintainer of pyFreenet and infocalypse. He also writes articles and tutorials for Freenet.
The translators
A dilligent team of people from various backgrounds who make it possible to ship Freenet and this website in many different languages.
Many more great hackers
This list is missing many freesite authors, plugin writers, and a host of other people who contributed in various ways.
Anonymous Contributors
- Eleriseth
-
Works on Freenet core and communicates via FMS.
- Somedude
-
The developer of the Freenet-based Forum system FMS, of FreenetHG and of FLIP, chat over Freenet.
- The folks from Frost
-
A group of users and programmers who use an old spammable Freenet-based forum system which has been abandoned by most of the core developers. They are active, however, and though it takes time for their contributions to reach to core development, they take part in Freenet development.
Previous Contributors
- Thomas Markus
-
A dutch developer and statistic-enthusiast. He now works at Topicus.Education.
- 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.
- 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!
论文
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 hosted by MantisHub.