A new major update of Bitcoin Core is being tested and is in its release candidate phase and could be released to the public in the near future.
Listen To The Episode Here:
In this episode of “Bitcoin, Explained,” hosts Aaron van Wirdum and Sjors Provoost discuss the upcoming Bitcoin Core major release, Bitcoin Core 24.0.
The Bitcoin Core project produces a new major release of its software roughly every six months. The 24th major release is currently in its release candidate phase, which means that it is being tested and could technically be released any day now (though this phase will probably last a few more weeks). In the episode, van Wirdum and Provoost discuss seven of the most notable changes included in Bitcoin Core 24.0.
This includes a change to how nodes download blocks when they sync with the network. While previous Bitcoin Core versions started by downloading only block headers to make sure that the blocks they download have sufficient proof-of-work, Bitcoin Core 24.0 nodes will initially not store these block headers in order to prevent a certain type of resource exhaustion attack. Van Wirdum and Provoost explain that this should eventually also allow for the removal of any checkpoints in the Bitcoin Core codebase.
They go on to explain that Bitcoin Core 24.0 also includes an added option for users to apply full replace-by-fee (RBF) logic. Until now, Bitcoin Core nodes applied the “first seen” rule, which meant that conflicting transactions wouldn’t be accepted in the node's memory pool (mempool) and forwarded to peers. With this upcoming release, users can choose to make their nodes accept and forward conflicting transactions if they include a higher fee than (the) earlier transaction(s) they conflict with.
Further upgrades discussed by van Wirdum and Provoost include a tool to migrate legacy wallets to descriptor wallets, initial miniscript support, default use of RBF when creating transactions, an improved unspent transaction output (UTXO) selection algorithm which randomizes change output amounts for extra privacy and a new “send all” function to spend a particular (set of) UTXO(s) in full.