P2WPKH and bech32 are not quite synonymous.
Native segwit describes a type of output schema in which the
scriptPubKey (the “locking script”) is composed of a witness version and a witness program. P2WPKH is a native segwit v0 output type.
Bech32 refers to an encoding scheme and an address format to represent a recipient’s
scriptPubKey in out-of-band communication.
We use “bech32 addresses” to instruct spenders to create “P2WPKH outputs”:
- Pay to Witness Public Key Hash (P2WPKH) and Pay to Witness Script Hash (P2WSH) are native segwit v0 outputs that get represented using bech32 addresses.
- Pay to Public Key Hash (P2PKH) and Pay to Script Hash (P2SH) use base58 addresses.
- Pay to Taproot (P2TR) and future native segwit output types will use bech32m addresses.