Note: still very WIP

What are IPNS and DNSLink?

IPNS stands for InterPlanetary Naming System and is a self-certifying mutable pointer. It achieves this capability by utilizing public and private cryptographic key pairs and having the name of the mutable pointer be securely derived from the public key that can verify the pointer. Since the name of the pointer is tied to how the pointer can be certified it is called “self-certifying”. Those familiar with IPFS will notice a similarity with content-addressing being self-certifying since in that case also the name of the pointer (e.g. CID) is tied to how the pointer can verified (e.g. hashing). This self-certifying nature gives IPNS a number of super-powers not present in consensus systems (DNS, blockchain identifiers, etc.), some notable ones include: mutable link information can come from anywhere, not just a particular service/system, and it is very fast and easy to confirm a link is authentic.

DNSLink is a standard for a mutable pointer system that stores its links in DNS TXT records corresponding to a given domain name.

Technical Baggage

Default performance

JS Stack Support

No tooling in go-ipfs for IPNS third party republishing

More Issues in ‣

Ecosystem Baggage

Fundamental Issues with Public Key Addressing (e.g. IPNS)