I am reading the book Grokking Bitcoin by Manning 2019.

It first said, if John sends the token (bitcoin) to the cafe owner but made a typo in the cafe's address (the PKH), then that token is "burned" and gone forever. Nobody can use it whatsoever.

So to safeguard it, Base58check is used. But Base58, like Base64, is merely to convert some numbers to different representation of characters, and can be converted back and forth freely by anybody.

But it seems like, what is at work to prevent the "typo" is not Base58, but that there is a 4 byte "checksum", perhaps like some banks, when you tell them the account number, they have a one digit checksum which is the last digit of your account number, to see whether the checksum match.

So the Base58check really depends on this "checksum" to verify that you didn't make a typo, and the odds that you made a typo but the checksum still checks is by that 4 bytes, therefore is 32 bit and is 1 in 4 billion odds? So it is not Base58 itself, but the "check" part or the "checksum"?

1 Answer 1


Yes. Every byte sequence corresponds to one Base58 string. Every byte sequence also corresponds to one Base58Check string, which contains a 4-byte redundancy, a checksum.

And this 4-byte-code's only purpose is the detection of transmission errors (typos). Newer Bech32 addresses have a different kind of checksum allowing error correction, up to a certain level in addition to error detection.

  • So the chance for a missed typo is 1 in 2^32 as the checksum is 4 bytes in lenght? Aug 6, 2023 at 14:51
  • @RenePickhardt Approximately yes, in practice a little less than that because for example adding a character or removing a character usually changes the number of bytes decoded so the software would nevertheless reject it. As for changing a character, I suspect that changing the character after 1 sometimes causes likewise.
    – MCCCS
    Aug 6, 2023 at 18:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.