Author: Trey Del Bonis 2019-12-25 01:02:09
Published on: 2019-12-25T01:02:09+00:00
In a recent discussion on the bitcoin-dev mailing list, concerns were raised regarding the use of bech32 for error detection in messages longer than a certain length. Although it still encodes and decodes perfectly well, a decoder cannot guarantee detecting potential errors beyond that length. As a solution, it was suggested to define derivatives of bech32 that retain error detection properties for longer message lengths, especially for those used in lightning invoices. However, QR codes have built-in error detection using its own BCH code scheme which mitigates this issue when used there. Despite this, some members expressed skepticism about the usefulness of payment descriptors for quick transactions that QR codes work well for. Another topic of discussion was the use of base64 encoding for descriptors as a standard for master public keys. While descriptors are efficient to work with, users face difficulties copying and pasting them due to the presence of parentheses and commas which prevent highlighting by double-clicking. The proposed solution is to base64 encode the descriptors, whereby users can receive a text blog as the master public key without any extra details, and developers can easily decode them. However, the descriptor checksum poses a complication, where a typo in the base64 text could decode into multiple character errors in the descriptor, which might be problematic for the checksum. Therefore, it was suggested to attach the checksum to the end of the base64 text. These ideas were generated from discussions with achow101.
Updated on: 2023-06-13T22:53:09.349511+00:00