Closed cinnamon-bun closed 4 years ago
If only SSB used base58 like IPFS and Bitcoin do. It's URL-safe.
I think this would be a wonderful experiment, though would avoid the BIP39 list as it really is a biased selection.
The '6 sad squid snuggle softly' feels right to me.
As an alternative, how about a wordlist from interlingua, or a pronounciation list like how urbit does it:
prefixes = ["doz","mar","bin","wan","sam","lit","sig","hid","fid","lis","sog",
"dir","wac","sab","wis","sib","rig","sol","dop","mod","fog","lid","hop","dar",
"dor","lor","hod","fol","rin","tog","sil","mir","hol","pas","lac","rov","liv",
"dal","sat","lib","tab","han","tic","pid","tor","bol","fos","dot","los","dil",
"for","pil","ram","tir","win","tad","bic","dif","roc","wid","bis","das","mid",
"lop","ril","nar","dap","mol","san","loc","nov","sit","nid","tip","sic","rop",
"wit","nat","pan","min","rit","pod","mot","tam","tol","sav","pos","nap","nop",
"som","fin","fon","ban","mor","wor","sip","ron","nor","bot","wic","soc","wat",
"dol","mag","pic","dav","bid","bal","tim","tas","mal","lig","siv","tag","pad",
"sal","div","dac","tan","sid","fab","tar","mon","ran","nis","wol","mis","pal",
"las","dis","map","rab","tob","rol","lat","lon","nod","nav","fig","nom","nib",
"pag","sop","ral","bil","had","doc","rid","moc","pac","rav","rip","fal","tod",
"til","tin","hap","mic","fan","pat","tac","lab","mog","sim","son","pin","lom",
"ric","tap","fir","has","bos","bat","poc","hac","tid","hav","sap","lin","dib",
"hos","dab","bit","bar","rac","par","lod","dos","bor","toc","hil","mac","tom",
"dig","fil","fas","mit","hob","har","mig","hin","rad","mas","hal","rag","lag",
"fad","top","mop","hab","nil","nos","mil","fop","fam","dat","nol","din","hat",
"nac","ris","fot","rib","hoc","nim","lar","fit","wal","rap","sar","nal","mos",
"lan","don","dan","lad","dov","riv","bac","pol","lap","tal","pit","nam","bon",
"ros","ton","fod","pon","sov","noc","sor","lav","mat","mip","fip"]
suffixes = ["zod","nec","bud","wes","sev","per","sut","let","ful","pen","syt",
"dur","wep","ser","wyl","sun","ryp","syx","dyr","nup","heb","peg","lup","dep",
"dys","put","lug","hec","ryt","tyv","syd","nex","lun","mep","lut","sep","pes",
"del","sul","ped","tem","led","tul","met","wen","byn","hex","feb","pyl","dul",
"het","mev","rut","tyl","wyd","tep","bes","dex","sef","wyc","bur","der","nep",
"pur","rys","reb","den","nut","sub","pet","rul","syn","reg","tyd","sup","sem",
"wyn","rec","meg","net","sec","mul","nym","tev","web","sum","mut","nyx","rex",
"teb","fus","hep","ben","mus","wyx","sym","sel","ruc","dec","wex","syr","wet",
"dyl","myn","mes","det","bet","bel","tux","tug","myr","pel","syp","ter","meb",
"set","dut","deg","tex","sur","fel","tud","nux","rux","ren","wyt","nub","med",
"lyt","dus","neb","rum","tyn","seg","lyx","pun","res","red","fun","rev","ref",
"mec","ted","rus","bex","leb","dux","ryn","num","pyx","ryg","ryx","fep","tyr",
"tus","tyc","leg","nem","fer","mer","ten","lus","nus","syl","tec","mex","pub",
"rym","tuc","fyl","lep","deb","ber","mug","hut","tun","byl","sud","pem","dev",
"lur","def","bus","bep","run","mel","pex","dyt","byt","typ","lev","myl","wed",
"duc","fur","fex","nul","luc","len","ner","lex","rup","ned","lec","ryd","lyd",
"fen","wel","nyd","hus","rel","rud","nes","hes","fet","des","ret","dun","ler",
"nyr","seb","hul","ryl","lud","rem","lys","fyn","wer","ryc","sug","nys","nyl",
"lyn","dyn","dem","lux","fed","sed","bec","mun","lyr","tes","mud","nyt","byr",
"sen","weg","fyr","mur","tel","rep","teg","pec","nel","nev","fes"]
Maybe relevant: there's an agreed-upon encoding that's URL-safe called SSB-URI. It's unfortunately more verbose. I think that if someone wrote a module to wordify the public key then I wouldn't be against showing that somewhere, but I think I'm unclear which problem this would solve (or more specifically: how a user would use this).
I think a scheme like this would be worthwhile for importing or exporting keys, but I don't think I understand the use-case for putting it on the profile [yet?].
One problem it solves is telling a person your key. If I’m chatting with friends and say “search my identity shrews sleeping soundly” it’s a bit easier to search for
That's a good point, but I think it'd be like "search my identity: fish fuel impose leg power assault erupt spin defense gravity ordinary siege hungry gun picture defense soccer extend grass city void jar good extra". I think I'd feel lots more comfortable adding this as a search/import/export option if it's well-specified and agreed-upon by others in the community.
Urbit encodes 32 bits into 2 word-4 syllable forms, which means a minimal syllable count is still tough to share, since we would need 16 words / 32 syllables. I think one of the tough parts of the BIP list is the different syllable counts.
Yeah, this is tough to do.
marned-wismul-nilsev-botnyt
fepwok-tambuv-rikdel-conbit
wicdev-wisryt-poldec-tonteg
rovnys-ricfer-pindet-timmut
Maybe it can be more like a prefix search - do the first four, and if there are multiple matches, choose from there. We have naming collisions on facebook and can still find each other.
I'm not really proposing anything concrete, I just wanted to explore these ideas together in case something useful emerged. Doesn't really look like this is useful. I'll close the issue in a couple of days.
I'm not really into this.
It's hard to remember or talk about SSB IDs like
@L+nPFTMUHWXuchOwuzT6Z8Ea8wD/Rtd7leVRxGaknVk=.ed25519
Making them memorable and pronounceable would help against impersonation and MitM attacks.
Could we have a human-friendly version like "6 sad squid snuggle softly"? Christian found this blog post:
https://blog.asana.com/2011/09/6-sad-squid-snuggle-softly/
It looks like SSB ids are 256 bits (32 bytes), base64 encoded into 44 bytes of ASCII. Asana's example only has 32 bits of entropy.
There's a bitcoin standard BIP0039 for doing this. It uses 11 bits per word (2048 words in the list), so we'd need 24 words. It would look like this:
Pros
Cons
Where could we use this
My conclusion is that users still need access to traditional SSB style IDs. We could show both kinds on profile pages although this might be overwhelming to users. Maybe a button to swap the ID display between "words" and "letters"?
¯\(ツ)/¯