Skip to content

Bitcoin Taproot explained

Taproot combines individual Bitcoin hashed functions together and hashes them to create a single block entry. Effectively this is smart contracts for Bitcoin, which includes the ability to create NFTs or in Bitcoin terms ordinals.

Let me explain in detail:

Bitcoin contains many scripts (functions describing rules):

The mostly commonly used one is the function of spending coins i.e. using the current owners private key to sign the coin with another public key, effectively transferring ownership.  It is the most basic function that exists within the Bitcoin scripts.

Bitcoin, however, has many functions that are almost never used: 

  • Time lock – won’t allow coins to move until a certain time has passed
  • Time release lock – allow a separate key to access coins after a certain time has elapsed
  • Hash locks  – add and allow decoding of data encrypted on the blockchain after a certain time – forced publication

Pre taproot, any of these functions could be used, but only one could be chosen per transaction.

Taproot allows multiple scripts to be combined using “MAST” Merkalised Abstract Syntax Tree. This allows each script to be executed and hashed, then those are bundled up and hashed.This is a very efficient way of combining multiple scripts into a 32 byte hash. To extract this, you can prove one condition and provide the input hashes for the other conditions, allowing single extrapolation of conditions when required.

Taproot allows Segwit multisigs to be combined into one combined hash. Each contributor takes their key combines with a randomiser, add them all together using an elliptic curve to create a single key. This creates privacy and efficiency for multisig transactions. This means, that while wallets are still public, the transactions they produce become private. It also enables adaptive signatures, which allow one party to reveal a secret to the other signer when a transaction is signed.This can be used to encrypt some data which is unencrypted to another party at some date (or block) in the future.

This is effectively ordinals or Bitcoin NFT’s.