1.4 KiB
1.4 KiB
title |
---|
Petname Language |
Many different cryptographic identifiers get a petname, but the primary one of thought and concern is petnames for Zooko identifiers.
A Zooko identifier arrives as display name, nickname, public key, and signature binding the display name and nickname to the public key.
A petname for a Zooko name is derived from the nickname:
- remove all leading and trailing whitespace.
- If there are no alphabetic characters, prefix it with one at random.
- Move any leading characters that are not alphabetic from prefix to affix.
- Replace all whitespaces with hyphens.
- Replace all special characters with their nearest permitted equivalent.
"#%&'(),.:;<=>?@[]\^{|} ~` are special characters that allow escape from plain text. In displayed text, @ will signify a petname corresponding to a Zooko name.
If someone's nickname is Bob, he will likely get the petname Bob, which will be displayed in text as@Bob
, indicating it is likely to be translated in transmission and reception. - If the result is a duplicate of an existing petname, append a number that renders it unique.
- The user gets the opportunity to revise the petname, but his petname has to be a valid identifier that conforms to the above rules, or else it gets revised again.
- The user may know that several petnames correspond to one entity, but he cannot assign several nicknames to one petname.
We will also eventually have local ids for receive addresses.