Since its launch in 2009, the Bitcoin network has undergone significant evolutions and enhancements while adhering to its fundamental principles of scarcity and decentralization.
The address formats in Bitcoin, crucial for wallets to identify the owners of private keys responsible for signing transactions on the blockchain, have undergone considerable changes over time.
Bitcoin addresses are alphanumeric identifiers derived from public keys and serve as receiving points for Bitcoin payments. However, not all Bitcoin addresses are the same. Over time, new address formats have been introduced to enhance security, efficiency, and usability.
In this article, we’ll delve into the main types of Bitcoin addresses.
What is a Bitcoin Address?
A Bitcoin address is a unique code, consisting of a sequence of letters and numbers, serving as a destination or source for Bitcoin transactions on the blockchain. These addresses are generated from distinct and exclusive public and private keys, akin to a bank account number but specifically for the Bitcoin network.
The private key is employed to authorize transactions from one address to another and to verify ownership of the address. Since a Bitcoin address is public information, many wallets, for security and privacy reasons, automatically change the address after each transaction. This implies that a new address is generated for every transaction, while the same private key consistently signs these transactions.
Key Points About Bitcoin Addresses
1. Anonymity:
While all Bitcoin addresses and their transactions are public and visible on the blockchain, they are not inherently tied to an individual’s real identity. This association only becomes apparent if personal information is disclosed during a transaction.
2. Recommended single use:
For enhanced privacy and security, it is recommended to use a new Bitcoin address for each transaction. Many wallets automatically generate a new address for their users with each transaction.
3. Different formats:
Over time, various Bitcoin address formats have been introduced, including P2PKH addresses (starting with “1”), P2SH addresses (beginning with “3”), and Bech32 addresses (starting with “bc1”).
4. QR Codes:
Due to the alphanumeric complexity of addresses, QR codes are commonly used to streamline transfers.
5. No permission required:
Anyone can generate a Bitcoin address without requiring permission or registration from any central authority, thus reinforcing Bitcoin’s decentralized nature.
In essence, a Bitcoin address is an identifier that enables users to send and receive Bitcoin. It is crucial to safeguard the private keys associated with these addresses because whoever has access to them can spend the associated funds.
Types of Bitcoin Addresses
Each type of Bitcoin address reflects a specific technology and signifies a different era in Bitcoin’s history. Throughout the existence of the BTC network, address types, and transaction scripts have been consistently updated to enhance safety and efficiency, reducing block space and lowering fees.
The image below illustrates the adoption waves of each address type over time:
- The relatively small wave in dark orange, near the initial red wave, represents the first type of Bitcoin transaction script, P2PK. This type of signature simplifies the extraction of the private key from the public key.
- In 2011, the network transitioned to P2PKH, visible as the clearest orange region in the image. This remains the most common address type. In this format, the network masks the public keys with a hash, making it more challenging to brute-force the private key from the public key, thereby increasing security.
- In August 2017, amid the block size debate, a soft fork on the Bitcoin blockchain introduced the SegWit address (and Native SegWit), depicted as the green segment in the image.
- Native SegWit, shown in blue, has experienced growing adoption in the past two years. This Bitcoin address format further reduces fees. However, as a newer development, not all wallets currently support Native SegWit.
Let’s delve deeper into understanding each of these address types.
1. P2PK (Pay-to-Pubkey)
“P2PK,” short for “Pay-to-Pubkey,” represents one of the earliest and simplest forms of addressing and transaction contracts in the Bitcoin protocol.
During Bitcoin’s inception, a primary transaction method involved directly paying a public key. Essentially, a P2PK transaction indicates: “Funds sent to this address can be spent by whoever possesses the private key corresponding to this specific public key.”
P2PK differs from specific address formats like P2PKH or P2SH, as it pertains to a type of output script rather than a direct address format. Consequently, P2PK addresses traditionally lack an “address” representation in the same manner as other Bitcoin outputs.
Discussing a Bitcoin P2PK address generally means referring directly to the public key, not an address in the conventional format familiar to many.
Why Has P2PK Fallen Out of Use?
P2PK has been largely superseded by P2PKH (Pay-to-Pubkey Hash), which, instead of paying a public key directly, pays for the hash of the public key.
This change offers several benefits:
- Transaction Size: The hash of the public key is smaller than the full public key, conserving blockchain space.
- Privacy: In P2PKH, the actual public key is only exposed when funds are spent, not when received, adding a layer of privacy until the funds are moved.
- Security: Although ECDSA public keys have not been compromised, theoretically, if a future vulnerability in ECDSA arises, funds in P2PKH addresses would have additional protection, as the public key remains hidden until spent.
While P2PK was an initial method in Bitcoin for sending funds directly to a public key, it has mostly been replaced by P2PKH due to considerations of efficiency, security, and privacy. Nonetheless, it remains an interesting example of Bitcoin’s ongoing evolution and innovation.
2. P2PKH (Pay-To-Pubkey-Hash)
This type of address, known as a legacy address, is generated from a hash of the public key and has served as the default destination for Bitcoin payments since the network’s inception.
P2PKH addresses represent the oldest and most recognizable format on the Bitcoin network. You can identify this type of address by its code starting with the number 1.
For instance, the address “1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2” begins with 1, indicating it’s a Legacy address.
As mentioned earlier, this address format introduced the display of hashed public keys, thereby increasing the difficulty of deriving the private key from the public key through brute-force attacks and enhancing address security.
What is Brute Force?
Brute force is a method in which a computer attempts to crack a code through rapid trial-and-error guessing.
With today’s encryption, it’s incredibly challenging for computers to successfully execute a brute-force attack.
Even with the added hash, a quantum computer would need to extract the private key from its public key and break the encryption, including Bitcoin’s SHA-256.
One way to monitor quantum computer threats to Bitcoin is by observing older wallets still using the P2PK algorithm. These might belong to individuals who have lost their keys or are deceased but still have Bitcoin in this older encryption format.
Given Bitcoin’s transparency, potential attacks can be detected early, allowing for a migration to more secure algorithms if necessary. This can be achieved with a soft fork in the network to a quantum-resistant algorithm.
However, concerns about quantum computing are currently surpassed by advances in quantum computing-proof cryptography. This is because developing mathematical solutions is more feasible than the complex, costly process of building a functional quantum computer.
As of now, breaching the SHA-256 algorithm used in P2PKH addresses is extremely unlikely. Breaking SHA-256’s hash function is as challenging as finding a specific grain of sand in the universe. This is why most wallets utilize addresses with this encryption.
Nevertheless, despite their enhanced security, legacy addresses still occupy significant space in a block, about 374 vbytes. Even after updating this address type, transaction fees remained high, as miners’ fees are based on the amount of space a transaction occupies in a block.
This consideration led Bitcoin developers to explore more efficient ways to compress block space and reduce fees, sparking the debate and development of Segwit addresses.
3. Segwit (Segregated Witness)
Segwit emerged as a new type of address in 2016 during the block size war, a period marked by debates over the size of Bitcoin blocks. This conflict divided the Bitcoin community into two opposing camps.
At that time, transaction fees began to soar, becoming prohibitively expensive, and the competition for space within a block intensified, as each transaction required a certain amount of space in the block.
The division in the Bitcoin community originated from differing opinions: one group advocated for increasing the block size from 1 MB to 8 MB, while the other opposed changing the Bitcoin code, citing potential risks to network security and decentralization.
As a result, those supporting a block size increase embraced various forks, including the one that led to Bitcoin Cash, featuring significantly larger blocks. Over time, however, Bitcoin Cash neither substantially evolved nor gained traction compared to Bitcoin, despite its larger block sizes.
The other half of the Bitcoin community, favoring the original block size, proposed a minor modification—a soft fork—that wouldn’t disrupt the fundamental structure of the Bitcoin code.
In August 2017, amid the block size war, a soft fork was executed on the Bitcoin blockchain, introducing Segwit and Native Segwit addresses. This soft fork worked by moving a portion of transaction data to a second layer, thereby lightening the load on the main chain.
This component, known as witness data, is technically referred to as a segregated witness, or SegWit. This fork resulted in a new address type: the SegWit address.
Segwit Address
SegWit addresses represent a significant innovation in the Bitcoin network, primarily aimed at addressing scalability issues. SegWit helps reduce the size of transactions, enabling more of them to fit into a single block.
Now, let’s explore in more detail:
1. Transaction Malleability Problem
SegWit addresses tackle the issue of transaction malleability, where third parties could alter transaction data before committing it to the blockchain, without changing essential details like sender, recipient, and amount. This challenge posed hurdles for advanced Bitcoin applications like the Lightning Network.
2. Increasing Block Capacity
SegWit also indirectly increases block capacity.
By segregating signatures (witnesses) from other transaction data and counting them differently, it enables more transactions to fit into a block without altering the block’s actual size.
3. SegWit Address Types
- P2SH-P2WPKH addresses: Before bech32 addresses gained popularity, it was possible to use SegWit with addresses starting with “3”, known as P2SH (Pay to Script Hash) addresses containing a SegWit script.
- P2WPKH: These Native SegWit addresses, starting with “bc1”, use a bech32 format, which is more efficient and less prone to errors than previous forms.
Adopting SegWit addresses is beneficial not only for their efficiency but also because they help lower transaction fees. Transactions using SegWit addresses generally need less block space, resulting in lower fees.
In any blockchain transaction, digital signatures take up about 65% of the block space. Reducing signature sizes optimizes this space, allowing for more transactions. SegWit relocates the signature to the end of the transaction, making transactions more fee-efficient. Each SegWit transaction uses about 267 virtual bytes, a significant reduction from the 374 vbytes of legacy addresses.
However, implementing SegWit may require some changes for wallet developers and exchanges, but many major Bitcoin wallets and services already support it due to its advantages.
In the image below is an example of a SegWit address, beginning with the number 3 and utilizing a P2SH script function, frequently employed for multisig addresses.
Native Segwit addresses further optimize rates. However, as they are more recent, not all wallets have Native SegWit support.
Currently, more than 11% of Bitcoin is stored in a Native Segwit address, and adding up the two types of Segwit addresses, they already account for almost 75% of the dominance of Bitcoin addresses today.
Transactions using this type of address take up even less space in the block, 211 vbytes, well below the 267 of normal SegWit and much less than the 374 vbytes of legacy addresses.
Finally, let’s explore one more address type, which is part of the latest Bitcoin update.
4. Taproot (P2TR)
Taproot is an update that was proposed and later implemented in the Bitcoin network, aiming to enhance transaction flexibility, efficiency, and privacy. This significant update was activated in November 2021. Among various improvements, Taproot introduces notable changes to Bitcoin addresses.
Here’s a simplified explanation of Taproot addresses:
1. Privacy and Flexibility
Taproot enhances privacy and flexibility by seamlessly integrating complex transactions, such as those involving multiple signatures or advanced scripts, into regular transactions on the blockchain. This not only boosts efficiency but also makes it more challenging to differentiate between transaction types, thereby enhancing privacy.
2. Space Saving
As Taproot transactions resemble standard transactions on the blockchain, they occupy less space. This efficiency allows for more transactions to be included in a single block.
3. P2TR (Pay-To-Taproot) Addresses
Taproot introduces a new address format, beginning with “bc1p…,” distinct from SegWit addresses (“bc1q…”) and legacy addresses.
This new structure is specific to Taproot.
4. Schnorr Signatures
Taproot utilizes Schnorr signatures, advantageous for aggregating multiple signatures. This feature makes multi-signature (multisig) transactions appear and operate like standard single-signature transactions on the blockchain.
5. Enhanced Developer Options
With Taproot, developers gain increased flexibility in creating smart contracts and other programmable transactions in Bitcoin. This allows them to implement complex operations without revealing all details on the blockchain.
6. Security
Beyond privacy and efficiency enhancements, the introduction of Schnorr signatures and other Taproot features contributes to the overall security of transactions.
In essence, Taproot addresses mark a substantial progression for Bitcoin, facilitating more complex transactions with greater efficiency, privacy, and flexibility.
Taproot addresses experienced a surge in popularity during the Bitcoin Ordinals hype in mid-2023. However, this type of address is not yet the most commonly used.
For information on which wallets currently support Taproot addresses, you can refer to resources like the When Taproot website.
Between Legacy, SegWit, and native SegWit, which is the most efficient?
In the diverse landscape of Bitcoin wallets, it’s crucial to note that not all wallets support the three Bitcoin address types—Legacy, SegWit, and Native SegWit. Therefore, ensuring your wallet is compatible with a particular Bitcoin address type is essential before making a selection.
When it comes to efficiency, SegWit stands out from Legacy addresses by separating the signature from the transaction data. This segregation translates into lower transaction fees for SegWit address users compared to those using Legacy addresses.
Beyond fee savings, SegWit expedites transactions by utilizing less block space. Furthermore, by isolating signatures from transaction data, SegWit acts as a safeguard against potential tampering by malicious entities, thereby enhancing overall security.
Taking efficiency a step further, Native SegWit represents an advanced version of SegWit addresses, offering even more benefits. Transactions with Native SegWit addresses are not only more cost-effective but also more efficient, optimizing block space usage to an even greater extent, resulting in reduced fees.
It’s vital to understand that transaction fees are determined by the space occupied in the block, not the transaction’s value. Consequently, transactions of varying amounts, whether $10 or $1 million, may incur similar fees.
The crucial factor is the volume of data within the block. From this perspective, Native SegWit, with its enhanced optimization, emerges as the most favorable option in terms of cost and speed.
Article adapted by Dread.
Share on your social networks:
Area Bitcoin is an educational Bitcoin school that aims to accelerate the financial and intellectual sovereignty of all individuals.
Enjoyed this article? Donate some sats so we can grab a cup of coffee and keep writing. ☕