The Evolution of Bitcoin Address Types: A Comprehensive Guide
If you’ve been using bitcoin for a while, you’ve probably noticed that some bitcoin addresses appear quite different from others. You may have also seen discussion around several acronyms beginning with “P2,” such as P2PKH or P2WSH. If you’re unfamiliar with what these acronyms mean, here we’ll look through all the standardized on-chain methods for receiving bitcoin throughout its history and explain some essential differences that make each method unique.
Pay-to-Public-Key (P2PK) is the original method of receiving bitcoin, and it does not involve an address. Instead, as the name suggests, bitcoin is paid directly to an exposed public key. The first-ever bitcoin transaction from one person to another used P2PK when Satoshi Nakamoto sent coins to Hal Finney in Block 170.
P2PK is no longer used because it is a more expensive, less private, and less secure way of receiving bitcoin than subsequent methods.
Pay-to-Public-Key-Hash (P2PKH) was available for use at bitcoin’s beginning, and it showed up on the blockchain for the first time less than two weeks after the genesis block. P2PKH makes several improvements upon P2PK, such as utilizing an address. P2PKH addresses are typically 34 or 33 characters in length and are encoded in Base58 format. They begin with a prefix of 1 and are currently responsible for receiving and securing 43% of the mined bitcoin supply, more than any other address type.
Pay-to-Multisig (P2MS) is a trivial transaction type that was only briefly relevant and has never been responsible for holding more than 100 bitcoin at one time across all network participants. P2MS was introduced as a standard script in early 2012 but was quickly replaced by an alternative method for receiving bitcoin into a multisig arrangement called P2SH.
Pay-to-Script-Hash (P2SH) was introduced to bitcoin as a soft fork in April 2012. P2SH shares a lot in common with P2PKH, but the address is created by hashing a redeem script instead of hashing a single public key. P2SH addresses are exactly 34 characters in length and begin with a prefix of 3.
Pay-to-Witness-Public-Key-Hash (P2WPKH) is the first of two address types introduced to bitcoin upon the SegWit soft fork in August 2017. P2WPKH is the SegWit variant of P2PKH and uses Bech32 encoding. P2WPKH addresses can be identified by a prefix of bc1q and a character length of exactly 42.
Pay-to-Witness-Script-Hash (P2WSH) is the SegWit variant of P2SH. P2WSH addresses begin with a prefix of bc1q and have a character length of exactly 62. P2WSH addresses are created using the SHA-256 hashing function alone, without including RIPEMD-160.
Nested SegWit (P2SH-P2WPKH and P2SH-P2WSH) is a unique way to use previously discussed address types in a manner that was temporarily useful for the bitcoin community. Nested SegWit addresses played a significant role in the SegWit adoption process but are no longer necessary.
Pay-to-Taproot (P2TR) is the newest address type, made available by the Taproot soft fork in November 2021. P2TR utilizes a digital signature algorithm called Schnorr and offers additional transaction fee reductions and increased privacy.
As the landscape of bitcoin address types continues to evolve, it’s essential to understand the differences between each method and how they impact the security, privacy, and cost of receiving bitcoin. Stay informed and adapt to the changing technology to make the most of your bitcoin transactions.