BitcoinCore 0.15.0 - What's new?
Here it is folks, the official release for Bitcoin Core 0.15.0. The Bitcoin client originally launched by Satoshi Nakamoto nine years ago.
Bitcoin Core 0.15.0 on github, boasts significant performance and usability improvements.
Notable changes in Bitcoin Core 0.15.0
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 first block that is mined. Instead, miners typically prioritize the transactions that include the most fees. If a user wants to have his transaction confirmed quickly, he should include a high enough fee. If he’s not in a rush, a lower fee should suffice. However, the Bitcoin network deals with inherent unpredictability in terms of the speed at which blocks are found or the number of transactions that is being transmitted at any time. This makes it hard to include the right transaction fee.
Bitcoin Core 0.15.0 lowers this fee uncertainty: The newest version of the software includes significantly better fee estimation algorithms. This is mostly because the software takes more data into account when making the estimations, such as the fees included in older confirmed transactions, as well as fees in unconfirmed transactions — the fees that proved insufficient.
Additionally, users can enjoy more flexibility. For one, Bitcoin Core 0.15.0 for the first time allows users to include fees that could take their transactions up to a week to confirm. And, also newly introduced, users can choose to accept more or less risk that their transaction could be delayed due to a sudden influx of transactions.
Replace-by-fee in User Interface
With improved fee estimation, it is possible that users will still need to wait longer than they want for their transactions to confirm, because there is a sudden rush of transactions on the network. For this case, some wallets let users add a “replace-by-fee” tag to their transactions. With such a tag, nodes and miners on the network know that the sender may want to replace that transaction with a newer transaction that includes a higher fee. This effectively allows users to bump the transaction in line to have it confirmed faster.
Bitcoin Core nodes have supported replace-by-fee for well over a year now: They already replace “replace-by-fee” tagged transactions if the new transaction includes more fees. The Bitcoin Core 0.15.0 wallet introduces a replace-by-fee toggle in its user interface. This lets users include the appropriate tag, allowing them to easily increase the fees on their transactions later on.
Multi-wallet Support (Client and RPC Only)
Bitcoin Core 0.15.0 lets users create several wallets for the first time. These wallets all have their own separate Bitcoin addresses, private keys and, therefore, funds. Users can utilize the different wallets for different purposes; for example, one wallet can be used for personal day-to-day purchases, another for business-related transactions, and a third just for trading.
Using several wallets can offer a number of benefits. For instance, it makes accounting easier and more convenient. Additionally, users can more easily benefit from increased privacy as the different wallets cannot be linked to each other by blockchain analysis. It’s also possible to use different wallets for specific applications and more.
Other Improvements
Apart from the above mentioned notable changes, Bitcoin Core 0.15.0 includes a number of additional performance improvements, as most new major Bitcoin Core releases do. Concretely, these changes speed up how quickly blocks are downloaded from the network, they let nodes start up faster, and up-to-date nodes will be able to validate new blocks more quickly, in turn benefiting network-propagation time.
Finally, it’s worth mentioning that Bitcoin Core 0.15.0 will disconnect from BTC1 peers on the network. This means that the Bitcoin network will experience less disruption if the SegWit2x hard fork splits the network, as both types of nodes will more easily find compatible peers. While this change has gotten some media attention, this change shouldn’t really be noticeable.
This post recieved an upvote from minnowpond. If you would like to recieve upvotes from minnowpond on all your posts, simply FOLLOW @minnowpond