Questions tagged [taproot]
Taproot is an activated Bitcoin softfork designed to improve scripting and multisignature capabilities.
199
questions
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?
4
votes
1
answer
220
views
What is this || notation in BIP 341?
SHA256(SHA256(tag) || SHA256(tag) || x)
What is the || notation? Is this the conjunction of the different elements? Bitwise OR? or modulus?
2
votes
1
answer
44
views
Inconsistent behavior testing Taproot Workshop - Section: 0.2 Elliptic Curve Math
Workshop link: https://github.com/bitcoinops/taproot-workshop/
In the section 0.2.4 Programming Exercise: Distributivity of scalar operations we implement the following code:
a_key = ECKey().set(a)
...
5
votes
1
answer
379
views
Why isn't the taproot deployment buried in Bitcoin Core?
Bitcoin Inquisition recently had a PR about soft fork activation and as part that PR, it buries taproot and references a closed PR to Bitcoin Core to bury taproot. Will the taproot deployment be ...
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 (...
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
53
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 ...
1
vote
2
answers
37
views
What Policy does the Liana wallet use? Why would I use this Policy?
I was looking at Wizardsardine's Liana wallet repo (beta software).
What is the Policy and associated Miniscript that is used by this wallet?
Why would I use this Policy? What is fixed and what is ...
1
vote
1
answer
77
views
A good wallet for Taproot multisig?
Sparrow only has Taproot single sig, and it is based on Xpub, which is a hodgepodge duct tape method combining pre-taproot and taproot.
Electrum zero Taproot. When asked "wen Taproot" ...
2
votes
1
answer
123
views
Why weren’t Inscriptions possible before taproot by just using OP_RETURN to store the data?
With the recent rise of Inscriptions using the script in the taproot input, why wasn't this possible previously just using OP_RETURN? What is special about the taproot upgrade that made this feasible ...
1
vote
1
answer
56
views
Why is it a bug that a Taproot tree allows a Tapleaf to be repeated on multiple levels of the tree?
On the bitcoin-dev mailing list Russell O'Connor stated:
There is a bug in Taproot that allows the same Tapleaf to be repeated
multiple times in the same Taproot, potentially at different Taplevels
...
1
vote
1
answer
73
views
Can any Script opcode be used in the witness program, or only specific ones?
I was wondering, can one use an OP_RETURN in the witness script? If not, why not? Also, how could I figure this out from reading Bitcoin Core source? I looked at this file, and it wasn't quite clear ...
3
votes
2
answers
776
views
Why CHECKMULTISIG bug can't be solved?
I was reading Mastering Bitcoin and I read about a bug in CHECKMULTISIG. If the starting ideas of this command should work like this
<Signature B><Signature C> M <Public key A><...
2
votes
1
answer
109
views
What is the maximum number of taproot transactions that can be mined in a single block?
If all transactions in a block were spending one p2tr output using the key-path spend and sending to a p2tr output, how many of these transactions could we fit in a single block?