Taproot

From Trezor Wiki
Jump to: navigation, search


Taproot represents the first major upgrade to Bitcoin since SegWit was implemented in 2017. It comprises three Bitcoin improvement proposals (BIPs), and will improve Bitcoin's functionality. Taproot improves both privacy and network efficiency, making Bitcoin transactions safer. More complex transactions will be quicker to send, thanks to the fact that with Taproot, the wallet no longer needs to send the often extensive history of transactions which preceded the one being spent.

The update comprises three different BIPs:

BIP 340 (Schnorr Signatures)[edit]

BIP 340 introduces Schnorr Signatures, which offers privacy and security advantages over ECDSA (i.e., elliptic curve digital security algorithm). As with ECDSA, Schnorr signatures use elliptic-curve cryptography (ECC), but offers numerous advantages over ECDSA regarding efficiency, storage and privacy.

The most notable improvement realized through Schnorr signatures is key aggregation, which eliminates the requirement for multiple public keys and signatures. Usually, if multiple parties want to sign the same message (e.g. spending from a multisig address) then each party must include their public key plus signature. This is not ideal in terms of computation and storage requirements. Key aggregation on the other hand does not require multiple public keys and signatures. Using Schnorr signatures, each party can trustlessly combine their public keys to generate a single public key. Each party can then sign the same message using their individual private keys. Subsequently, the signatures can be combined to generate a single signature, valid for the new 'combined' public key. This means that verification is required for only one signature and one public key. Effectively, this creates smaller transaction sizes through data aggregation.

BIP 341 (Taproot)[edit]

BIP 341 includes the definition of pay-to-taproot (P2TR). This represents a brand-new method of sending Bitcoin, combining the functionality of P2PK and P2SH scripts, with the outputs using Schnorr signatures as opposed to ECDSA. Using a new script type, P2TR enables users to send funds to a Schnorr public key (or the Merkle root of some other scripts). This new script can be used to generate Unspent Transaction Outputs (UTXO) that can be spent by the private key owner, or anyone else who can fulfill the requirements of any script within the Merkle tree.

BIP 342 (Tapscript)[edit]

BIP 342 is an update to the Bitcoin scripting language, enabling Bitcoin nodes to create and validate P2TR outputs. It consists of both new and updated codes. These scripts -- collectively known as 'Tapscript' -- are used to verify Taproot transactions and Schnorr signatures.

The Taproot upgrade also introduces MAST (Merkelized Abstract Syntax Tree), which renders complex transactions such as MultiSig and Lightning network transactions indistinguishable from basic transactions. This increases the difficulty of analyzing and tracing Bitcoin transactions.

Ultimately, Taproot is a significant upgrade that means developers have an greater tool set to use for creating more extensive Bitcoin applications, whilst simultaneously benefiting anyone transacting in Bitcoin by increasing network efficiency and providing a greater level of privacy.

How to add a Taproot account in Trezor Suite[edit]

First, ensure that your Trezor is running Firmware version 2.4.3 or higher. If not, please update the Firmware installed.

  1. Open Trezor Suite and connect your Trezor device by following the on-screen instructions. Then navigate to My accounts in the sidebar menu, and click the + button
  2. In the New Accountwindow, select Bitcoin
  3. Under Account type choose the Taproot option from the drop-down menu
  4. Then click the Add Account button


Taproot new account suite.gif


Note If you're running Firmware version 2.4.2 or lower, you will see the message "Firmware does not have capability to work with taproot". In this case, please update the Firmware.


Read more about Taproot and the benefits it promises for hardware wallets on the Trezor blog.

Like Trezor? Get one here!