When we (hopefully) soft-fork to Schnorr signatures will the address be indistinguishable from bech32 addresses?


They will be distinguishable, but they will still be bech32 addresses.

The introduction of Schnorr signatures requires a new type of output. Segwit was designed with such extensibility in mind, and it defines 17 version numbers. Currently, only version 0 is used. Segwit v0 outputs with a 20-byte hash are known as P2WPKH outputs, and v0 outputs with a 32-byte hash are known as P2WSH outputs.

A new version number can be introduced, for example v1, and given semantics through a softfork. Schnorr signatures is one of the changes being considered for a proposal.

However, bech32 addresses literally encode a version number plus a payload, which maps directly to the various versions of segwit outputs.

The version number in Bitcoin bech32 addresses is in the 4th character. For all v0 outputs, that version character is 'q'. For v1 outputs it will be a 'p'.

  • 4
    Will existing wallets be able to send to version X scripts if they already support bech32 without any implementation changes?
    – nopara73
    Mar 1 '19 at 23:22
  • 2
    That depends on the implementation. BIP 173 specifies how to decode a bech32 address to a segwit scriptPubkey which works for any segwit version. But in some implementations outputs with an unknown segwit version non-standard and not broadcasted. Bitcoin Core as of 0.17.3 is such an implementation but as far as I know the plan is to change that behavior. A Schnorr proposal could support P2SH-nested segwit version 1 programs which would allow sending from all notable wallets today.
    – nickler
    Apr 23 '19 at 15:26

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .