Published on: 2018-11-21T00:32:24+00:00
Varunram Ganesh has raised concerns about the error encoding format bech32, stating that it is not optimized for invoices with lengths greater than 71. He also questions why lightning uses hex encoded pubkeys instead of bech32. In response, Rusty Russell acknowledges that Varunram Ganesh is correct in believing that bech32 is more suitable for this purpose. However, he explains that the decision to use hex encoded pubkeys was based on their existing presence in the bitcoin ecosystem. Russell further argues that the signature on an invoice provides a stronger guarantee than the 6-char checksum.The choice between bech32 and hex encoded pubkeys for invoice addresses and raw hex encoded pubkeys has been a longstanding mystery. To address this, a specific code was selected for a sample testnet invoice after evaluating 159605 BCH codes. These codes were designed to detect 3 or 4 errors at various lengths. Only codes capable of detecting 4 errors up to length 71 were chosen, resulting in a remaining set of 28825 codes.
Updated on: 2023-07-31T20:49:02.995838+00:00