Main disadvantages of base58 format which has been used in Bitcoin for most of its history are:
- Base58 needs a lot of space in QR codes, as it cannot use the alphanumeric mode.
- The mixed case in base58 makes it inconvenient to reliably write down, type on mobile keyboards, or read out loud.
- The double SHA-256 checksum is slow and has no error-detection guarantees.
- Most of the research on error-detecting codes only applies to character-set sizes that are a prime power, which 58 is not.
- Base58 decoding is complicated and relatively slow.
A Bech32 string is at most 90 characters long and consists of:
- The human-readable part.
- "bc" for mainnet
- "tb" for testnet
- The separator, which is always "1".
- The data part, which is at least 6 characters long and only consists of alphanumeric characters excluding "1", "b", "i" and "o".
Trezor with Bech32 addresses
Trezor already implemented Bech32 addresses in its firmware, it is possible to send funds to Bech32 addresses using Trezor Wallet. Receiving is possible using Electrum with native segwit (P2WPKH) option.