Questions tagged [bip350-bech32m]
19 questions
14
votes
1 answer
Will a Schnorr soft-fork introduce a new address format (i.e. not bech32)
When we (hopefully) soft-fork to Schnorr signatures will the address be indistinguishable from bech32 addresses?
Bertram Lund
- 671
- 3
- 7
11
votes
2 answers
How does the bech32 length-extension mutation weakness work?
A bech32 address ending with p can be modified be inserting or removing q characters immediately before the final p character to make a new valid bech32 address. Why does this work?
Are there any other similar mutation weaknesses in…
jnewbery
- 1,050
- 5
- 22
7
votes
1 answer
What is the difference between "native segwit" and "bech32"?
People seem to be using "native segwit" and "bech32" interchangeably. Are they really the same thing?
Murch
- 71,155
- 33
- 180
- 600
6
votes
1 answer
How can I create P2TR addresses with Bitcoin Core 22.0?
I'm trying to test P2TR with Bitcoin Core, and I don't know how to get taproot addresses.
How should I create them using 22.0?
Gustavo Chaín
- 163
- 4
4
votes
0 answers
P2TR bech32m mismatch
When attempting to create a p2tr address using the private key 0x0000...01 I get, bc1pmfr3p9j00pfxjh0zmgp99y8zftmd3s5pmedqhyptwy6lm87hf5sspknck9 which does not match the provided test vectors provided here:…
m1xolyd1an
- 5,566
- 2
- 14
- 30
3
votes
2 answers
How to use python reference for encoding a bech32 address?
Could someone provide an example of how to use the python reference implementation for generating a bech32 address?
For example, generating a mainnet bech32 address for this scriptPubKey: "0014751e76e8199196d454941c45d1b3a323f1433bd6"
Darius
- 779
- 4
- 16
3
votes
1 answer
Tests for Pay To Taproot addresses?
I am having trouble finding examples showing a known WIF to a valid mainnet P2TR address.
I am working on a tool and want to see if my P2TR conversions/encodings are outputting the correct P2TR address.
For example, a known Private Key (empty string…
m1xolyd1an
- 5,566
- 2
- 14
- 30
3
votes
1 answer
What problems identified with bech32 addresses have been resolved with the updated bech32m?
What problems identified with bech32 addresses have been resolved with the updated bech32m?
I am aware of one problem with the original bech32, namely length extension mutation weakness but I don't know if there were any others.
Michael Folkson
- 14,337
- 3
- 11
- 45
2
votes
1 answer
What does the “m” in bech32m stand for?
I’ve looked at the mailing list, the BIP, commits that implement BIP350, the author’s twitter posts, and here on Stack Exchange, but couldn’t find an answer. Has it ever been publicly established what the “m” in bech32m stands for?
Murch
- 71,155
- 33
- 180
- 600
2
votes
2 answers
Get the scriptPubKey from a Taproot address
I have this function that converts a Bitcoin private key as an integer to a public key and an address.
def get_seg_v1_from_pkey(imported_key):
imported_key_toint = int(imported_key)
privKeytoHex = imported_key_toint.to_bytes(32,…
ChristianOConnor
- 243
- 1
- 9
2
votes
1 answer
Can you derive the witness program from a taproot address?
Say I have a taproot address with a valid scriptpath (along with the mandatory keypath).
Is it possible to derive the witness program (schnorr signature of the taproot key) from the address?
arshbot
- 1,710
- 14
- 35
2
votes
1 answer
What is the prefix number, in bytes, of a native segwit address?
I've seen lots of tables on which bytes to use as the prefix for types of addresses. For example 0x00 for legacy addresses starting with a 1. But what's the prefix for native segwit 'bc1q'? I've tried using the base58 table with no success.
Thanks
Chiru
- 141
- 6
2
votes
1 answer
Identifying address types using v1+ segwit outputs
Please correct me if i'm wrong:
So, with segwit v0 we know that 20 bytes is equal to P2WPKH, and 32 bytes is equal to P2WSH, and thus we can identify the address type by decoding the 31 byte or 43 byte bech-32 encoded string.
so we get decoded 0 <…
jurgendonnings2321
- 23
- 4
1
vote
0 answers
I get a not a P2TR scriptPubKey error when trying to generate a bech32m taproot compliant P2TR address with python
I have the following script that is supposed to derive a taproot P2TR address:
from bitcointx import set_custom_secp256k1_path
set_custom_secp256k1_path('./bitcointx_secp256k1_here/libsecp256k1.2.dylib')
from bitcointx.wallet import…
ChristianOConnor
- 243
- 1
- 9
1
vote
1 answer
Does two witness addresses with same witnessProgram but with different witness version has the same owner
With BIP 350 a new version of witness is introduced.
Take these two address from the mainnet:
bc1pmfr3p9j00pfxjh0zmgp99y8zftmd3s5pmedqhyptwy6lm87hf5sspknck9 and bc1qmfr3p9j00pfxjh0zmgp99y8zftmd3s5pmedqhyptwy6lm87hf5sstpn3we.
These two addresses has…
MrSuperluigis
- 13
- 2