[Bitcoin-ml] Proposal to deploy cashaddr January, 14

Lucas Clemente Vella lvella at gmail.com
Wed Nov 15 16:49:10 UTC 2017


2017-11-15 12:04 GMT-02:00 Amaury Séchet <deadalnix at gmail.com>:

> You also are missing the point with prefixes and base32. When encoded in a
> link or a QR code, a bech32 address is as follow:
> prefix:hrp1addresschecksum . The change that took place here is a removal
> of the HRP and an integration of the prefix into the checksum computation.
> This removes double prefixing.
>

I assumed HRP was replaced with prefix (correctly, I guess) in the changed
spec, so now we will have addresses like
"qpzry9x8gf2tvdw0s3jn54khce6mua7lcw20ayyn"
running if the wild. I just think the ability to look at it and determine
what is it easily, like in "bch1qpzry9x8gf2tvdw0s3jn54khce6mua7lcw20ayyn"
is too important to be lost. Repetition in links sucks, but not having the
HRP sucks more. I urge you to consider this issue independently from my
much more feeble attempt in defending base58.



As to base32 you also missed the 2 most important factors. The first one
> being that error detection codes such as BCH works on alphabet of the size
> of the power of a prime. 2 being a prime, an alphabet of size 32 is
> suitable. 58 is not a power of a prime and therefore, forces the use of
> inferior error detection methods. In addition, base58 encoding require
> numerous division of large integers, which is computationally expensive.
> That may not seems like a lot for your wallet that handle a handful of
> addresses, but it actually shows in profile of service that manipulate very
> large number of addresses.
>

If speed is an issue, base32 is a good and justifiable change (and I am
taking your word here because I don't have hard numbers).

If the issue is compatibility with BCH, the consequence of using base58 is
simply that we will lose is the ability to point precisely what character
the error happened. I assumed, maybe wrongly, that wasn't very important,
and the GUI could just loosely color or point the general position where
the error occurred. By the way, on that matter, the new spec introduced a
version "byte", whereas the original spec had a version "value" (which is a
5-bit base32 value). Wouldn't it be desirable to use a 10-bit value instead
of 8 as version value?

-- 
Lucas Clemente Vella
lvella at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-ml/attachments/20171115/6eb1ef26/attachment.html>


More information about the bitcoin-ml mailing list