Fees and transactions architecture is an important matter on bitcoin. with segwit infact a large amount of fees are saved when making a transaction, but better savings are possible when using native segwit transaction.
Bech32 is not a protocol, but it is the format of native segwit addresses and makes possible to save additional 16% in fees.
In order to make possible to have a transition to segwit in an easier way an intermediate solution has been proposed. And this is an intermediate address format which wraps a segwit address.
This is P2SH(P2WPKH). With this title, we mean that we are wrapping a segwit address inside a P2SH address. The script which is actually wrapped is a segwit script. Normally this kind of address starts with 3. P2SH itself is there since around 2012.
Regarding bech32 (bech32 encoded native segwit address), the addresses starting with bc1, this is a native segwit address. Because this address is not wrapped inside a P2SH address, it doesn’t have a script hash in it and therefore the address and the spending script are actually shorter by 16% ( it does not include the script hash). For this reason the fees are cheaper.
If you are spending money which have been sent to a bech32 instead to a P2SH-P2WPKH, you will have lower fees because inputs have no full script hash in them, but they immediately go to a native address.
So why should we use bech32 addresses?
- because we want to save fees;
- because we want to optimize space on the blockchain;
- because we want to be tied to new improvement on bitcoin;
Any wallet will accept a transaction from a bech32 address. Not all wallets allow sending towards a bech32 address (at the moment writing this script), but the number is constantly growing.
So check your wallet and be sure it supports bech32 address formats so to be tuned with new bitcoin improvements and benefit by lower fees.