[RFC] Public Name System: Resolution and RDF

That depends. On the XOR-URL level this routes to the ResolveableMap eg. The fragment is not part of that data resolution.

Then the app, could choose to resolve the fragment (if its a document that supports that, eg RDF / ResovleableMap). That’s beyond the scope of the XOR URL IMO


@joshuef here is that list
ONS - Open Naming System @draw, @neo
sns - safe naming system @jlpell
PNR - Public Name Resolution
PNRS - Public Name Resolution System
NNS - Network Naming System
PNNS - Public Network naming System
PDNS - Public Distributed Naming System
DDN - distributed domain naming @drehb
DRS - domain resolution system @drehb
DPIS - Distributed Public ID System - or DPIDS or DPS
SDNS - SAFE Decentralized Naming System
DPNS - Distributed Public Naming System

1 Like

Following up re: @rob’s shortlist

I believe SNS is a writeoff w/r/t Solid Name System. And DPNS will suffer as much as PNS just with added definite article.

I’m wary of Public ID in there as there’s a lot of potential with WebIDs and I fear sowing confusion around the ID term,

I’d personally advocate for less words to acronise (PNR > PNRS) .

From that list, I prefer:

  • ONS - Open Naming System @draw, @neo
  • PNR - Public Name Resolution
  • NNS - Network Naming System
  • DDN - distributed domain naming @drehb

I started by looking at which are easier to say, and in that basis plus the points made by @joshuef prefer:

  • ONS - Open Naming System @draw, @neo
  • NRS - Name Resolution System

What about a poll like below?
I see that I can’t add extra options without resetting the count, so that has to be counted manually (if necessary).
Is it possible to make the poll so that you can change your vote?
After for example after a week and if the most popular option doesn’t get 50%,
we do a new poll with the top 5 (or another number).
And maybe the same process a week later for the top 2?
If that are too many options for this stage a poll between ONS, PNR, NNS and DDN is also a possibility.

Edit: I’ve troubles do let the forum poll do exactly what I want.
So a copy-paste-add of the following below or a wiki (best on top of a topic). But I can’t make a wiki myself on this forum (safedev). And if there is still no clear winner for example after a week choose again among the top options?

  • DDN - Distributed Domain Naming
  • NNS - Network Naming System
  • NRS - Name Resolution System @happybeing
  • ONS - Open Naming System @draw, @rob
  • PNR - Public Name Resolution

If you want another option to vote on yourself (to start with), you could add it.

1 Like

Can you add:

  • NRS - Name Resolution System


1 Like

Here is a Poll. I’ve added 5 extra with new code 1 to 5.
I will edit my post to add in any more suggested names and give it a number 1 to 6

  • DDN - Distributed Domain Naming
  • NNS - Network Naming System
  • NRS - Name Resolution System @happybeing
  • ONS - Open Naming System @draw, @rob
  • PNR - Public Name Resolution
  • New name 1 (see below)
  • New name 2 (see below)
  • New name 3 (see below)
  • New name 4 (see below)
  • New name 5 (see below)
  • New name 6 (see below)

0 voters

New names not known when poll made. Poll resets if I try to add them after. So vote for the “new name #” selection in the poll

  1. PNS - Public Name System (male member)
  2. sns - safe naming system @jlpell
  3. XAN - XOR Address Naming
  4. SDNS - SAFE Decentralized Naming System

Removed since no votes at all
PPN - Perpetual Public Name
SRR - Safe Resolution Register
FNS - Friendly Naming System


I like this one. It is simple, and follows the naming of IPFS, which has IPNS. Writing this I see IPNS contains PNS too haha…I didn’t hear anyone complain about that in the IPFS community, although I don’t follow it that closely. Maybe the “I” in front obscures it.

1 Like

Consider this. If you still want it listed then tell me and I’ll add it

Perhaps we can forget about this is the analogous/equivalent to the clearnet DNS and think of what it really is: an alias system to create nice/pretty/human-readable URLs. Perhaps something like Pretty URL System, URL Alias, XOR name Alias, Human Readable XOR name, … ?


Can I ask the context in which it will be used? If it’s something people are going to type a lot at the command line then there’s merit in keeping it as short as possible (As a lousy typist I get bored and annoyed just typing apt-get especially after using Fedora’s dnf). On the other hand, if it’s going to be referred to a lot from other documents, or if it needs to be understood by non-coders, then what the initials stand for and the meaning and function of the naming system should be clear. dnf stands for ‘Dandified YUM’ which is totally meaningless to anyone not up on the history of Fedora, but that doesn’t matter given the way it’s used.


I think you wouldn’t be typing it unless you are using the CLI where we are having a subcommand for creating public names, which you wouldn’t do that often, only when publishing a new name from time to time for a website. If I get you right, I agree that most of people don’t know what DNS is or that it exists but they still use the internet. Perhaps this is more a question of the potential use of it in marketing materials as from my understanding there are not many decentralised DNSs out there, or not that simple in its implementation I believe?

1 Like

OK, in that case I’m with you.

No point in adding to the number of TLAs already out there just for the hell of it!

I think the value of the name is in marketing and explaining, so having a term that is equivalent to (but different from) DNS helps. People can digest a new concept easier if it relates to something they already understand, so if you call it an alias, they are less likely to recognise that it performs/helps perform, the functions of DNS. I think this is also why we’ve been discussing quite similar terms and only just considered dropping that altogether in favour of something like an ‘alias’.


Sure - all depends who the people are and what their prior knowledge is. Personally I don’t like the use of DNS with the D standing for Decentralised as having the same initials just adds to confusion (plus the fact it’s decentralised is neither here nor there) - but that may just be me. I generally dislike abbreviations unless there’s a good reason for them, eg having to repeatedly type them out.

Using DNS would be confusing - have clarified my post.

How about something aligned with our goal of perpetual web: Perpetual Naming System ?
Got inspired from reading this: https://decryptmedia.com/7155/unstoppable-domains-raises-4-million-create-uncensorable-websites

EDit: I just realised that’s still PNS hahaha…but anything around Perpetual is what I suggest :slight_smile:


I love the name but the acronym just won’t go away will it!

Perpetual Web Naming… PWN we can pwn lol


It’s a good idea, but isn’t it actually mutable (a pointer to XOR address)? So a bit confusing/contradictory.

I liked your Human Readable XOR ideas…

XAN - XOR Address Naming
XSN - XOR Space Naming
HXM - Human XOR Mapping

Public names are made by simply having a deterministic way of finding a xorname from a string, so we use sha3, so public name “myname” is made by just creating a published AppendOnlyData (in Alpha2 it’s a public MD) at the location sha3("myname"), that piece of data cannot be removed, which means that public name will stay forever and available for our fetch/resolver function to locate safe://myname.

As per the subnames, depending how we implement it with AppendOnlyData now, it could be that different versions of the same public name expose different subnames, but still, any subname that was published under a public name will be available forever at a specific version of that AppendOnlyData, so you perhaps cannot see safe://subname.myname at some point, but you still should be able to see safe://subname.myname?v=3 (safe://subname.myname should be equivalent to safe://subname.myname?v=latest).

We imagined that even the browser could give the option to choose which version of URL you want to switch to, and I’m now thinking we could even have th browser to try to find in previous versions if the latest doesn’t have the subname you are looking for, showing you a message like “hey, latest version of that public name doesn’t contain the specified subname, but I found version X which is the latest having it, do you want me to fetch and render that version for you instead?”