Post
Topic
Board Bitcoin Technical Support
Merits 3 from 3 users
Re: Two questions about bitcoin public key
by
o_e_l_e_o
on 10/09/2019, 20:24:11 UTC
⭐ Merited by javadsalehi (1) ,TalkStar (1) ,ETFbitcoin (1)
Bech32: 1 , b , i , o
P2PKH: O , I ( uppercase letter) , l (lowercase letter) , 0
Am I right?
Yes, this is correct.

I wonder why "b" and "i" are excluded in Bech32 addresses. I think uppercase letter "I" and lowercase letter "l" can cause visual ambiguity much more than "b" and "i". Every one will distinguish "b" and "i" from other characters easily.

You can read about the reasoning behind excluding those characters here in the BIP 173 link I posted above:

The character set is chosen to minimize ambiguity according to this visual similarity data, and the ordering is chosen to minimize the number of pairs of similar characters (according to the same data) that differ in more than 1 bit

Also see this quote from Greg Maxwell:

We did, the character set does not include "1", "b", "i", or "o"; which is the unique selection which minimizes the number of visually confusing pairs, at least given the NIST visual confusion data we had available to us at the time.

By excluding "1" and "i" you remove the confusion with "l". By excluding "o", you remove the confusion with "0". By excluding "b", you remove any confusion with "h" or "6", or in case of using all uppercase, "B" and "8".