Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Phu Juck on December 23, 2023, 06:22:47 PM



Title: About Taproot
Post by: Phu Juck on December 23, 2023, 06:22:47 PM
Taproot is active now for a while and for Bitcoin's progress, it seems to be a decent step after native SegWit, where bech32 addresses were introduced.

I'm not a coder and it’s hard to understand to read texts from coders but getting informed about Taproot and doing research about it is a good idea in my opinion.
We just need a good text, good source or knowledgeable person to give insight and what I'm trying to ask here is: if it's possible for a knowledgeable person, preferably coder, to give insights about Taproot in a normal way (not for coders):

I already know a Taproot address looks like

bc1pxxxxxxxxx

and it is also cheaper for transactions.


But here it is, where it's starting to get difficult.

What is important to know about Taproot?
Implications / goals of Taproot?
How does Taproot compare to bech32 (cheap fees?)
Risks / limits of Taproot?

Educated sources explaining it (not from a coding perspective) but in a normal way, easy to understand if we are not coders, is what I’m looking forward to.

Happy to read your answers.  :)


Title: Re: About Taproot
Post by: bananaunana on December 23, 2023, 06:29:45 PM
I'm not a developer but about Taproot, Murch has published blog posts about Taproot addresses:

Blog post source 1: https://murch.one/posts/single-sig-output-types/

Source 1 is containing basic information about Taproot, presented in a breakdown of important Taproot address characteristics. Much of his information looks like advanced content but I hope it's helpful:

Quote
1) P2TR aka Taproot aka Native Segwit v1
With the recent activation of Taproot, we add native segwit v1 outputs to our portfolio. Pay to Taproot outputs lock funds directly to a public key in the output’s witness program, which means (for single-sig uses) that the input only needs a single script argument, a signature, instead of needing to provide both a public key and signature like P2WPKH. P2TR uses Schnorr signatures, which are more compactly encoded than ECDSA signatures, reducing the signature size from 71-72 B to 64 B. This means that P2TR has the smallest data footprint even while the overall weight of input and output is slightly bigger than for P2WPKH. In addition, more complex spending conditions can be encoded in the leaves of the taptree that’s tweaked into the public key contained in the witness program. Bech32m addresses encoding P2TR outputs are longer than the bech32 addresses encoding P2WPKH outputs, since public keys are longer than the 20-byte hash used in P2WPKH. Addresses for P2TR outputs start with “bc1p”, because “p” encodes 1.

Example: bc1pay2tapr00tajnawrkf897ccgsmk4e0x8ng5g3rv3qzd7jzfy2zxspy50gj

Issues:

Bech32m addresses are brand-new and not yet supported by many wallets and services


Blog post source 2: https://murch.one/posts/2-of-3-using-p2tr/

Source 2 looks more like programmer content.


Title: Re: About Taproot
Post by: Zaguru12 on December 23, 2023, 06:34:01 PM
There have been threads about taproot here on the forum. You can read through this one which explains everything about it  https://bitcointalk.org/index.php?topic=5406199.0 (https://bitcointalk.org/index.php?topic=5406199.0) and then this thread which compares their fees with other address formats  https://bitcointalk.org/index.php?topic=5370591.msg58417300#msg58417300 (https://bitcointalk.org/index.php?topic=5370591.msg58417300#msg58417300)


and it is also cheaper for transactions.


Yes it is cheap just like other SegWit address types but it is not the cheapest. If it is the same input and output number for a transaction like a 1 input to 1 output transaction the native segwit is cheaper than the taproot. Also if the input is less than the output addresses the native segwit is still cheaper. But if the output numbers is less than the inputs then Taproot is cheaper which makes it the best address format to consolidate UTXOs in terms of fee charges


Title: Re: About Taproot
Post by: Bitcoin Smith on December 23, 2023, 06:43:46 PM
and it is also cheaper for transactions.

What is important to know about Taproot?
Implications / goals of Taproot?
How does Taproot compare to bech32 (cheap fees?)
Risks / limits of Taproot?


P2TR is not necessarily cheaper compared to Native segwit (bech32) unless we are talking about multi signature wallets.

Taproot is aimed to provide better privacy and scalability by streamlining multiple signatures into one that results in decreased transaction size but it's higher compared to bech32.

Taproot upgrade is aimed towards the smart contract utility since segwit is limited in that region.

