27 lines
1.4 KiB
Markdown
27 lines
1.4 KiB
Markdown
|
---
|
||
|
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.
|