[Bitcoin-ml] Upgrading CashAddr in order to improve user experience
Lucas Clemente Vella
lvella at gmail.com
Fri Feb 23 20:12:21 UTC 2018
I agree it is an expensive change, but it is a backward compatible
change that is useful in case users needs to type or write down an
address.
I dare say a situation where some wallets do support CashAddr 1.0 and
others support CashAddr 1.1 is no worse than everybody supporting just
1.0, but almost certainly better.
Can I think of very specific situations where the same address working
on some wallets and don't working on others would cause a problem?
Yes, I can. But given the fact that such address would most certainly
come from a misread (as you said, copy-pasting and QR code scanning
isn't affected), the user would already have a problem, anyway.
For completeness, the link to the discussion were users argues
CashAddr is harming UX:
https://www.reddit.com/r/btc/comments/7zm1m1/psa_the_new_address_format_added_ambiguous/?st=je0dezmp&sh=3fa86513
2018-02-23 16:10 GMT-03:00 Matias Alejo Garcia <ematiu at gmail.com>:
> Please note that copy-pasting an address or QR scanning it is not affected
> by this issue. Also, note that cashaddr has a (strong) checksum that would
> prevent this issue: if the user types it wrong; or if a malware modifies it,
> the checksum will not verify).
>
> I'm afraid the change you propose is not minor, because it will need to be
> implemented, in a coordinated way, by every wallet, exchange, etc that
> currently use cashaddr.
>
> On Fri, Feb 23, 2018 at 12:30 PM, Lucas Clemente Vella via bitcoin-ml
> <bitcoin-ml at lists.linuxfoundation.org> wrote:
>>
>> One user complained on Reddit that the new CashAddr that it is
>> ambiguous, because lowcase 'L' looks like '1' and uppercase 'i'. I
>> dare say there is the same problem with 'o' and '0'. It is a problem
>> because most users won't bother to know what characters comprises the
>> base32 encoding.
>>
>> My proposed solution is simple: treat 'i', 'L' and '1' as the same
>> encoded value of 31 when parsing input, but always record and display
>> as 'L' (use lowercase or uppercase as recommended).
>>
>> Same thing with 'o' and '0': treat both as the same character with
>> encoded value of 15 when parsing, but always display 0.
>>
>> We can make the adjustment in CashAddr spec and bump the version to 1.1.
>>
>> --
>> Lucas Clemente Vella
>> lvella at gmail.com
>> _______________________________________________
>> bitcoin-ml mailing list
>> bitcoin-ml at lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml
>
>
>
>
> --
> Matías Alejo Garcia
> @ematiu
> Roads? Where we're going, we don't need roads!
--
Lucas Clemente Vella
lvella at gmail.com
More information about the bitcoin-ml
mailing list