damus
damus copied to clipboard
Consistent terms & translations
We shall discuss how to achieve consistent terms and translations.
Account, Private Key, Public Key
Currently there are different terms for the same thing in use:
- Account, Account ID, Account Key, Public Account ID
And also:
- Secret Account Login Key, Secret Account Key, Private Key
My proposal: Use the terms "public key" and "private key" only for the fields containing npub & nsec. It is correct from a cryptographic point of view and it would help to convey the message that there is no "account" as on a centralized platform. Nevertheless it might confuse new users. Therefore I propose to use the term "account" wherever those two fields are used together, for example on the "settings" screen and when logging in or creating a new key pair.
This discussion was started on Nostr: note1309a8g74ccvu5js3tz6cv56jdw0cse4gfp66xlk05clnxm9pr7mqgz0f5k
Other important terms we might discuss here:
- Follower
- Post
- Reply
- Repost
- Broadcast
Not all terms are "defined" through NIPs. Some are also borrowed from Twitter, as I see it.
Thanks for specifying this. Support the proposed account, public key, private key differentiation. Thoughts: Post: replace with “share”? Would this conflict with iOS “share” language, eg. share sheets? Broadcast: “publish”, “submit”? Follower: Any fans of “reader”, “supporter”, “subscriber” instead?
Nostr protocol https://github.com/nostr-protocol/nostr main page terminology:
- public key (4 times)
- pubkey (same as public key) (1 time)
- sign (3 times)
- signatures (3 times)
- publish (11 times)
- broadcast (1 time)
Here are the relevant quotes:
Every user is identified by a public key. Every post is signed.
it is based on cryptographic keys and signatures,
you write a post, sign it with your key
There is no mention of "secret", "private", or "account" terminology in nostr-protocol github.
I recommend not using "account", as this is a term used in centralized services like gmail, lyft, twitter etc.
I like @pgerstbach suggestion of using public key.
Because nostr-protocol git does not use private key, I recommend instead to use the term "Signing Key", or "Signature".
Sorry, I just remembered that this was a thing and left it hanging.
If you look into NIP-19, it uses public keys, pubkey, and private keys as terminology.
Public / private key pairs is pretty well known terminology for many folks who are well versed in technology. Since it's already in the NIP, I feel like that is the best option.
I feel like signing key or signature could be confusing to folks.
But yes, I don't think Account should be used.
Thoughts?
Staying consistent with the NIPs sounds reasonable.
Would be great to eventually poll options with non-technical users. Related PR: https://github.com/damus-io/damus/pull/243
Public / private key pairs is pretty well known terminology for many folks who are well versed in technology. Since it's already in the NIP, I feel like that is the best option.
Thanks tyiu, I see it the same way.
As a reminder this is the current view in Settings:

Why is the public key called "Account ID" but the private key "account login key"? Those words does not explain anything.
So now, after letting it sink, I am in favour of "public key" to label the npub1xxxx thing. To stay consistent it might be best to call the nsec1xxx thing "secret key". This way to UI would actually help non-technical users to better understand what the fields actually contain. They might wonder what npub and nsec means and using those labels they can see that "pub" stand for public and "sec" stands for secret.
UI is like a joke. If you have to explain it, it's not that good! 😅
https://damus.io/note1mver8pxjpmz0s3u3rqv0wkqcx7uj2l9azy3m6nekn22qgp0z80mszg9evu
Jack:
"notes” is a far better label than “posts”.
and more unique to #nostr