Bitcoin Optech #155: Proposed BIPs And Bitcoin Stack Substitute

Bitcoin Optech #155: Proposed BIPs And Bitcoin Stack Exchange

This week’s e-newsletter describes two proposed BIPs related to wallet enhance for Taproot, and parts Q&A from Bitcoin Stack Substitute.

This week’s e-newsletter describes two proposed BIPs related to wallet enhance for Taproot, and parts Q&A from Bitcoin Stack Substitute.

The Bitcoin Optech e-newsletter supplies readers with a high-level summary of the largest technical recordsdata occurring in Bitcoin, along with resources that abet them be taught extra. To abet our readers discontinue wide awake-to-date with Bitcoin, we’re republishing the most modern exclaim of this e-newsletter underneath. Be conscious to subscribe to salvage this instruct material straight to your inbox.

This week’s e-newsletter summarizes two proposed BIPs related to wallet enhance for taproot and involves our traditional sections describing selected questions and answers on the Bitcoin Stack Substitute, prepare for taproot, and considerable adjustments to in model Bitcoin infrastructure projects.


  • PSBT extensions for taproot: Andrew Chow posted a proposed BIP to the Bitcoin-Dev mailing checklist that defines recent fields for PSBTs to make notify of when either spending or creating taproot outputs. The fields lengthen every the novel model 0 PSBTs and the proposed model 2 PSBTs (see Newsletter #128). Both keypath and scriptpath spends are supported.

    The proposed BIP also recommends that P2TR inputs in a PSBT can omit copies of old transactions as a consequence of taproot fixes the price overpayment attack in opposition to v0 segwit inputs (see Newsletter #101).
  • Key derivation route for single-sig P2TR: Andrew Chow also posted a second proposed BIP to the Bitcoin-Dev mailing checklist suggesting a BIP32 derivation route to make notify of for wallets creating single-sig taproot addresses. Chow notes that the BIP is terribly corresponding to BIP49 for P2SH-wrapped P2WPKH addresses and BIP84 for native P2WPKH addresses.

Chosen Q&A from Bitcoin Stack Substitute

Bitcoin Stack Substitute is one amongst the fundamental areas Optech contributors see for answers to their questions—or after we have just a few spare moments to abet odd or perplexed customers. In this monthly feature, we highlight just a few of the close-voted questions and answers posted since our final update.

Making ready for taproot #2: is taproot even value it for single-sig?

A weekly sequence about how builders and provider companies can prepare for the upcoming activation of taproot at block high 709,632.

The usage of Optech’s transaction size calculator, we can compare the sizes of assorted forms of single-sig transactions. As anticipated, transactions the notify of P2WPKH inputs and outputs are vital smaller than these the notify of P2PKH inputs and outputs—nonetheless, in all chance surprisingly, P2TR transactions are reasonably elevated than equal P2WPKH transactions.

P2PKH (legacy) P2WPKH (segwit v0) P2TR (taproot/segwit v1)









2-in, 2-out tx




That can build it seem counterproductive for single-sig wallets to implement taproot spending in preparation for block 709,632, nonetheless a more in-depth see displays that there are a preference of advantages to the notify of P2TR for single-sigs, every for wallet customers and for the community as a total.

  • More cost effective to use: it charges about 15% less at the enter level to use a single-sig P2TR UTXO than it does to use a P2WPKH UTXO. An overly simple diagnosis cherish the desk above hides the component that the spender can’t own which addresses they’re requested to pay, so when you discontinue on P2WPKH and every person else upgrades to P2TR, the accurate conventional size of your 2-in-2-out transactions will be 232.5 vbytes—while all-P2TR transactions will calm supreme be 211.5 vbytes.
  • Privacy: even supposing some privateness is misplaced when early adopters swap to a brand recent script layout, customers switching to taproot also straight salvage a privateness enhance. Your transactions will have the opportunity to see indistinguishable from folks working on recent LN channels, extra efficient DLCs, stable multisignatures, a amount of suave wallet backup recovery schemes, or a hundred assorted pioneering trends.

    The usage of P2TR for single-sig now also enables your wallet to toughen to multisignatures, tapscripts, LN enhance, or assorted parts in a while with out affecting the privateness of your present customers. It received’t matter whether or no longer a UTXO changed into as soon as bought to an stale model or a brand recent model of your instrument—every UTXOs will see the same onchain.
  • Extra helpful for hardware signing devices: since the rediscovery of the price overpayment attack, a whole lot of hardware signing devices comprise refused to signal a transaction unless every UTXO spent in that transaction is accompanied by metadata containing a copy of serious parts of the whole transaction which created that UTXO. This vastly increases the worst-case processing that hardware signers want to develop and is namely problematic for hardware signers the notify of runt-size QR codes as their predominant communication medium. Taproot eliminates the vulnerability underlying the price overpayment attack and so can drastically toughen the efficiency of hardware signers.
  • Extra predictable feerates: ECDSA signatures for P2PKH and P2WPKH UTXOs can vary in size (see Newsletter #3). Since wallets want to own a transaction’s feerate sooner than creating the signature, most wallets correct own the worst case signature size and accept that they’ll reasonably overpay the feerate when a smaller signature is generated. For P2TR, the accurate size of the signature is believed upfront, allowing the wallet to reliably own a true feerate.
  • Serve full nodes: the general safety of the Bitcoin system relies on a predominant share of Bitcoin customers verifying every confirmed transaction with their have nodes. That involves verifying the transactions your wallet creates. Taproot’s schnorr signatures could furthermore be efficiently batch verified, decreasing by about 1/2 the preference of CPU cycles nodes want to dissipate when verifying signatures sooner or later of the strategy of catching up on old blocks. Even when you rejected every assorted point on this checklist, comprise in thoughts preparing to make notify of taproot for the coolest thing about folks running full nodes.

Important code and documentation adjustments

Important adjustments this week in Bitcoin Core, C-Lightning, Eclair, LND, Rust-Lightning, libsecp256k1, Hardware Pockets Interface (HWI), Rust Bitcoin, BTCPay Server, Bitcoin Improvement Proposals (BIPs), and Lightning BOLTs.

  • Bitcoin Core #22154 provides code that can allow the person to generate bech32m addresses for P2TR scripts after taproot prompts in block 709,632, e.g. by calling getnewaddress “” bech32m. If a transaction involves any bech32m addresses after taproot activation, the descriptor wallet could even notify a P2TR swap output. The feature supreme applies to wallets with taproot descriptors (see Newsletter #152).
  • Bitcoin Core #22166 provides enhance for inferring taproot tr() descriptors from outputs, polishing off general taproot descriptor enhance. Descriptor inference is used to present extra correct recordsdata in responses to RPC calls corresponding to listunspent.
  • Bitcoin Core #20966 adjustments the name and layout of the saved banlist file from banlist.dat (basically basically based on serialized P2P protocol addr messages) to banlist.json. The file layout update enables the recent checklist to store ban entries for peers on Tor v3 and peers on assorted networks with addresses better than 128 bits huge—the utmost width that normal addr messages can bear.
  • Bitcoin Core #21056 provides a brand recent -rpcwaittimeout parameter to bitcoin-cli. The present -rpcwait parameter will prolong sending a uncover (RPC call) unless the bitcoind server has started. The recent parameter stops the ready after the indicated preference of seconds, returning an error.
  • C-Lightning #4606 enables creating invoices over about 0.043 BTC, following an identical swap in LND (see Newsletter #93) and the swap to the specification described in the following item.
  • BOLTs #877 removes the protocol-level per-fee amount limit at the foundation presented to remove from fundamental losses coming up out of implementation bugs. This follows the everyday implementation of option_support_large_channel in 2020, which (when enabled) removed the per-channel amount limit. Peek the topic on worthy channels for added foremost factors on these two limits.

Fetch the normal put up right here.

Please subscribe to the Bitcoin Optech e-newsletter on to salvage this instruct material straight to your inbox every month.

Related Articles

Back to top button
%d bloggers like this: