Questions tagged [p2tr]
Pay to Taproot is the native SegWit v1 output format. It commits directly to a public key which in turn can optionally commit to a script tree, thus combining capabilities of previous output formats. P2TR addresses are Bech32m encoded and start with the prefix `bc1p`.
45
questions
3
votes
1
answer
24
views
Error creating a Taproot descriptor with a single key as script path
I need to implement 1 of 2 multisig with P2TR.
My friend's Bitcoin public key is 0374d5f29bc6c15066437856c512f7f9e5a14a1eb93cab2776d33b27b4103c62d8.
My own Bitcoin public key is ...
4
votes
1
answer
60
views
How do you construct witness stack and controlblock in P2TR Script Path outputs?
I have been documenting how to create different types of Tx outputs here, leveraging the Bitcoin Core Test Framework. Particularly for Taproot, I'm working on a scenario of a P2TR Script Path with a ...
2
votes
1
answer
161
views
How to extract the internal key of a simple P2TR address?
Is it possible to extract the taproot internal key out of a P2TR address?
2
votes
1
answer
57
views
Validation of segwit v0-v1 tx automatically adds OP_CHECKSIG?
When I create a segwit transaction v0 (P2WPKH) or v1 (P2TR key-path spend) I do like that (let's spend a P2TR output):
Locking Script (of the P2TR output I'm spending): OP_1 PK_size PK
Witness: 1 (...
2
votes
1
answer
51
views
How to create a 1-of-2 multisig with P2TR?
We have two companies and we want to spend funds with 1-of-2 multisig. We successfully did such a multisig with P2SH. How can I do this in P2TR? Can any give me a detailed instruction step by step?
...
0
votes
2
answers
47
views
How can I create a multi sign for a large number of users
I want to create a DAO-like wallet where each member would have to sign for any given tx.
Tx should go through if 51% of the users signed.
Is this possible?
1
vote
2
answers
54
views
Is tweak used when spending from script path for Taproot?
I understand that a taproot output can be either spent using key path or script path.
With key path, a tweak is applied to the private key and then sign the sighash. The signature is provided as a ...
6
votes
2
answers
493
views
Is a P2TR address a compressed public key?
From what I understand, a public key can be compressed from 64 bytes into 32 bytes, but an additional byte is needed for the sign, so it usually winds up being 33 bytes total. But P2TR addresses only ...
2
votes
1
answer
63
views
Error validating transaction: unexpected witness payload for non-witness script in a P2TR using script path
I am trying to create a raw transaction P2TR, spending a Taproot UTXO using the script path.
I did the following:
Create a random private key d and corresponding pubkey P (the internal pubkey)
...
3
votes
1
answer
88
views
non-mandatory-script-verify-flag (Invalid Schnorr signature) when I try to send a P2TR tx on testnet
I'm learning to create tx from scratch in order to understand better how bitcoin tx works and how they are structured. I learnt to create tx with legacy address, segwit v0 and I am now learning ...
1
vote
1
answer
95
views
How to choose a nothing-up-my-sleeve (NUMS) point on secp256k1 for use in Taproot?
Per BIP-341, if you want to create a Taproot output that is only spendable via the script-path spend (and not a key-path spend), you must "pick as internal key a point with unknown discrete ...
3
votes
1
answer
64
views
How to spend an imported rawtr() descriptor with bitcoin-cli?
I created a transaction that creates a taproot output that can be spent using the private key (KEY) corresponding to the taproot output key. Then I imported the WIF formatted private key into Bitcoin ...
0
votes
1
answer
50
views
What are the last bytes for in a taproot script-path sighash?
I am trying to follow BIP341 to understand the signature hash calculation for taproot script path spends.
From the bitcoin testing framework code, I see that if the transaction is spending from a ...
1
vote
2
answers
94
views
Can one infer the multisig status of a P2TR spend?
Given raw transaction input/output data, is it possible to know if a Taproot output is multisig or not?
I'm getting raw block data from a bitcoin node, and want to classify each spend according to the ...
1
vote
1
answer
80
views
What would happen if you tweaked a public key with an odd y-coordinate?
From BIP341 this example code shows how you can tweak an x-only pubkey:
def taproot_tweak_pubkey(pubkey, h):
t = int_from_bytes(tagged_hash("TapTweak", pubkey + h))
if t >= ...