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.