The GNU Name System (GNS) is secure and decentralized naming system.
It allows its users to resolve and register names within the .gnu top-level domain (TLD).
GNS is designed to provide:
- Censorship resistance
- Query privacy
- Secure name resolution
- Compatibility with DNS
For the initial configuration and population of your GNS installation, please follow the GNS setup instructions . The remainder of this chapter will provide some background on GNS and then describe how to use GNS in more detail.
Unlike DNS, GNS does not rely on central root zones or authorities. Instead any user administers his own root and can can create arbitrary name value mappings. Furthermore users can delegate resolution to other users’ zones just like DNS NS records do. Zones are uniquely identified via public keys and resource records are signed using the corresponding public key. Delegation to another user’s zone is done using special PKEY records and petnames. A petname is a name that can be freely chosen by the user. This results in non-unique name-value mappings as www.bob.gnu to one user might be www.friend.gnu for someone else.