Human readable checksum (verification code) to avoid errors on BTC public addresses



Summary:

On August 19th, 2021, a discussion was held on bitcoin-dev regarding the usability of the last five characters in a bech32 string as a human-readable code. It was pointed out that it is actually the last six characters, but regardless, the suggestion was met with criticisms. The reasons for this were that most people are not aware of this fact, it is specific to bech32, and it is not easily readable being the last digits of a long address. However, it was argued that the checksum or the knowledge of its presence is irrelevant for verifying that one has the right address. In honestly-generated addresses, every character except the prefix has the same amount of entropy, so instead of adding a four-character code, people can compare any four characters of their choosing or even more. Both the checksum characters and data characters are equally random in honestly-generated addresses. Adding a special four-character "external" checksum may lead people to focus solely on those characters during comparisons, which could worsen how well comparisons are done in practice.


Updated on: 2023-05-21T03:28:27.696538+00:00