Refer this thread: Pay-to-taproot (P2TR) transaction fee (https://bitcointalk.org/index.php?topic=5370591.msg58417300#msg58417300) for detailed comparison of fees on P2WSH, P2SH and P2TR.


Title: Re: About Taproot
Post by: Greg Tonoski on December 24, 2023, 10:04:09 AM
Implications / goals of Taproot?
There is much information about TapRoot in the Bitcoin Explained podcast: https://bitcoin.nl/podcast/bitcoin-explained-the-technical-side-of-bitcoin

One of the benefit of TapRoot is the faster signature verification so that initial block download can be much faster if transactions are of the TapRoot type. Also, improvement of security of transactions (at least on theoretical level). 


Title: Re: About Taproot
Post by: Husna QA on December 25, 2023, 06:21:28 AM
Taproot is active now for a while and for Bitcoin's progress, it seems to be a decent step after native SegWit, where bech32 addresses were introduced.

I'm not a coder and it’s hard to understand to read texts from coders but getting informed about Taproot and doing research about it is a good idea in my opinion.
We just need a good text, good source or knowledgeable person to give insight and what I'm trying to ask here is: if it's possible for a knowledgeable person, preferably coder, to give insights about Taproot in a normal way (not for coders): -snip-

Educated sources explaining it (not from a coding perspective) but in a normal way, easy to understand if we are not coders, is what I’m looking forward to.

Previously, I saw gmaxwell's post, which compiled several information links related to Taproot history in one of the threads, but the thread has been deleted (https://bitcointalk.org/index.php?topic=5339925.0).

Hopefully, this can be additional information besides the links other members have included above. Here is the list (I have fixed several links in the original post that were not clickable):

-snip-
- Taproot Is Coming: What It Is, and How It Will Benefit Bitcoin (January 24th 2019) (https://bitcoinmagazine.com/technical/taproot-coming-what-it-and-how-it-will-benefit-bitcoin)
- Taproot at MIT Bitcoin Expo (April 6th 2020) (https://www.youtube.com/watch?v=1VtQBVauvhw)
- Bitcoin’s Future: Exactly How a Coming Upgrade Could Improve Privacy and Scaling (April 7th 2020) (https://www.coindesk.com/bitcoins-future-exactly-how-a-coming-upgrade-could-improve-privacy-and-scaling)
- Taproot and Schnorr: The Biggest BTC Upgrade for 2021 (February 6th 2021) (https://hackernoon.com/taproot-and-schnorr-the-biggest-btc-upgrade-for-2021-2t1w332g)
-snip-

2018
  • Taproot (major developments of 2018, January) (https://bitcoinops.org/en/newsletters/2018/12/28/#taproot)
  • What a taproot soft fork might look like (https://bitcoinops.org/en/newsletters/2018/12/18/#description-about-what-might-be-included-in-a-schnorr-taproot-soft-fork)

2019
  • 2019 year-in-review: taproot (https://bitcoinops.org/en/newsletters/2019/12/28/#taproot)
  • Impact of bech32 length-change mutablity on v1 segwit script length (https://bitcoinops.org/en/newsletters/2019/11/13/#taproot-review-discussion-and-related-information)
  • Blog post about x-only schnorr pubkeys (https://bitcoinops.org/en/newsletters/2019/11/13/#x-only-pubkeys)
  • Bitcoin Optech schnorr/taproot workshop (https://bitcoinops.org/en/schorr-taproot-workshop/)
  • Announcement of structured taproot review (https://bitcoinops.org/en/newsletters/2019/10/23/#taproot-review)
  • Update on changes to schnorr, taproot, and tapscript (https://bitcoinops.org/en/newsletters/2019/10/16/#taproot-update)
  • Suggested removal of P2SH address wrapper from taproot proposal (https://bitcoinops.org/en/newsletters/2019/09/25/#comment-if-you-expect-to-need-p2sh-wrapped-taproot-addresses)
  • Executive briefing: the next soft fork (https://bitcoinops.org/en/2019-exec-briefing/#the-next-softfork)
  • Reducing taproot commitment size (https://bitcoinops.org/en/newsletters/2019/05/29/#move-the-oddness-byte)
  • Overview of Taproot and Tapscript (https://bitcoinops.org/en/newsletters/2019/05/14/#overview-of-the-taproot--tapscript-proposed-bips)
  • Extended summary of bip-taproot and bip-tapscript (https://bitcoinops.org/en/newsletters/2019/05/14/#soft-fork-discussion)

2020
  • 2020 year in review: Taproot, tapscript, and schnorr signatures (https://bitcoinops.org/en/newsletters/2020/12/23/#taproot)
  • Website tracking miner support for taproot before signaling begins (https://bitcoinops.org/en/newsletters/2020/11/25/#website-listing-miner-support-for-taproot-activation)
  • Summary of results from surveying developers about taproot activation (https://bitcoinops.org/en/newsletters/2020/11/04/#taproot-activation-survey-results)
  • Bitcoin Core #19953 merged with consensus implementation of BIP341 (https://bitcoinops.org/en/newsletters/2020/10/21/#bitcoin-core-19953)
  • Discussion about taproot activation parameters (https://bitcoinops.org/en/newsletters/2020/09/02/#taproot-activation)
  • Discussion of various topics, including taproot activation (https://bitcoinops.org/en/newsletters/2020/08/05/#sydney-meetup-discussion)
  • Upgrading LN commitment formats, including for taproot (https://bitcoinops.org/en/newsletters/2020/07/29/#upgrading-channel-commitment-formats)
  • Question about the different features in taproot for upgrading (https://bitcoinops.org/en/newsletters/2020/07/29/#what-are-the-different-upgradability-features-in-the-bip-taproot-bip341-proposal)
  • Question about leaf versions in taproot (https://bitcoinops.org/en/newsletters/2020/07/29/#what-are-leaf-versions-in-taproot)
  • Discussion about backporting wtxid relay for taproot activation (https://bitcoinops.org/en/newsletters/2020/07/29/#bitcoin-core-18044)
  • New chatroom for discussing taproot activation (https://bitcoinops.org/en/newsletters/2020/07/22/#new-irc-room)
  • Coinpool: using taproot to help create payment pools (https://bitcoinops.org/en/newsletters/2020/06/17/#coinpool-generalized-privacy-for-identifiable-onchain-protocols)
  • Taproot eliminates vulnerability related to segwit fee overpayment attack (https://bitcoinops.org/en/newsletters/2020/06/10/#fee-overpayment-attack-on-multi-input-segwit-transactions)
  • BIP341 transaction digest amended with extra commitment to scriptPubKeys (https://bitcoinops.org/en/newsletters/2020/06/10/#bips-920)
  • Example sizes of multisig taproot transactions (https://bitcoinops.org/en/newsletters/2020/05/27/#what-are-the-sizes-of-single-sig-and-2-of-3-multisig-taproot-inputs)
  • Request for comments on amending BIP341 taproot transaction digest (https://bitcoinops.org/en/newsletters/2020/05/20/#evaluate-proposed-changes-to-bip341-taproot-transaction-digest)
  • Request for additional signature commitment to previous scriptPubKeys (https://bitcoinops.org/en/newsletters/2020/05/13/#request-for-an-additional-taproot-signature-commitment)
  • Security analysis: taproot in the generic group model (https://bitcoinops.org/en/newsletters/2020/03/04/#taproot-in-the-generic-group-model)
  • Taproot security from quantum computing threats (https://bitcoinops.org/en/newsletters/2020/02/26/#could-taproot-create-larger-security-risks-or-hinder-future-protocol-adjustments-re-quantum-threats)
  • Discussion about taproot versus alternatives (https://bitcoinops.org/en/newsletters/2020/02/19/#discussion-about-taproot-versus-alternatives)
  • command for experimenting with taproot and tapscript (https://bitcoinops.org/en/newsletters/2020/02/05/#taproot-and-tapscript-experimentation-tool)
  • Final organized review, presentation slides, and LN integration ideas (https://bitcoinops.org/en/newsletters/2020/01/08/#final-week-of-organized-taproot-review)

2021
  • Rust Bitcoin #589 starts implementing support for taproot and schnorr sigs (https://bitcoinops.org/en/newsletters/2021/05/12/#rust-bitcoin-589)
  • Miners encouraged to start signaling readiness for taproot (https://bitcoinops.org/en/newsletters/2021/05/05/#miners-encouraged-to-start-signaling-for-taproot)
  • Bitcoin Core 0.21.1 released ready to activate taproot (https://bitcoinops.org/en/newsletters/2021/05/05/#bitcoin-core-0-21-1)
  • BIPs #1104 adds activation parameters to the BIP341 taproot specification (https://bitcoinops.org/en/newsletters/2021/05/05/#bips-1104)
  • Bitcoin Core #21377 and #21686 add taproot activation mechanism and params (https://bitcoinops.org/en/newsletters/2021/04/21/#bitcoin-core-21377)
  • Compromise proposed to use MTP to activate taproot with speedy trial (https://bitcoinops.org/en/newsletters/2021/04/14/#taproot-activation-discussion)
  • Regular meetings scheduled to help activate taproot (https://bitcoinops.org/en/newsletters/2021/03/24/#weekly-taproot-activation-meetings)
  • Discussion of quantum computer attacks on taproot (https://bitcoinops.org/en/newsletters/2021/03/24/#discussion-of-quantum-computer-attacks-on-taproot)
  • Documenting the intention to use and build upon taproot (https://bitcoinops.org/en/newsletters/2021/03/10/#documenting-the-intention-to-use-and-build-upon-taproot)
  • Alternative methods of activating taproot discussed (https://bitcoinops.org/en/newsletters/2021/03/10/#taproot-activation-discussion)
  • Summary of taproot activation discussion regarding BIP8 (LOT) parameter (https://bitcoinops.org/en/newsletters/2021/02/24/#taproot-activation-discussion)
  • Summary of taproot activation discussion & additional meeting scheduled (https://bitcoinops.org/en/newsletters/2021/02/10/#taproot-activation-meeting-summary-and-follow-up)
  • Meeting to discuss taproot activation mechanisms (https://bitcoinops.org/en/newsletters/2021/01/27/#scheduled-meeting-to-discuss-taproot-activation)
-snip-

Sources:
Original post: https://bitcointalk.org/index.php?topic=5339925.msg57092717#msg57092717 (https://bitcointalk.org/index.php?topic=5339925.msg57092717#msg57092717) - @gmaxwell (https://bitcointalk.org/index.php?action=profile;u=11425)
Archive: https://loyce.club/archive/posts/5709/57092717.html (https://loyce.club/archive/posts/5709/57092717.html)