RFC - Decentralised Naming System

Create a Nickname (domain name) that is uniquely identifiable as well as customizable in such a way as to promote human-meaningfulness, while retaining a many-to-one mapping that discourages domain name transfers/purchases.

That is my thought on how this “Nickname System” (DNS) should work. Now, is it true that Public Personas have already accomplished this? (If you’re stuck, use my previous thread as a reference.)

Next, what can we say about Public Personas? Can they be as effectively anonymous as they contrarily have the ability to be reputable?

Well, how are they calculated?

To clarify what a public key is:

Now here’s the kicker. Since the name itself is not necessarily unique, you need that Identifier. Let’s just stick to the proposed Public Persona example here:

Which leads to:

When I apply for a “Nickname” (DNS site name) The network will look at my Public Nickname (the name that I chose for the site (long_name)) and the first three characters of my hashed Identifier of my Public Persona, thus changing this line of the proposition:

to

Change that to a webpage: safe:smacz.b34. And you have a unique decentralized distributed non-squattable (statistically speaking) domain name that I can prove belongs to me while remaining completely anonymous and is uniquely identifiable as well as human-memorable.

If you create a Public ID specifically to act as the site’s admin, the website is said to be run by an anonymous user. If you create the website with an existing Public ID, the website is said to be run by a reputable user (as ownership can be proven by hashing your Public Persona’s Identifier). All users must create a new Public Nickname for this site. Whatever setup the network has to handle Public Persona resolution would be the same to handle this Nickname System.

This would change:

to

To find this information an application will SHA512(SHA512(Identifier + Nickname) + type_tag) and retrieve this packet.

I can’t be 100% sure that I didn’t misunderstand some aspect of the Public Persona process and how it can map on to a Nickname System. Did I miss something?

EDIT: Known tradeoffs:

  1. Each site must have a Public Persona who created it. Only one Public Persona can be linked to any given site. However, one Public Persona may administer many different sites (with different Nicknames of course).
  2. There is of course an element of randomness in the Nickname: the three letters after the dot (“.”). This impacts the meaningfulness/readability/Paper Napkin Problem of the site, but only in slightest degree.
  3. The Identifier is not standardized; a TLD in this case really doesn’t mean squat. It’s just to verify the site as unique.


Keep in mind, by implementing the Petname System, the only time that you will have to enter the Nickname is when you are discovering a new place on the SAFE Network. If you are referred to it by any other digital means over the network, it will transfer to you the 32-bit hex (or whatever) key of the unique name on the network, along with the suggested Nickname that you will be prompted to rename to your Petname.

FROM THIS POINT ON, the only way that this specific data is be referenced, the network will always display it as your Petname. Nothing more, nothing less. This minimizes the importance of Nicknames (domain names), since sharing online will always be relative and unique. The only way they’re really important is when you consider the “Paper Napkin Problem” or the “Moving Bus Problem”, where sharing off-the-net is necessary.



In regards to Nickname (domain name) transfer, if an entity wished to ‘purchase’ a domain name, they would have to cultivate a new Public Persona that shared the same SHA512 of the Identifier as the existing site admin. This is prohibitively hard. It would be much easier to create a new domain with the same name, but use a new public key for the new identifier - now the last three characters will be different: the .abc, .123, etc. Also, if it really was a friendly sale, the website would be able to broadcast a (signed) update notifying all of the Petname Systems of the change to the Verification Code (last three characters). To the end user nothing would look different. Only under the hood would the addresses be different.

Keep in mind this Nickname System works on the two levels of readability as the DNS system today does. On top, it’s the user-chosen string concatenated with the first three characters of the SHA512 of the Identifier. That actual address - the IP address lookup in the DNS system - will be the SHA512 of the Persona’s Identifier concatenated with the Nickname.

This leads to being able to say to another user “Go to my location with this Nickname”, and since they already have your Identifier, they can SHA512 that concatenated with the Nickname you give them and receive the unique name of your site. (as it would appear under-the-hood).

There would be no way to perform a Hostile Takeover of the Nickname, as the same function that prevents similar Persona + Identity combinations from existing will be enforced on the naming of new Nicknames.

2 Likes