The foundations of GNUnet are a distributed hash table (R5N), an SCTP-like end-to-end encrypted messaging layer (CADET), a public key infrastructure (GNS) and a pluggable transport system (TRANSPORT).
Using public keys for addresses and self-organized decentralized routing algorithms, these subsystems replace the traditional TCP/IP stack.
GNUnet is implemented using a multi-process architecture. Each subsystem runs as a separate process, providing fault-isolation and enabling tight permissions to be granted to each subsystem. Naturally, the implementation is a GNU package, and will always remain free software.
Read more about the system architecure in the respective section of our handbook.
Read more about the subsystems (or GNUnet services) in the respective section of our handbook.
libgnunetutil is the fundamental library that all GNUnet code builds upon. Ideally, this library should contain most of the platform dependent code (except for user interfaces and really special needs that only few applications have). Read more.
- blue line
- extension via plugin
- red line
- possibly useful
- in planning