Skip to main content

DNS Discovery

Built upon the foundation of EIP-1459: Node Discovery via DNS, DNS Discovery allows the retrieval of an ENR tree from the TXT field of a domain name. This innovative approach enables the storage of essential node connection details, including IP, port, and multiaddr.

This bootstrapping method allows anyone to register and publish a domain name for the network, promoting increased decentralisation.

Pros

  • Low latency, low resource requirements.
  • Easy bootstrap list updates by modifying the domain name, eliminating the need for code changes.
  • Ability to reference a larger list of nodes by including other domain names in the code or ENR tree.

Cons

  • Vulnerable to censorship: Domain names can be blocked or restricted.
  • Limited scalability: The listed nodes are at risk of being overwhelmed by receiving all queries. Also, operators must provide their ENR to the domain owner for listing.

Overview

  1. DNS lookup query to retrieve TXT data stored on example.com domain.
  2. enrtree-root is returned, and the value of e is the enr-root, the root hash of the node subtree.
  3. DNS lookup query to retrieve TXT data stored on <enr-root>.example.com domain.
  4. enrtree-branch is returned; this tree contains hashes of node subtrees.
  5. DNS lookup query to retrieve TXT data stored on DU...VQ.example.com domain, the first leaf of enrtree-branch.
  6. enr record is returned.
  7. Returned value is decoded, and peer connection details such as IP address and port are learned.