Framework release , designed for constructing secure decentralized P2P networks. Networks created using GNUnet have no single point of failure and can ensure the confidentiality of users' private information, including potentially preventing abuses by security services and administrators who have access to network nodes. The release is noted for containing significant protocol changes that break backward compatibility with versions 0.11.x.
GNUnet supports the creation of P2P networks over TCP, UDP, HTTP/HTTPS, Bluetooth, and WLAN, and can operate in F2F (Friend-to-friend) mode. NAT traversal is supported, including using UPnP and ICMP. For addressing data storage, a Distributed Hash Table (DHT) can be used. Tools for deploying mesh networks are provided. For selective access grant and revocation, the decentralized attribute exchange service , GNS (GNU Name System) and attribute-based encryption ().
The system features low resource consumption and a multi-processing architecture to ensure isolation between components. Flexible tools for logging and accumulating statistics are provided. For developing end applications, GNUnet offers an API for the C language and bindings for other programming languages. To simplify development, it is recommended to use event loops and processes instead of threads. It includes a testing library for the automatic deployment of experimental networks covering tens of thousands of peers.
Key innovations in GNUnet 0.12 include:
- In the decentralized domain name system GNS (GNU Name System), changes have been made to the key formation protocols (to align with the ongoing development of the future standard). Domain names and labels in UTF-8, without using IDNA punycode notation. An NSS plugin has been proposed for handling non-standard IDNA names. A plugin has also been added to block requests from root (GNUnet should never be run with root privileges).
- In GNS and (Network Size Estimation), the proof of work algorithm used for domain zone revocation has been changed. These changes are associated with the increasing complexity of computations on specialized ASICs.
- The plugin implementing transport over UDP has been moved to the experimental category due to stability issues;
- and documented;
- The ability to install the gnunet-logread script for auditing logs has been added;
- The implementation of ECDH has been transitioned to code
- TweetNaCl ;
- GLPK
Guix .
Several ready-made applications are being developed based on GNUnet technologies:
- A service for anonymous file sharing that prevents information analysis by transmitting data solely in encrypted form and does not allow tracking of who uploaded, searched for, and downloaded files thanks to the use of the GAP protocol.
- A VPN system for creating hidden services in the '.gnu' domain and tunneling IPv4 and IPv6 over a P2P network. Additionally, it supports IPv4-to-IPv6 and IPv6-to-IPv4 translation schemes, as well as the creation of IPv4 tunnels over IPv6 and IPv6 tunnels over IPv4.
- The GNS (GNU Name System) is a fully decentralized and censorship-resistant alternative to DNS. GNS can be used alongside DNS and is applicable in traditional applications like web browsers. The integrity and immutability of records are ensured through cryptographic means. Unlike DNS, GNS uses a directed graph instead of a hierarchical tree structure of servers. Name resolution is similar to DNS, but queries and responses are processed with privacy in mindâ the node processing the request does not know to whom the response is sent, and transit nodes and third-party observers cannot decipher the queries and responses.
- The GNUnet Conversation service for making voice calls over GNUnet. GNS is used for user identification, and the content of the voice traffic is transmitted in encrypted form. Anonymity is not currently providedâother peers can track the connection between two users and determine their IP addresses.
- A platform for building decentralized social networks , using the protocol and supporting multicast notification delivery with end-to-end encryption, so that access to messages, files, chats, and discussions is granted only to authorized users (those the messages are not addressed to, including node administrators, cannot read them);
- A system for organizing encrypted email , applying GNUnet to protect metadata and supporting various for key verification;
- A payment system , providing anonymity for buyers but tracking sellers' transactions to ensure transparency and provide tax reporting. It supports various existing currencies and electronic money, including dollars, euros, and bitcoins.
Source: opennet.ru
