The Bitcoin Core 24.0 software, which was just released, is a big improvement over the original Bitcoin software. A team of 112 developers worked on the project for seven months, focusing on improving the wallet, the graphical user interface (GUI), peer-to-peer (P2P) communications, and more. As a result, this new version of Bitcoin Core offers a range of enhancements that make it easier to use and more efficient.
Let’s look at the changes.
Changes Made in the Wallet
Bitcoin Core 24.0 introduces support for Miniscript—a framework for Bitcoin Script that simplifies the creation of complex scripts in Bitcoin transactions—by extending the wsh() output descriptor. Miniscript offers tools for analysis, composition, and generic signing, and follows a predetermined behavior pattern to minimize unexpected behavior and potential risks. Simple scripts are easy to write, but as the complexity of the scripts increases, so does the chance of making an error. Miniscript offers a solution.
It gives developers a variety of tools and follows a set pattern of behavior so that they can make complex scripts without making mistakes. Users can make a Miniscript script wallet with Bitcoin Core 24.0, generate addresses for it, and put bitcoin into it. However, currently, spending from these addresses is not supported by the wallet, but it is certainly the first step towards enabling more complex scripting in Bitcoin in a secure and straightforward manner.
The sendall RPC allows users to spend all their unspent transaction outputs (UTXOs) in a single transaction, improving privacy by eliminating the need to change addresses. Change addresses can be confusing, and a chain analyst may be able to find out who owns multiple UTXOs by using the common-input-ownership heuristic to connect them to the same wallet. By spending all of their UTXOs in a single transaction, users can avoid this risk and make it less clear who owns the outputs that are created. This can be useful for emptying a wallet or simply moving funds to a new address without revealing the full extent of their holdings.
Updates To Replace By Fee
RBF (Replace-By-Fee) is a feature in Bitcoin that allows users to update the fee of a transaction that has not yet been included in a block. This can be helpful if the original fee was too low or if the mempool is full, because it lets the user raise the fee to speed up the transaction settlement.
To use RBF, the user creates a new transaction with the same inputs and most of the same outputs as the original transaction, but with a higher fee. The original transaction is then dropped from the mempool and replaced with the new transaction.
The Bitcoin Core 24.0 introduces 2 updates to the RBF.
First, users can opt out by changing the transaction building process or setting the –walletrbf startup option to false. Second, the new mempoolfullrbf option lets users set up their nodes so that they don’t enforce the RBF flag.
Descriptor Wallet Migration
Bitcoin Core 24.0 introduces a new tool to migrate legacy wallets to descriptor wallets, a standard format that makes it easier for users to back up and restore their wallets. Descriptor wallets have all the information needed to be restored correctly by any software client that supports descriptor wallets. This means that users don’t have to know where their wallet came from. The migratewallet RPC is an experimental tool that allows legacy wallets to migrate to descriptor wallets, making it easier for users to safeguard their Bitcoin.
Changes to GUI
Bitcoin Core 24.0 improves the functionality of its GUI by adding a menu option to restore a wallet from a backup and by unifying the GUI settings page with the bitcoin.conf configuration file. These changes make it easier for users who aren’t tech-savvy to restore their wallets and change the way their Bitcoin Core client works. The GUI settings page now displays settings pulled from the bitcoin.conf file and reflects configuration changes made in the GUI. These improvements bring the GUI closer to the functionality of RPCs and command-line tools, making it a more useful interface for users.
Changes To P2P Communications
In Bitcoin Core 24.0, peers that join the network for the first time or reconnect after a long time away now download block headers twice. This is to protect against attacks that try to use up all the network’s resources. In the first run, the headers are downloaded and scrapped until a sufficient amount of work is found, indicating that the chain the peer is following is valid. The peer then restarts the process, downloading and saving the block headers.
This approach allows the peer to verify the validity of the chain before committing resources to download and save the blocks and eliminates the need for checkpoints, which can be abused to roll back the longest chain. In case of an attack, the peer doesn’t use up a lot of storage space by downloading and throwing away headers until enough proof of work is found.
Bitcoin Core 24.0 introduces a number of changes and updates to the software. It has undergone extensive testing on various operating systems, including macOS, Linux, and Windows 7 and higgher. This ensures that the software is compatible with a wide range of systems and can be used by a diverse user base.