Jump to content

Distributed open domains

From IdeaWazaWiki

Distributed open domains are an approach to Internet naming in which control over domain names, name resolution, registration, or related infrastructure is distributed across multiple participants rather than being entirely dependent on a single organization or centralized hierarchy.

The term can be used broadly. It can include decentralized domain name systems, blockchain-based naming systems, peer-to-peer naming networks, open naming protocols, and experimental alternatives or extensions to the traditional Domain Name System (DNS).

Distributed open domains can be studied as part of computer networking, decentralization, Internet infrastructure, cryptography, computer security, and distributed systems.

The general goal is not necessarily to eliminate traditional DNS. A distributed naming system may instead supplement DNS, provide an alternative root, provide names for decentralized applications, or make certain types of naming and identity less dependent on centralized intermediaries.

Why domain names matter

Humans generally find names easier to use than numerical network addresses or long cryptographic identifiers.

Instead of remembering an IP address, a person can enter a domain name such as example.org. DNS translates that name into information that computers can use to locate the appropriate service.

This creates a naming system that is extremely useful, but naming also creates questions about authority.

Someone or some system must determine:

  • Whether a name exists
  • Who controls the name
  • Where the name points
  • How ownership can be transferred
  • How conflicts over names are resolved
  • How users determine that a naming record is authentic

Traditional DNS solves these problems through a hierarchical system involving root servers, registries, registrars, authoritative name servers, and other organizations.

Distributed systems attempt to solve some of the same problems using different structures.

Characteristics of distributed open domains

There is no single technical definition that all distributed naming systems follow.

A distributed open domain system might have several of the following characteristics:

  • Open-source software
  • Publicly documented protocols
  • Distributed name resolution
  • Peer-to-peer networking
  • Cryptographic ownership
  • Permissionless participation
  • Distributed validation
  • Alternative DNS roots
  • Decentralized governance
  • User-controlled keys
  • Distributed storage integration
  • Reduced dependence on registrars

A project does not need to have every characteristic to be considered part of the broader area of distributed naming.

For example, one system might distribute ownership records while still relying on conventional DNS for some functions. Another might replace the root naming layer but continue to use ordinary DNS record formats.

Approaches to distributed naming

Several technical approaches have been developed.

Blockchain-based naming

A blockchain can provide a shared record of which names have been registered and who controls them.

Cryptographic keys can be used to authorize changes to a name.

This can reduce reliance on a traditional registrar because ownership can be represented and transferred through the distributed network itself.

Blockchain systems also create tradeoffs involving transaction fees, scalability, energy use, governance, software complexity, and the need for users to protect private keys.

Peer-to-peer naming

Peer-to-peer systems can distribute naming information among many computers rather than relying on one central database.

Participants may validate, replicate, cache, or resolve naming records.

This can potentially improve resistance to individual server failures, but it creates the difficult problem of establishing agreement about who controls a unique name.

Distributed identifiers

Some systems focus less on traditional websites and more on mapping human-readable names to cryptographic addresses, public keys, wallets, content hashes, identities, or decentralized applications.

A distributed name might therefore identify much more than a conventional web server.

Existing projects

Several projects provide useful examples for research.

Handshake is an experimental decentralized naming protocol intended to distribute control of the root naming zone. Handshake uses a blockchain to establish agreement over name ownership while maintaining compatibility with many existing DNS concepts.

Ethereum Name Service (ENS) provides human-readable names that can resolve to Ethereum addresses, other cryptocurrency addresses, content hashes, metadata, and other resources. ENS uses smart contracts and the Ethereum blockchain.

Namecoin is an earlier blockchain-based naming project. Among its uses is the .bit namespace, which provides an alternative naming system outside the conventional DNS root.

These systems have different goals and architectures. They should not be treated as interchangeable implementations of one standard.

Openness

The word open can have several meanings.

A naming protocol may be open because its source code is freely available. Another system may have an openly documented protocol that anyone can implement. A network may allow anyone to operate a node or participate in validation.

