I propose that we use names from the Bitcoin Name System (BNS) as globally unique names for Nostr. Let’s call them Nostr Names and the spec NIP-69 because it’s quick and dirty and why not? I’ve written a draft spec and added functionality to a fork of Damus, the beautiful iOS Nostr client by jb55.
Nostr has three things that other upstart social networks do not have, pragmatism, simplicity, and, most importantly, a passionate community of technically-savvy and product-focused users.
Nostr is based on the same public key cryptography as bitcoin and uses a simple client-relay architecture to distribute your notes and hints on which relays to find them to your followers. Users are represented by public keys like npub132w0sg64x08h2klxvytsamgcu63qqmk8d2yv8ltay8nvzwahk6wsyg2j8n (mine!) and you follow someone by following their public key. Posts, or “events” in Nostr-speak are addressed by the hash of their content and signed by the publisher’s private key.
When you start to use Nostr you quickly run into the difficulty posed by talking about identity solely by using a public key. Most humans today can’t remember their own npub let alone those of their friends. There are a number of proposals to try make Nostr public keys more human-friendly by giving them names…in fact, the very second "Nostr Implementations Possibilities", NIP-02, suggests using petnames. NIP-05 raises the possibility of using internet identifiers, user@domain - like email addresses - as a way to associate public keys with a name. Some users have even taken to “mining” public keys - repeatedly generating private keys until the associated public key begins with their desired string of characters - to make them appear more human-friendly.