You are here

How does GNUnet compare to other file-sharing applications?

As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most other P2P networks, GNUnet was designed with security in mind as the highest priority. We intend on producing a network with comprehensive security features. Many other P2P networks are open to a wide variety of attacks, and users have little privacy. GNUnet is also free software and thus the source code is available, so you do not have to worry about being spied upon by the software. The following table summarises the main differences between GNUnet and other systems. The information is accurate to the best of our knowledge. The comparison is difficult since there are sometimes differences between various implementations of (almost) the same protocol. In general, we pick a free implementation as the reference implementation since it is possible to inspect the free code. Also, all of these systems are changing over time and thus the data below may not be up-to-date. If you find any flaws, please let us know. Finally, the table is not saying terribly much (it is hard to compare these systems this briefly), so if you want the real differences, read the research papers (and probably the code).

Network GNUnet OneSwarm Napster Direct Connect FastTrack eDonkey Gnutella Freenet
Distributed Queries yes yes no hubs super-peers DHT (eMule) yes yes
Multisource Download yes yes no no yes yes yes no
Economics yes yes no no no yes no no
Anonymity yes maybe no no no no no yes
Language C Java often C C++ C C++ often C Java
Transport Protocol UDP, TCP, SMTP, HTTP TCP TCP TCP? UDP, TCP UDP, TCP TCP TCP
Query Format (UI) keywords / CHK filename / SHA? keywords filename, THEX filename, SHA filename, MD4? filename, SHA secret key, CHK
Routing dynamic (indirect, direct) static (indirect, direct) always direct always direct always direct always direct always direct always indirect
License GPL GPL GPL (knapster) GPL (Valknut) GPL (giFT) GPL (eMule) GPL (gtk-gnutella) GPL

Another important point of reference are the various anonymous peer-to-peer networks.
Here, there are differences in terms of application domain and how specifically anonymity is achieved.
Anonymous routing is a hard research topic, so for a superficial comparisson like this one we focus on the latency.
Another important factor is the programming language.
Type-safe languages may offer certain security benefits; however, this may come at the cost of significant increases in resource consumption which in turn may reduce anonymity.

Network GNUnet Tor I2P OneSwarm Mute Freenet Mixminion
Latency medium low low medium low low high
Application file-sharing TCP tunnel / HTTP generic tunnel file-sharing file-sharing file-sharing E-mail
Language C C Java Java C++ Java Python/C