A major update to Bitcoin Core 0.21.0 has been released. What’s new?

This Thursday, another major release of the main Bitcoin software, launched by Satoshi Nakamoto 12 years ago, took place. Bitcoin Core 0.21.0 was prepared for six months with the participation of more than 100 developers. Below is an overview of the improvements and innovations.

Descriptor wallets

When bitcoin coins are sent to the address, they are actually fixed in the unspent transaction output (UTXO) for subsequent unblocking in the course of further transactions. To do this, it is necessary to comply with the conditions established in UTXO, usually have a signature that would correspond to a certain public key. However, there may be other conditions that descriptor wallets help to deal with. With their help, you can, for example, use one wallet for accepting UTXOs, confirmed by a signature, and another with a multisignature.

The change is primarily aimed at developers, but users will also notice it. Now, when starting a Bitcoin Core node, the wallet will not be created by default. To do this, the user himself will have to carry out the corresponding operation, in the process choosing the type of the desired wallet. Over time, all wallets in Bitcoin Core will become descriptor.

Filtering Blocks

There are “lightweight clients” of bitcoin that allow you to download the part of the blockchain they are interested in and thus significantly reduce the resource requirements. Often so-called Bloom filters are used for this. They help to request data from relatively random nodes, but at the same time, as it turned out, they reveal all user addresses to these nodes.

To avoid such situations, Bitcoin Core 0.21.0 has implemented an alternative solution called “compact client-side block filtering”, which reverses the concept of Bloom filters. Now, not lightweight clients create filters to send to full nodes, but full nodes create filters for each block and send them to lightweight clients upon request.

Another threat to user privacy was the settings for retransmission of transactions, which was carried out every 15 minutes before they were included in the block. In the new release, attempts to retransmit transactions are made only once every 12-36 hours, which reduces the ability to analyze their actions.

Tor V3 support

As part of a recent update to the Tor protocol, version 3 (V3) addresses were introduced, which are longer than version 2 addresses. V2 addresses are still in use, but they are planning to be phased out within a year.

This could be a problem for Bitcoin users who want to conduct transactions over a private network. Bitcoin Core nodes find each other by passing Tor addresses to other similar nodes. Bitcoin Core 0.21.0 added support for a new address format that will allow them to remain functional when connected to private networks in the future.

Schnorr / Taproot Update

The Schnorr / Taproot update will be the first in the Bitcoin protocol since the launch of Segregated Witness (SegWit) in August 2017. Although the timing of the activation of the update is unknown, its code has already been added in Bitcoin Core 0.21.0. The clients do not yet have the activation logic that is required to run. It could be included in one of the smaller Bitcoin Core releases in the coming months.

Also, Bitcoin Core 0.21.0 contains many other bug fixes, fixes and performance improvements that are not so obvious from simple client use. For example, there has been a change to the wallet database from Berkeley DB to SQLite, which is better suited to the task at hand.

You may also like