The release of the GNUnet 0.15 framework has been announced, designed for building secure decentralized P2P networks. Networks created with GNUnet have no single point of failure and can guarantee the privacy of users' information, including preventing potential abuses by intelligence services and administrators with access to network nodes.
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 with the use of UPnP and ICMP. A distributed hash table (DHT) can be used for data location addressing. Tools for deploying mesh networks are provided. For selective granting and revocation of access rights, the decentralized attribute exchange service reclaimID is used, which employs 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.15:
- In the decentralized system domain names GNS (GNU Name System) added the ability to register subdomains in the top-level domain '.pin'. Support for EDKEY keys has been added.
- In gnunet-scalarproduct, cryptographic functions have been transitioned to use the libsodium library.
- In the decentralized attribute exchange service (RECLAIM), support for credentials signed using the BBS+ scheme (blind signature, where the signer cannot access the content) has been added.
- The union protocol has been implemented, used for disseminating key revocation messages in GNS.
- The implementation of the messenger has been stabilized, which is no longer experimental.
Source: opennet.ru
