- Developer Corner
- Recent posts
What are the advantages and disadvantages? When should I consider using GNUnet?
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).
|Distributed Queries||yes||yes||no||hubs||super-peers||DHT (eMule)||yes||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.
|Application||file-sharing||TCP tunnel / HTTP||generic tunnel||file-sharing||file-sharing||file-sharing|