Open registration is another question.

A system can use open-source software while still imposing restrictions on who can register names. A permissionless system may allow broad registration while still requiring fees or scarce resources to prevent one participant from registering every available name.

It can therefore be useful to distinguish:

  • Open-source implementation
  • Open technical standards
  • Open participation
  • Open registration
  • Open governance
  • Open access to resolution

These are related concepts, but they are not the same thing.

Advantages and possible uses

Distributed naming systems may provide useful properties in some situations.

Possible advantages include:

  • Reduced dependence on individual registrars or infrastructure providers
  • Greater user control over naming records
  • Resistance to certain single points of failure
  • Easier integration with cryptographic identities
  • Naming for peer-to-peer applications
  • Naming for decentralized storage
  • Open experimentation with new Internet infrastructure
  • New approaches to ownership and transfer of digital names

These systems can also be useful as research environments for studying how decentralized infrastructure works in practice.

Problems and limitations

Distributed naming does not automatically solve every problem associated with Internet domains.

A naming system still needs methods for determining who receives a name and how competing claims are handled.

Other problems can include:

  • Name squatting
  • Lost cryptographic keys
  • Software compatibility
  • Difficult user interfaces
  • Conflicting namespaces
  • Network scalability
  • Security vulnerabilities
  • Transaction costs
  • Limited browser support
  • Difficulty recovering compromised names
  • Unclear responsibility when something fails

Traditional DNS has the major advantage of widespread adoption.

A technically interesting alternative naming system has limited practical usefulness if ordinary browsers, operating systems, networks, and users cannot resolve its names.

Interoperability is therefore an important area of research.

Distributed domains and decentralized content

Distributed naming can be combined with decentralized storage systems.

Instead of pointing a domain to one conventional server, a name might point to a cryptographic content identifier or another resource on a distributed network.

Technologies such as InterPlanetary File System can address content using cryptographic identifiers. A human-readable distributed name can potentially provide a simpler way to locate that content.

This creates an interesting division of responsibilities:

  1. A naming system identifies a resource.
  2. A distributed storage or networking system locates or retrieves the resource.
  3. Cryptographic methods can help verify that the retrieved information is the expected information.

These components can be developed independently or combined into larger decentralized systems.

Learning and research activities

Distributed open domains provide many possibilities for practical learning.

Students and researchers can:

  • Compare conventional DNS with decentralized naming architectures.
  • Install and test an alternative resolver.
  • Study how cryptographic keys can establish control of a domain.
  • Compare the failure modes of centralized and distributed systems.
  • Research what happens when a private key controlling a domain is lost.
  • Examine how decentralized domains interact with browsers.
  • Design a hypothetical distributed naming protocol.
  • Compare blockchain-based naming with non-blockchain peer-to-peer approaches.
  • Study methods of preventing one participant from registering every desirable name.
  • Experiment with linking a distributed name to decentralized content.
  • What parts of the existing DNS system benefit most from decentralization?
  • What parts of DNS might be better left centralized or hierarchical?
  • What does it mean for a domain naming system to be open?
  • Should control of a domain depend primarily on cryptographic keys?
  • How should lost keys be handled in a decentralized naming system?
  • How can a distributed network prevent domain name squatting?
  • Can multiple global domain roots coexist without creating confusion?
  • Is blockchain technology necessary for distributed naming?
  • Compare Handshake, ENS, and Namecoin in terms of their goals and architecture.
  • Ask an AI system to design a distributed naming protocol that does not use a blockchain.
  • Ask an AI system to compare traditional DNS registration with cryptographic domain ownership.
  • Design an experiment comparing the reliability of conventional DNS and a peer-to-peer naming system.
  • Research whether distributed naming could improve the resilience of educational or research websites.
  • How might distributed open domains interact with distributed computing, distributed storage, and digital identity?

Wikipedia readings

External readings

See also