On an earlier Deepdotweb article entitled TOR: Is There a Viable Alternative?, I was intrigued by this quote: “The annoying thing about the DarkNet is that there is no “DarkNet”; instead there are DarkNets, all specific to their particular system.”
Not long after I started to become more familiar with Tor, I wondered what other darknets existed out there, and two that I came across were Netsukuku and GNUnet. Though they may not be as widely used as Tor, I2P, and Freenet (at present), both sounded promising.
In with the GNU
Unrelated to the older P2P protocol Gnutella, GNUnet is an official GNU project, written in C. Its topology is essentially that of a mesh network (i.e. radio nodes organized in a mesh topology). It includes a distributed hash table (DHT); in this case, it’s a randomized version of Kademlia intended for small networks.
As opposed to the clearnet, GNUnet uses Uniform Resource Identifiers (URIs), which have not yet been approved by IANA.
Unlike Tor, GNUnet cannot be accessed with a browser, because currently, according to the GNUnet FAQ, there is no proxy (as opposed to Freenet’s fproxy, for example). GNUnet is a P2P framework, which gives it a number of different capabilities.
Among these are both anonymous and non-anonymous file sharing, a decentralized and censorship-resistant alternative to DNS, and a system for IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG).
Contrasted with P2P file-sharing networks like BitTorrent and Ares Galaxy, GNUnet was designed with both security and anonymity in mind as top priorities. In fact, on their main site, at How does GNUnet compare to other filesharing applications?, they offer a chart summing up the differences between their network and other popular ones.
While the chart is an oversimplified explanation, one characteristic that stands out is in the “anonymity” category. Of the networks listed (like OneSwarm, Napster, FastTrack, and Freenet), only GNUnet and Freenet feature anonymity. A second chart explains (in a nutshell) how anonymity is achieved between several different networks (including GNUnet, Tor, and I2P). As compared to others of its type, GNUnet is a medium-latency network, while Tor, I2P, and Freenet are all low-latency networks.
Again, these charts don’t really offer a lot of detail; go into the more thorough documentation such as the developer handbook for that. Finally, if it’s not enough just to take their word for it – they also have repositories on GitHub and at https://gnunet.org/svn/. The code doesn’t lie…
Learning to Share
As stated above, GNUnet’s primary use at present is anonymous file-sharing (also, in a sense, similar to Freenet); users can publish or retrieve information without revealing their identities. GNUnet’s protocol that allows for such anonymity is called, appropriately, GAP (GNUnet Anonymity Protocol).
As with I2P, installing GNUnet is a bit more complex than installing and running Tor. Tor, more or less, can be downloaded and run without much manual configuration. GNUnet, on the other hand, requires you to install a number of software packages prior to running the program. These include GNU libmicrohttpd (0.9.30 or higher); GNU libextractor (1.0 or higher); GNU libtool (2.2. or higher); and GNU libunistring (0.9.1.1 or higher).
If you visit the page at https://www.gnunet.org/dependencies, you’ll see a list of all the requirements. The components can be downloaded from GNU’s FTP server.
Beyond just the file-sharing aspect, users can build sites using the GNU Name System (GNS), which is a secure and decentralized naming system. It gives users the capability to register names with the .gnu top-level domain (TLD). For more details on how to configure a GNS site, see Configuring the GNU Name System.
Now, it’s not worth it to write out all the details here, but if you are truly interested in setting up and using the network, it seems like it would pay off (particularly for developers and hackers). Are you still skeptical? Try them out for yourself.
Netsukuku, as described on their homepage, “aims to be a mesh network or a peer to peer protocol that generates and sustains itself autonomously.” While it may have all the trappings of an A.I., the concept behind it is fascinating.
Netsukuku is an ad-hoc network designed to handle a substantial number of nodes with the least possible expenditure of CPU and memory resources.
The creators intend to generate a network that isn’t dependent on authorities like ISPs, multinational corporations, and governments to stay in operation. In the same vein, they also intend this network to have far greater privacy and anonymity than the current DNS allows.
In their official FAQ, the creators say they chose the name “Netsukuku” because “Netsukuku sounds like ‘network’ in Japanese, and we like Japanese stuff. Moreover, when the project started, no results could be found for ‘Netsukuku’ on Google.” Sounds like a good enough reason, doesn’t it?
To be clear – Netsukuku isn’t just another P2P network built on top of the Internet (like Tor). Rather, it’s a physical network, as well as a dynamic routing system intended to handle up to 2^32 nodes without servers or central systems.
In the words of the creators, Netsukuku might be called a “scalable ad-hoc network architecture for cheap self-configuring Internets.” This type of architecture allows for the opportunity to build and maintain a network as large as the Internet without any human interference. (Picture that for a moment).
Netsukuku makes use of a distance vector routing protocol that is thoroughly integrated into the layers of its hierarchical network topology. In turn, it requires very little memory or computational resources – its whole network routing table can be stored in a few mere kilobytes.
Thanks to Netsukuku’s architecture, it’s able to feature several impressive attributes. According to its documentation: “…a distributed, non-hierarchical, and decentralised system of hostname management; the easy integration of P2P overlay services; an Internet tunneling system that connects nodes which aren’t physically linked; [and] a system which enables full anonymity, hiding the source and destination of packets and encrypting them.”
It seems to be in somewhat of a beta phase at present, but it can be downloaded and run on Ubuntu and OpenWRT. Its source code is available at Netsukuku: Source Code.
By the way, they are looking for developers to help write the Netsukuku software, improve the network, and also expand and translate the documentation. Does that appeal to you? Contact them!
Which Network is Best?
It’s not really accurate to say that GNUnet and Netsukuku are replacements for Tor, in particular because they’re a little more complex to learn, and they also function very differently. On the other hand, if they prove to be more secure, and even offer the opportunity for more people to have network access, they’re both valuable tools.
For those reasons, I recommend them both. Plus, this isn’t a reason to stop using Tor – it’s just a way to expand your knowledge, and learn new ways to protect your privacy.
That’s certainly not a bad thing, is it?