Bitcoin’s Script & Taproot

Using “hashcash” and other cryptographic approaches, Nakamoto found an ingenious and novel way to set financial incentives in such a way that fraud always leads to more losses than gains. But Bitcoin’s development did not end there!

Bitcoin’s Script programming language

Satoshi Nakamoto foresaw the need for programs to efficiently interact with the Bitcoin blockchain and developed the “Script” programming language.

Script has limited functionality compared to Ethereum’s Solidity or general-purpose languages, such as Rust, used by Solana. The main limitation is that Script prevents programs from looping. Loops are helpful for enumerations or working through datasets, but they can be used to empty wallets quickly in a series of smaller transactions.

Ethereum got to know what the vicious downsides of loops can entail when “The DAO heist” enabled a hacker to steal a large portion of all Ether (ETH) from a poorly designed smart contract.

This limitation makes Script “Turing Incomplete,” a fancy name for not having as many instructions as a general-purpose language. Turing incompleteness makes Bitcoin much more secure because it limits the potential for nasty bugs; however, it hinders what can be developed. There will never be native NFTs or DeFi applications on the Bitcoin network. Clever developers have had to create more complex solutions built atop Bitcoin for security but process elsewhere, so-called layer-two solutions.

Bitcoin Core developers have not been sleeping in the meantime and updated Script to Tapscript with the Taproot upgrade, which allows more complex transactions.

The Taproot update to Bitcoin Core

The “Block wars” over Bitcoin’s block size in 2017 left a deep and lasting wound on developers and stifled innovation. Bitcoin’s Taproot update is as much a healing process as it is a big step forward for the network’s technology.

Updates used to need a one-year announcement period during which miners could signify their approval. The “Speedy Trial” overlay in the Bitcoin Improvement Proposal (BIP) 8 reduced this timeframe to three months.

After the third try, 90% of miners signalled approval of BIP-340 and BIP-342, known as the Taproot update, on June 12, 2021. The update was locked in on Nov. 14 and went live without a hitch. The corresponding software updates to nodes propagated through the network in the months afterwards.

Taproot features two significant upgrades:

  1. Schnorr signatures: Replacing ECDSA signatures, Schnorr’s algorithm allows keys to sign transactions in aggregate. Bitcoin becomes more private this way because transactions signed by multiple parties are indistinguishable from single-signer transactions. They also enable Bitcoin scripts to sign transactions, expanding the possibilities of Bitcoin native programs.
  2. Tapscript: Expands the functionality of the Script programming language to facilitate more complex transaction conditions, helping the Lightning Network and other layer-two solutions become more private and efficient.

Most importantly of all, Bitcoin developers may have found a new confidence in their ability to innovate and fully support miners.

This confidence is key to keeping Bitcoin relevant with meaningful innovation in the future.

This article is an extract from the 80+ page Scaling Report: Does the Future of Decentralized Finance Still Belong to Ethereum? co-published by the Crypto Research Report and Cointelegraph Consulting, written by ten authors and supported by Arcana, Brave, ANote Music, Radix, Fuse, Cryptix, Casper Labs, Coinfinity, Ambire, BitPanda and CakeDEFI.