Today marks the official release of Bitcoin Core 0.15.0, the fifteenth generation of Bitcoin’s original software client launched by Satoshi Nakamoto almost nine years ago. Overseen by Bitcoin Core lead maintainer Wladimir van der Laan, this latest major release was developed by nearly 100 contributors over a six-month period, with major contributions through Chaincode Labs, Blockstream and MIT’s Digital Currency Initiative.
Bitcoin Core 0.15.0 offers significant performance and usability improvements over previous versions of the software implementation. It also introduces several new features to better deal with the current status of the network.
These are some of the more notable changes.Chainstate Database Restructure
One of the biggest changes compared to previous versions of the software involves how the state of Bitcoin’s blockchain is stored. This “chainstate” or “UTXO-set” is saved in a dedicated database, whereas previously it had been categorized per transaction. If one transaction sent bitcoins to several outputs (“addresses”), these different outputs were stored as a single database entry, referring to that one transaction.
With Bitcoin Core 0.15.0, these outputs are instead stored in a single database entry each. If a single transaction sends bitcoins to different outputs, every output is stored separately. While this method does claim more disc space, it requires less computational resources if one of these outputs is spent later on.
The most concrete benefit of this new data structure is that initial sync-time for new nodes is decreased by about 40 percent. It also introduces simpler code, reduces memory usage and more. Additionally, it fixes a bug that could theoretically crash Bitcoin Core nodes, controversially revealed at last weekend’s Breaking Bitcoin conference in Paris.Improved Fee Estimation
As Bitcoin blocks have been filling up over the last year or two, not all transactions fit in the...