This page looks best with JavaScript enabled

Schnorr and Taproot make it into Bitcoin codebase. So what?

 ·  ☕ 4 min read

As per usual, folks were sending interesting news in he Bitcoin Podcast slack. This oned happened to catch my eye as it's an update I've been waiting for; Bitcoin is getting two major improvements in historic code update from Decrypt. I immediately said we would talk about this in the upcomming The Bitcoin Podcast episode roundtable. But first, I'd wanted to take some notes and jot down a few things so that I can share what these technologies are, what they potentially mean, and the remaining road ahead for those that don't listen the podcast, but are still interested.

As per usualsome text here , folks were sending interesting news in he Bitcoin Podcast slack. This oned happened to catch my eye as it’s an update I’ve been waiting for; Bitcoin is getting two major improvements in historic code update from Decrypt. I immediately said we would talk about this in the upcomming The Bitcoin Podcast episode roundtable. But first, I’d wanted to take some notes and jot down a few things so that I can share what these technologies are, what they potentially mean, and the remaining road ahead for those that don’t listen the podcast, but are still interested.

For those who would like to listen to our converation about this on The Bitcoin podcast, here’s the episode:

I’m also trying to write more (hence this website / blog / resource / whatever).

What happened?

For those that don’t know, the Bitcoin ecosystem has been working on some protocol level improvements that drastically expand the capabilities of the system. On October 15th, 2020, a pull request was merged into the Bitcoin Core codebase which adds a bunch of new features which have been under review for quite a long time. Namely, Schnorr signatures, Taproot, and Tapscript.

What do those words mean?

Many have already asked me what these different changes are, so I’m going to try and conceptually explain them at a high level:

Schnorr Signatures

To start, I did a Hashing It Out Interview with Andrew Poelstra about a year ago that described Schnorr signatures with some detail, I’d recommend checking it out. For the lazy, or those that don’t like audio content, here’s an overview:

Currently, the Bitcoin protocol uses digital signatures to sign messages. The algorithm used to do this is ECDSA, specifically for keypairs on the secp256k1 curve. The proposal is to extend signature schemes to include the ability to sign messages via the Schnorr algorithm (on the same curve). At a high level, this allows a message that is signed by multiple keys to be aggregated into a single signature, which results in a more efficient message size. This algorithm also has efficiency gains in verification and authentication processes.

For instance, if you’d like to send a transaction that requires multiple UTXOs, you would previously have to include every signature of each UXTO included in the message (this is very common occurance as HD wallets are standard practice). The Schnorr algorithm turns all of those signatures into a single signature.

Taproot

Taproot is an improvement on a different technology called Merkelized Abstract Syntax Tree or MAST. In short, a MAST allows you to stack Bitcoin scripts into a Merkle tree, expanding the possibile things a Bitcoin txn is capable of doing.

Tapscript

Tapscript is a short name for referring to the updates required to the validation process in Bitcoin. Taproot is an update to the Bitcoin script language. More specifically, it aims at including the previously mentioned technologie available so that Bitcoin is capable of velidating transactions that use them.

What happens next?

So this post is all about the fact that the code has been incorporated into the main client codebase, but that isn’t the end of the story. In order for these technologies to actually be used in Bitcoin, the community will have to go through some activation mechanism.

Some thoughts on the repercussions

text TBD

Share on
Support the author with

Corey Petty, PhD
WRITTEN BY
Corey Petty, PhD
Developer/Podcaster/Researcher

Contributions

Just Corey.

Reviewers

None so far.