Bech32

From Trezor Wiki
Jump to: navigation, search

Bech32 is a SegWit address format specified by BIP173. This address format is also known as "bc1 addresses".

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[edit]

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.

Like Trezor? Get one here!