Title: Bravo Charlie One: Branding Bech32 Post by: nullius on December 25, 2017, 10:29:23 PM [The following is based on recent discussions here, and is substantively cross-posted from the dev list so as to reach a wider audience. I intend to follow up with an appropriately flavoured topic in the general user forum, and edit to add a link up here.]
I here record and expand an idea I had a few days ago on this forum about BIP 173 (https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki) Bech32 addresses. TL;DR abstract:
To help gain user familiarity with and acceptance of the error-correcting, case-insensitive Bitcoin addresses of the future, I propose a need for what I think marketers call “branding”. The best branding is that which derives naturally from some intrinsic quality of a thing; wherefore I look to what may perhaps be a bit of serendipity in the specification. I expect that in practical use, one of the great advantages of Bech32 addresses will be the relative ease of communicating them aloud—especially over the phone. In similar circumstances, when trying to convey unusual names or pseudorandom strings, I’ve found radio alphabets to work well at their intended purpose. And when reading Bech32 Bitcoin addresses in the most popular radio alphabet, they will always start with a catchy phrase: “Bravo Charlie One”. That’s memorable, $SEARCH-able, and yet also one of those unique, otherwise meaningless phrases which gets marketers excited. Keeping to a word triplet, I hereby nominate for consideration as the official nickname for Bech32 Bitcoin use: “Bravo Charlie Addresses”. These are the Bitcoin addresses with the magic words, suitable for a motto: “Bravo Charlie One means money.” Add a logo à la Segwit’s, and raise user awareness of this exciting new technology! Beyond the branding issue, recommendations for Bitcoin spelling-alphabet use in English and other languages may perhaps be a suitable matter for such standardization as would facilitate coherent user documentation. I invite discussion. Of course, this branding only applies directly to Bitcoin Bech32 addresses. The BIP 173 authors were gracious to make the standard generally adaptable; and it has already seen some uptake amongst altcoins (https://github.com/satoshilabs/slips/blob/master/slip-0173.md). I myself am now contemplating how Bech32 would be a superior human-facing format for key fingerprints for PGP, SSH, and even TLS, with HRPs of “pgp”, “ssh”, “tls”, etc. and some appropriate means of embedding the key type just as “bc” embeds the witness version. There is an urgent general need for a specification which reduces the inherent pain of wetware in handling pseudorandom strings; and I do think that anything which familiarizes users with Bech32 in a specific use will be beneficial to Bech32 adoption generally. To celebrate, I created for myself a new Bravo Charlie Address which expresses that I am pleased: Now, I have an error-correcting, case-insensitive address which can receive only genuine Bitcoin cash money. Because “Bravo Charlie One means money.” bc1q cash 96s5 jqpp zsp8 hy8s wkgg f7f6 agex 98an 7h (bitcoin:bc1qcash96s5jqppzsp8hy8swkggf7f6agex98an7h) Bravo Charlie One Quebec • Charlie Alpha Sierra Hotel Nine Six Sierra Five • Juliett Quebec Papa Papa Zulu Sierra Papa Eight • Hotel Yankee Eight Sierra Whiskey Kilo Golf Golf • Foxtrot Seven Foxtrot Six Alpha Golf Echo X-ray • Nine Eight Alpha November • Seven Hotel Here’s to the Bitcoin address format of the future! Title: Re: Bravo Charlie One: Branding Bech32 Post by: DannyHamilton on December 26, 2017, 08:54:31 AM bc1q cash 96s5 jqpp zsp8 hy8s wkgg f7f6 agex 98an 7h (bitcoin:bc1qcash96s5jqppzsp8hy8swkggf7f6agex98an7h) Bravo Charlie One Quebec • Charlie Alpha Sierra Hotel Nine Six Sierra Five • Juliett Quebec Papa Papa Zulu Sierra Papa Eight • Hotel Yankee Eight Sierra Whiskey Kilo Golf Golf • Foxtrot Seven Foxtrot Six Alpha Golf Echo X-ray • Nine Eight Alpha November • Seven Hotel Here’s to the Bitcoin address format of the future! I'm not sure why, but I find those trailing two (seven hotel) to be annoying. I haven't looked closely at the bech32 spec yet. Are bech32 addresses always 42 characters long? If not, are they generally 42 characters long? If the answer to either of those questions is "yes", then I propose dividing on a factor of 42. How about 6? bc1qca sh96s5 jqppzs p8hy8s wkggf7 f6agex 98an7h (bitcoin:bc1qcash96s5jqppzsp8hy8swkggf7f6agex98an7h) Bravo Charlie One Quebec Charlie Alpha • Sierra Hotel Nine Six Sierra Five • Juliett Quebec Papa Papa Zulu Sierra • Papa Eight Hotel Yankee Eight Sierra • Whiskey Kilo Golf Golf Foxtrot Seven • Foxtrot Six Alpha Golf Echo X-ray • Nine Eight Alpha November Seven Hotel Of course that might require you to find a new vanity address that places the word "cash" somewhere that it won't get split up, or perhaps to replace it with an address that starts with something like: bc1getwealth Which would split up on: bc1get • wealth • When reading, the cadence of: 3 characters, slight pause, 3 characters, wait for acknowledgement from recipient Flows well, sounds nice, and is easy to maintain regardless of whether you are using radio alphabet or simply reading the character names. Additionally, it is "Keeping to word triplets" throughout. Title: Re: Bravo Charlie One: Branding Bech32 Post by: LoyceV on December 26, 2017, 10:09:46 AM Let me start by saying I'm terrible with names. I can't possible remember something like "P2SH-P2WPKH", I already have a hard time remembering "Bech32".
"Bravo Charlie", on the other hand, I can remember. I expect that in practical use, one of the great advantages of Bech32 addresses will be the relative ease of communicating them aloud—especially over the phone. I don't expect this to work. Maybe if an experience phone operator is reading the address, as they're used to it, but I don't know many people who can use the International phonetic alphabet. People understand it, but can't reproduce it.And accuracy is a problem: the person reading it can make a mistake, and the person typing it can make a mistake. When I read and type a Bitcoin address or private key, I make at least one mistake in every 3 keys I enter. On the phone, that would mean you have to read back the entire address again. I would go back to the conventional option: please text me your address. If you want to be able to share a Bitcoin address over the phone, it would be so much easier if the address can somehow be read as 12 words. At the moment it's much easier to share your (secret!! don't do this!!) 12 word seed phrase over the phone, than sharing a Bitcoin address. And that brings me to the feature Byteball (https://bitcointalk.org/index.php?topic=1608859.0) recently introduced: you first send funds to a "text coin" that only requires a 12 word seed to be used, then send the 12 words to whoever you want. It's insecure in the sense that anybody who hears the 12 words can take the funds, and you have no proof that you sent it to the right person, but it's meant to be used for small payments only. Example: Here is your link to receive 0.001 GB: https://byteball.org/openapp.html#textcoin?oven-typical-deputy-area-call-frequent-life-figure-actual-awful-loop-head (update: someone took the funds after 13 hours) (I admit: I've been waiting for an opportunity to use this outside the Byteball thread, and this seems like a good moment to do so. It's a working link, first one to claim it gets about $0.71 worth of Bytes) If this would be implemented in Bitcoin, the big downside is of course that it requires fees twice. The big upside is that it's very easy to read 12 words on the phone, especially if the receiving party has an app that checks the words (just like my phone wallet does). To help gain user familiarity with and acceptance of the error-correcting, case-insensitive Bitcoin addresses of the future, I propose a need for what I think marketers call “branding”. I would like this though! Months after SegWit activated, I still have no idea how to actually use it, and I think the majority of Bitcoin users has the same problem.Title: Re: Bravo Charlie One: Branding Bech32 Post by: DannyHamilton on December 26, 2017, 10:32:24 AM I expect that in practical use, one of the great advantages of Bech32 addresses will be the relative ease of communicating them aloud—especially over the phone. I don't expect this to work. Maybe if an experience phone operator is reading the address, as they're used to it, but I don't know many people who can use the International phonetic alphabet. People understand it, but can't reproduce it.The beauty of a Bravo Charlie address is that (as compared to a traditional Bitcoin address) it is much less error prone, easier to find and fix mistakes, and is easier and faster to communicate aloud even when NOT using a phoenetic "radio alphabet". And accuracy is a problem: the person reading it can make a mistake, and the person typing it can make a mistake. Thankfully, a Bravo Charlie address will make it easier to find the mistake and easier to correct it. When I read and type a Bitcoin address or private key, I make at least one mistake in every 3 keys I enter. Yes, traditional Bitcoin addresses are quite error prone and difficult to communicate. On the phone, that would mean you have to read back the entire address again. Perhaps. But if you confirm after every 4 or 6 characters, then you'll find and fix your errors before you ever get to the end of the address. Then if there is still an error that was overlooked, the error correction native to a Bravo Charlie address will make it even easier to find and fix. I would go back to the conventional option: please text me your address. There are situations where I don't want to give the recipient (or sender) my cell phone number. Title: Re: Bravo Charlie One: Branding Bech32 Post by: jnano on December 26, 2017, 10:43:42 AM I'm anti branding of this sort. I just find marketing and PR annoying in general. If a nickname is adopted naturally, okay. But "mottos"... yuck.
with HRPs of “pgp”, “ssh”, “tls”, etc. What's HRP?I would like this though! Months after SegWit activated, I still have no idea how to actually use it, I think it's just not available in the majority of software? At least not GUI-exposed.Title: Re: Bravo Charlie One: Branding Bech32 Post by: DannyHamilton on December 26, 2017, 10:51:59 AM What's HRP? Human Readable Part? Also known as "prefix" (as opposed to the other part, the "data part"). Title: Re: Bravo Charlie One: Branding Bech32 Post by: nullius on December 27, 2017, 12:03:45 AM I am gratified to see the community interest in Bravo Charlie Addresses! I’ll reply soon; meanwhile, for fun, here is the embryonic form of an idea which I call PGP Descriptors:
Code: # Thanks to sipa for segwit_addr.[ch]: This is off-the-cuff; and I do NOT want to unleash it into the wild unless/until I think it over, and at least draw up a proposed specification. Those who may be curious about the extra octets I included should see references 0 (https://www.iana.org/assignments/pgp-parameters/pgp-parameters.xhtml#pgp-parameters-12), 1 (https://lists.gnupg.org/pipermail/gnupg-users/2015-February/052422.html), 2 (https://datatracker.ietf.org/doc/draft-koch-eddsa-for-openpgp/). Now, let’s sauté some onions with the rich flavour of Bech32’s error-correcting code: Code: # A famous .onion: Bech32 is awesome. Title: Re: Bravo Charlie One: Branding Bech32 Post by: Andre_Goldman on December 28, 2017, 08:43:57 AM I was reading BIP173 and
Quote This means that when 5 changed characters occur randomly distributed in the 39 characters of a P2WPKH address, there is a chance of 0.756 per billion that it will go undetected. When those 5 changes occur randomly within a 19-character window, that chance goes down to 0.093 per billion. As the number of errors goes up, the chance converges towards 1 in 230 = 0.931 per billion. I am not quite sure what exactly "go undetected" means on that context :-\ ... I really liked "Bravo Charlie" ; ... it came to my mind "The Matrix Opening Scene, the command prompt .." I change it to BC https://i.imgur.com/t9pnlCa.gif ;D Title: Re: Bravo Charlie One: Branding Bech32 Post by: jnano on December 28, 2017, 09:39:04 AM I am not quite sure what exactly "go undetected" means on that context :-\ ... What do you mean? Undetected means the randomly corrupted address will be accepted. It could lead to a transaction to the wrong address.Title: Re: Bravo Charlie One: Branding Bech32 Post by: Andre_Goldman on December 28, 2017, 09:56:19 AM I am not quite sure what exactly "go undetected" means on that context :-\ ... What do you mean? Undetected means the randomly corrupted address will be accepted. It could lead to a transaction to the wrong address.I am sorry I am more "maker" than "coder" was thinking about the "how" the mecanism (circuit) would accept it. ed; mechanism |