i'm not that kind of person who understands cryptography and math, can you tell me simply the main purpose of new segwit address? are transactions fee the same for new segwit (bc1)?
instead of "Old Segwit" and "New Segwit" what would you call em?
There's no big difference for users between the two. The fee is lower while using native Segwit address (bech32)
, and the address format differs.
Let's look at the motivations of bech32
address authors:
Another good reason: recently there were many forks of Bitcoin and almost all these new cryptocurrencies were using the same address prefix, which resulted in people mistakenly sending BTC to these addresses.
The difference lies in the encoding and the underlying representation in the transaction data stored on the blockchain.
The 3-segwit addresses are known as P2SH-P2WPKH or P2SH-P2WSH. This stands for Pay-to-witness-pubkey-hash wrapped in pay-to-script-hash and pay-to-witness-script-hash wrapped in pay-to-script-hash respectively. This was done to provide backwards compatibility with existing wallets and allow time to upgrade to the bc1 addresses.
The bc1 addresses are known as native segwit addresses. An address starting with bc1 is always going to be segwit, while a 3-address could also be a regular multisig or other script address.
Both the 3-address version and the bc1 version require less fees, although the bc1 version requires even fewer fees than the 3-address.
bc1 is bech32 encoded, which improves error detection over the original base58 encoding, and also helps prevent cross chain transactions (for instance, you will not be able to send LTC to a bc1 address, but sending LTC to a 3-address will go through just fine)
You can learn more about the design of bech32 in this talk by Pieter Wuille.