8

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?

6

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:

  • Old addresses (base58) need a lot of space in QR codes, as it cannot use the alphanumeric mode.
  • The mixed case in (old addresses) base58 makes it inconvenient to reliably write down, type on mobile keyboards, or read out loud.
  • Base58 addresses have double SHA256 checksum which is slow and have no error-detection guarantees.
  • Base58 decoding is complicated and relatively slow.

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.

7

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.

  • Thanks for your answer, there's many things you mentioned that I don't understand. I'm looking for a simple answer. – JackSmith May 6 '18 at 20:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.