The new version of GNUnet 0.13 has already been released and is generally available to everyone. In this new version, a of the main novelties that stand out is the GNUnet Assigned Numbers Authority registry (WINS), GNS implementation and more.
For those who peel away from GNUnet, you should know that it is intended to build decentralized and secure P2P networks.
Networks built with GNUnet don't have a single point of failure and they can guarantee the inviolability of users' private information, including the elimination of possible abuse by intelligence agencies and administrators with access to network nodes. The version is marked as containing significant protocol changes that violate backward compatibility 0.12.x.
GNUnet supports P2P networking via TCP, UDP, HTTP / HTTPS, Bluetooth and WLAN, and it can work in F2F mode (Friend to Friend).
Se supports NAT bypass, including the use of UPnP and ICMP. It is possible to use a distributed hash table (DHT) to address the location of the data.
Besides whatand means are provided for deploying mesh networks. To selectively grant and revoke access rights, a decentralized exchange of reclaimID identification attributes is used, using the GNS (GNU Naming System) and attribute-based encryption (Attribute-Based Encryption).
The system characterized by low resource consumption and the use of a multithreaded architecture to ensure isolation between components.
Flexible facilities are provided for registration and statistics. For developing end-user applications, GNUnet provides an API for the C language and folders for other programming languages.
To simplify development, it is proposed to use event loops and processes instead of threads. The framework includes a test library for the automatic deployment of experimental networks covering tens of thousands of pairs.
Main new features of GNUnet 0.13
In this new version as we mentioned at the beginning, the main novelty is that the WINS record has been established (GNUnet Assigned Numbers Authority), which is responsible for assigning names and addresses to GNUnet.
This too together with the implementation of the decentralized domain name GNS It is aligned with the specifications proposed by the IETF.
Another important change is that the work of the NSS plugin 'block' has been adjusted, New supplemental flags have been added for records that are not explicitly posted under the given tag but returned by the resolver.
In the key revocation mechanism (GNS / REVOCATION), proof of work completed function is passed on using the Argon2 hash algorithm.
In the decentralized identification attribute exchange service (RECLAIM), the ticket size has been increased to 256 bits.
Of the other changes that stand out from this new version:
- Added warning output to the gnunet-namestore utility when adding TLSA or SRV records outside of a BOX record.
- The transport plug-in that uses the UDP protocol for data transfer has been moved to the experimental category due to stability issues;
- The key file format and the ECDSA private key serialization method are unified with other libraries (old keys will stop working).
- The libsodium library is used as an implementation of encryption algorithms based on elliptic curves.
- Added ability to create utilities with cURL library, not related to gnutls.
- Buildbot Continuous Integration Server returned.
- The libmicrohttpd, libjansson, and libsodium libraries are included in the build dependencies.
How to install GNUnet on Linux?
For those who are interested in being able to install this frame, they can do it by following the instructions that we share below.
Who are they for Arch Linux, Manjaro, Arco Linux users or any other derivative, just open a terminal and type the following command in it:
sudo pacman -S gnunet
Now for those who are Fedora users, The installation can be done first by enabling the repository with the following command:
sudo dnf copr enable yosl/gnunet
And later they install with this command:
sudo dnf install gnunet
Finally you can also get the framework by compiling your code for this you can follow the instructions detailed in this link.