What is Hyphanet?

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

Hyphanet is free software which lets you anonymously share files, browse and publish "freesites" (web sites accessible only through Hyphanet) and chat on forums, without fear of censorship. Hyphanet 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 Hyphanet nodes are encrypted and 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 encrypted chunks of data. Information is kept or deleted depending on the last time they were downloaded. Least accessed information is discarded to make way for other content. This forms a privacy-preserving encrypted caching proxy. Chat, blogs, forums, websites, radio streaming, are all built on top of this distributed data store.

Hyphanet has been downloaded many millionss of 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 Hyphanet have had a significant impact in the academic world. We maintain a selection of papers about Hyphanet.

Hyphanet has named its friend-to-friend mode "darknet" long before this became a widespread term. 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.

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 important abilities of humans 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. 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. It gives 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.

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 can see and hear is filtered, we are not truly free. Hyphanet's aim is to allow two people who wish to share information, to do so.

Isn't censorship sometimes necessary?

No issue is black and white, and there are many who feel that censorship is a good thing in some circumstances. For example Governments seek to prevent people from seeing ideas which are deemed damaging to society.

There are two answers to this. The first is that you can't allow those in power to impose "good" censorship, without also enabling them to impose "bad" censorship. Imposing any form of censorship requires the ability to monitor and thus restrict all communication.

The second argument is that "good" censorship is counter-productive even when it does not leak into other areas. Preventing people from being aware of some arguments makes them vulnerable to those arguments when they do eventually encounter them. Therefore those who seek those arguments must be able to find them.

To prevent censorship by drowning out information with noise, Hyphanet enables people to choose by themselves what they want to be exposed to.

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. Hyphanet facilitates this with stable secret-key based Pseudonyms.

Current Contributors

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.

Steve Dougherty

The current release manager. He joined in GSoC 2013 and has been a driving force behind tackling long standing issues in Hyphanet.

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 Hyphanet.

Bert Massop

Works on the Hyphanet 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.

Torusrxxx

A core contributor who works on making Hyphanet more convenient to use.

Tommy[D]

A Gentoo packager who untangled all the dependencies of Hyphanet and packaged it cleanly in Gentoo.

Arne Babenhauserheide

The current release manager of Hyphanet and maintainer of pyHyphanet and infocalypse. He also writes articles and tutorials for Hyphanet.

The translators

A dilligent team of people from various backgrounds who make it possible to ship Hyphanet 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 Hyphanet core and communicates via FMS.

Somedude

The developer of the Hyphanet-based Forum system FMS, of FreenetHG and of FLIP, chat over Hyphanet.

The folks from Frost

A group of users and programmers who use an old spammable Hyphanet-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 Hyphanet development.

Previous Contributors

Matthew Toseland

Matthew has been working on Hyphanet 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 Hyphanet Project, and has made some important theoretical breakthroughs that lead to the beginning of Hyphanet 0.7, see the papers.

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.

Ximin Luo

A debian developer who currently worked on packaging Hyphanet.

Ian Clarke

Hyphanet is based on Ian's paper "A Distributed Decentralised Information Storage and Retrieval System". Ian started the Freenet Project around July of 1999, but parted ways in 2023 when he renamed his new, not privacy related project to Freenet and forced the renaming.

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 Hyphanet.

Steven Starr

Steven helps with administration of Hyphanet 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-Hyphanet system, as well as some debugging and core work in various places.

Robert Hailey

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

David Sowder

David (Zothar) has helped the Hyphanet 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 Hyphanet network. Includes suggestions for improvement. This was submitted to PETS 2014.

The Dark Freenet (PDF) Detailed paper about the Hyphanet 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 Hyphanet 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 Hyphanet'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 Hyphanet 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 Hyphanet 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 Hyphanet architecture circa 2002 - probably the best introduction to the theory behind Hyphanet.

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 Hyphanet 0.7's location swapping algorithm. A clean mitigation was deployed in build 1492.


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-Hyphanet forums such as FMS, or the bug tracker hosted by MantisHub.