nips icon indicating copy to clipboard operation
nips copied to clipboard

NostrAuth easily readable UIN address derived from pubkey

Open saranshisatgit opened this issue 3 years ago • 13 comments

User identification number , inspired from Bitauth and SIN.

saranshisatgit avatar Aug 28 '22 13:08 saranshisatgit

I don't understand what is problematic about using public keys directly and what is the point of this UIN. I am probably missing something, but it looks you are replacing everything that is related to Nostr with new things and making a cryptographic protocol from scratch completely unrelated to Nostr.

What are BitAuth and SIN? Maybe provide some links to explanations because it is impossible to search for "SIN" and from the BitAuth supposedly-official webpages I couldn't get any explanation about how it works.

fiatjaf avatar Aug 28 '22 13:08 fiatjaf

No, not replacing, just adding. UIN is just a user identification number;

  1. Unique namespaces that could be UIN can be stored on public DB like namecoin or other, associated to keypair.
  2. Auth using these UIN if they exist and probably an open plethora of use cases.

Bitauth is using Bitcoin identity protocol for Authentication without password.

References are here https://en.bitcoin.it/wiki/Identity_protocol_v1.

saranshisatgit avatar Aug 28 '22 14:08 saranshisatgit

I still have no clue at all of what is being proposed here.

fiatjaf avatar Aug 28 '22 15:08 fiatjaf

I still have no clue at all of what is being proposed here.

I have made some changes , probably that will help

saranshisatgit avatar Aug 28 '22 15:08 saranshisatgit

I don't understand what is problematic about using public keys directly and what is the point of this UIN. I am probably missing something, but it looks you are replacing everything that is related to Nostr with new things and making a cryptographic protocol from scratch completely unrelated to Nostr.

What are BitAuth and SIN? Maybe provide some links to explanations because it is impossible to search for "SIN" and from the BitAuth supposedly-official webpages I couldn't get any explanation about how it works. https://github.com/bitpay/bitauth

saranshisatgit avatar Aug 28 '22 15:08 saranshisatgit

If you want to associate extra key information with a nostr pubkey you could just put it in the user profile (kind-0). having a generic format for tags that could be displayed on a profile (like in mastodon) would be interesting. could be used for gpg keys, website, etc. I assume this is all you really want to do?

jb55 avatar Aug 28 '22 15:08 jb55

If you want to associate extra key information with a nostr pubkey you could just put it in the user profile (kind-0). having a generic format for tags that could be displayed on a profile (like in mastodon) would be interesting. could be used for gpg keys, website, etc. I assume this is all you really want to do?

, the UIN is more like address derived from pubkey , like bitcoin address . The association is close but since it’s derived out of the pubkey it would be more suitable if user could just simply relay them and probably sign data using the UIN address type so that one knows that type x address is sending information. Other use cases can be built like identity reputations from here , since users can publish these address anywhere .

third party may choose to attest these UIN.

my main motivation is to work out a better address system , where they are easily readable

saranshisatgit avatar Aug 28 '22 16:08 saranshisatgit

sorry for my lack of understanding, but why not use the pubkey directly instead of this UIN? what properties does the UIN have that a pubkey doesn't? Can you create more than one per pubkey?

eskema avatar Aug 28 '22 16:08 eskema

, the UIN is more like address derived from pubkey , like bitcoin address . The association is close but since it’s derived out of the pubkey it would be more suitable if user could just simply relay them and probably sign data using the UIN address type so that one knows that type x address is sending information. Other use cases can be built like identity reputations from here , since users can publish these address anywhere .

a pubkey is just a 64 byte number IIRC. so is it a matter of representing it in a bitcoin address format that you need?

cameri avatar Aug 28 '22 16:08 cameri

my main motivation is to work out a better address system , where they are easily readable

I want that too, but I don't see the point of this UIN thing. Can't you get your Namecoin name to point to your Nostr key directly?

fiatjaf avatar Aug 28 '22 17:08 fiatjaf

sorry for my lack of understanding, but why not use the pubkey directly instead of this UIN? what properties does the UIN have that a pubkey doesn't? Can you create more than one per pubkey?

Sorry for not presenting idea properly some key things were left out from the proposal, 1) Better representation of the key, you can generate one single unique key out of the pubkey, 2) If you want the UIN to be persistent then one may use Lightning or sats to pay some fees.

UIN properties are (referenced from Bitcoin Identity v1 Protocol)

Ownership may be digitally proven
Attach sequence of key-value pairs (public proof) and hashes (private proof) to your SIN record.
A merkle root exists in each record, for even more private proofs.
Start as anonymous; opt out of anonymity by attaching identifying key-value pairs (real.name = "John Smith", gov.us.ssn = "123-45-6789").
Disposable
All key-value pair updates digitally signed by SIN owner (key holder)
Third parties may offer digital attestions:
Identity Verification, Inc. digitally signs a SIN as passing their Not A Criminal/Level-1 check.
Big Auction Provider, Inc. digitally signs a SIN as having a certain reputation score, on their website.
Decentralized market users digitally sign one another's SINs, building a decentralized reputation
Type-1 UINs: have some creation cost, deterring spam.
Type-1 UINs: Sacrifice may be digitally proven, bootstrapping root of trust from blockchain data

saranshisatgit avatar Aug 29 '22 05:08 saranshisatgit

ok, I may still misunderstand some concepts, but in the case of nostr, you already have an identity tied to you, and you can prove you control it by posting using a pubkey / privkey. It's different from bitcoin because in bitcoin, addresses are not identities, they're disposable recipients not tied to any other identity. In that case, a UIN makes sense. In nostr, the pubkey is already an identity so all this makes no sense here.

eskema avatar Aug 29 '22 10:08 eskema

Agreed , pubkey is a form of identity, but same with nostr pubkey they are not tied to any other identity also , since I can generate thousands of pubkey and sign events from them and yet claiming that it’s not mine. But if Make it expensive (question is do we really need at the nostr end ) to acquire UIN for these pubkey that work in eliminating spam and allows user recognition with reputation that makes sense.

Some events say like , claiming a statement X is true from a well known UIN versus a pubkey publishing the same event !

Maybe 🤔, I need to rethink the whole thing again!

saranshisatgit avatar Aug 29 '22 11:08 saranshisatgit