The Internet Protocol of Bitcoin
A Bitcoin wallet address, a string of 26-35 alphanumeric characters, is all it takes to send and receive bitcoin. Any bitcoin address format can be used to transfer to any other address format on the network, provided that the sender’s wallet supports that particular address format.
Only a handful of service providers support all formats. There’s a good chance your preferred website, wallet or exchange doesn’t support at least one of these formats.
Not only, learning the pros and cons of each address format will enable you to choose a compatible bitcoin wallet, exchange or even create a compatible address, It will also increase your knowledge on Bitcoin’s inner workings, and reveal the trade-offs that come with each format such as security, flexibility and functionality.
If you are interested in the story which brought this article in to existence, read the following article Create a Bitcoin SEGWIT P2SH Address using Electrum Wallet !.
There are three Bitcoin Core address formats to choose from,
1) P2PKH or Legacy : "Pay To Public Key Hash"
2) P2SH : "Pay To Script Hash"
3) Bech32
1) P2PKH or Legacy Format
P2PKH stands for Pay-to-Publickey-Hash i.e pay to a hash of the recipient’s public key. This was Bitcoin’s original address ("Old Faithful") format and it still works faithfully to this day.
If your bitcoin address starts with a 1, then it is a P2PKH or legacy address, for example 1deBfSgYstWettTFn4Au4e4GFt7xrtBVtw. Legacy addresses are not compatible with segwit addresses, nevertheless, transactions are carried out without any problems.
During a transaction, the sender is required to supply a valid signature (from the private key) and public key. The transaction output script will use the signature and public key and through some cryptographic functions will check if it matches with the public key hash, if it does, then the funds will be spendable. This method conceals your public key in the form of a hash for extra security.
Average transaction fee when using a Legacy address is likely to be higher than when using a segwit address, because legacy transactions are larger in size.
2) P2SH Format
P2SH stands for Pay-to-Script-Hash and enables more functionality than legacy addresses.
P2SH addresses are structured similarly to P2PKH, but starts with a 3 instead of a 1, for example 3u18t1WpEm78bjmQniecrnyiMrnqRLWOxu.
The outputs of a transaction are just scripts that, if are executed with specific parameters, will result in a boolean value (TRUE or FALSE). If a miner runs the output script with the supplied parameters and results in TRUE, the money will be sent to your desired output or vise versa.
The P2SH script function is most commonly used for Multi-signature addresses which can specify, for example, that multiple digital signatures are required to authorize the transaction. Multi-signature wallets make the output script logic, that checks for multiple signatures before accepting the transaction.
P2SH can also be used to allow anyone, or no one, to spend the funds. If the output script of a P2SH transaction is TRUE, then attempting to spend the output without supplying parameters will just result in TRUE making the money spendable by anyone who tries. This also applies to scripts that return FALSE, making the output not spendable.
This address format is also used to enable non-native segwit transactions using a process known as P2WPKH-in-P2SH. Read my article on how to create a P2WPKH-in-P2SH compatible address using the Electrum Wallet.
Additionally, this address type is widely supported and can be used to send transactions to both P2PKH and Bech32 addresses.
3) Bech32 Format
Bech32 addresses are markedly different from the earlier (Legacy & P2SH) addresses. Each Bech32 address starts with the prefix “bc1” and is longer than a legacy or P2SH address.
Bech32 is the native segwit address format, and is supported by the majority of software and hardware wallets. Some websites and exchanges, while most exchanges enable sending funds to Bech32 addresses, don’t enable users to receive funds with this format. In some instances they don't want to deal with Beach32 addresses at all.
The term segwit stands for Segregated Witness. Instead of using scriptSig parameters to check the transaction validity, there is a new part of the transaction called witness where the validity occurs. Segwit allows to move a significant part of the transaction to a new structure called witness.
Bitcoin transaction fee is based on the number of bytes in a transaction. Bytes in the witness will get a 75% discount (4 witness bytes count as 1). Hence transactions from Segwit wallet addresses are significantly cheaper as there is less bytes in the transaction.
Also, Bech32 uses far superior error-correcting codes (legacy addresses include a 4-byte checksum). Instead of a binary output, Bech32 can find multiple errors, pinpoint the exact wrong character and even correct them automatically (up to a number of errors depending on the code length)
At present, less than 4% of BTC is stored in Bech32 addresses and this number is increasing slowly. In fact, there is a drastic increase in the 1st half of this year (2020).

Thank You for Viewing.
Please consider following and helping with a donation.
1) BTC
368UxYjPLyJ4TEDQ9X5PCAUwDhq6dwhxfQ
2) ETH
0xAA6f54B665702e6CBf29C94C4E51121fB959FcC8
3) LTC
LgH2TMAtLgzopSSiixWKDqR76AWRoqhSWJ
4) BCH
qr4hcjdc3p94q3dgucn770q7surq4gs8lvpc4afx2f
5) DGB
DB9ixZvnTfxqT5Udzy9wHULJNFKd1FxSnz
6) BTG
GWCfg95P1LQgSqeqJacNJvuRqLZ8qftw4R
7) BAT
0x1a116B3bef9D7291F5147d8a0E2b9389c94D18e7
8) DASH
XyES8Fd5gzMHbGqXCFF3immfSRoepps9ij
9) ZEC
t1KgedEbS1pyeWQWoehBDoCJJ3MspmCptv5
10) MONERO
47JrgDDuAvRboX1mRTyAbuHGtGC2LZj5Rggui3u1d5s6Z3UB3oaRZfvE2MhWwuAHGMV3Wn8Us7GTggc8MiCMSmrMUHVCsmW
Honeygain - Money for Your Excess Internet Capacity !
https://www.publish0x.com/economynext/honeygain-money-for-your-excess-internet-capacity-xejjjyp
StarClicks - Earn Some Extra Money by Clicking Ads !
https://www.publish0x.com/economynext/starclicks-earn-some-extra-money-by-clicking-ads-xlllxyn
If you haven'd signed in to Publish0x, use My publish0x referral link
https://www.publish0x.com?a=openM14d7A
View Some of my Other Articles:
1) LocalCryptos - Non Custodial P2P marketplace for Cryptos !
2) Create a Bitcoin SEGWIT P2SH Address using Electrum Wallet !
3) StarClicks - Earn Some Extra Money by Clicking Ads !
https://www.publish0x.com/economynext/starclicks-earn-some-extra-money-by-clicking-ads-xlllxyn
4 Mine for a Great Cause ! - Share Your Idle Computing Power and as a Bonus, Earn Some Crypto !
5) My Other Blog
https://www.publish0x.com/economynext
6) If you are interested in some nice relaxing music, check my YouTube Channel