Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 2.23 KB

README.md

File metadata and controls

27 lines (18 loc) · 2.23 KB

Aliasing Middleware

Resolve Handshake SLDs trustlessly.

Usage

Install hipr, then run

hipr install hipr-aliasing

to install the aliasing middleware, and spin up your hipr server (assuming you have an hsd root resolver on port 5349):

hipr hipr-aliasing :5333 :5349

To test if it's working, try running dig @127.0.0.1 -p 5333 luke.dsub +short. you should get 66.42.108.201.

How it works

If a Handshake TLD {tld} sets a HIP-5 NS record "{hip5data}._aliasing", then any HIP-5 extension implementing the aliasing protocol must:

  1. For any SLD {label}.{tld}, compute the {alias}: the base32 encoding of the blake3 hash of {label} concatenated (as strings) with the first label of {hip5data} (line 24).
  2. Forward the original DNS query for {label}.{tld} to {alias} (line 30) after substituting {label}.{tld} for {alias} (line 25), then return the response after substituting {alias} for {label}.{tld} (lines 34-41)

A TLD owner wishing to open their TLD for SLD registration should set a single HIP-5 NS record as above with a unique public key as hip5 data, then set their TLD to renew-only. They can use the public key to prove that they originally owned the TLD.

A HIP-5 extension supporting the aliasing protocol might also resolve top-level records for the TLD using the public key as a decentralized zone address, as we do in the experimental implementation discussed below. If it does, it must specify the distributed zone protocol that it is using as a sublabel, such as: {public-key}._hyper._aliasing. For this reason, only the first label of {hip5data} should be used to compute {alias}.