5 ms·
No expertise to comment about the tech/crypto design, but Satoshi definitely seemed to care about the users. I once skimmed through Satoshi's code while I was
by Sreyanth 8y ago
No expertise to comment about the tech/crypto design, but Satoshi definitely seemed to care about the users.
I once skimmed through Satoshi's code while I was in college and found this: https://github.com/bitcoin/bitcoin/blob/v0.8.2rc3/src/base58.h#L7-L14 https://github.com/bitcoin/bitcoin/blob/v0.8.2rc3/src/base58...
I've neither seen any such decision in any other project, nor have I come across any strong advocacy for such things online. FAIW, Satoshi might be a kick-ass UX designer too.
In a different tangent, do any of you remember or still see/make such decisions (mostly to build a better UX)?
- jonas21 8y agoThese are very similar to the considerations that were discussed in RFC 3548, which documented Base32 and Base64. I assume they were pretty well known at the time the code you linked to was written. https://tools.ietf.org/html/rfc3548 https://tools.ietf.org/html/rfc3548
- jacobolus 8y agoSeems e.g. Flickr did roughly the same thing for its short URLs at around the same time. https://www.flickr.com/groups/api/discuss/72157616713786392/ https://www.flickr.com/groups/api/discuss/72157616713786392/
- oconnor663 8y agoA downside of base58 as implemented by Bitcoin: leading zeros are optional, so there are multiple possible valid encodings of a single address, and addresses don't have a fixed length.
- jacquesm 8y agoThat's a lot better than the typical 'pay this invoice with the exact description' you get from municipalities here where the 'exact description' is a string without spaces and a ridiculous number of leading zeros.
- dangerface 8y agoI used to host counter strike games and voice servers, every one else just gives you a random port number like 39281, ugly, difficult to remember, awkward to tell people. I wrote a script that would generate ports that where easy to remember stuff with doubles and triples like 4040 or 44455. I found it super helpful, no customers ever mentioned it, but if you are doing UX right I guess they should never notice it.
- orbital-decay 8y agoSimilar features are often found in encryption products, for example openssh which gives you a visually distinct ASCII randomart to easily spot the difference between the keys.
- torgoguys 8y agoDouglas Crockford documented his BASE32 encoding in 2002. It's a very friendly format with many nice characteristics, including those in Satoshi's base58 and more (listed in his "requirements" section here: https://www.crockford.com/wrmg/base32.html https://www.crockford.com/wrmg/base32.html)
- andrewla 8y agoI like it, but I think the exclusion of U is unnecessary -- excluding Z2 or 5S similarities seems like it would be preferable.