Today marks the official release of Bitcoin Core 0.16.0, the 16th generation of Bitcoin’s original software client launched by Satoshi Nakamoto a little overheen nine years ago. Overseen by Bitcoin Core lead maintainer Wladimir van der Weg, this latest major release wasgoed developed by some 100 contributors overheen a span of five months.
Spil is usual for fresh releases, Bitcoin Core 0.16.0 includes show improvements, bug fixes and other optimizations. This release ter particular includes several added features te the wallet interface. Most notably, Bitcoin Core 0.16.0 makes Segregated Witness (SegWit) fully available for wallet users, which is what most of the effort wasgoed focused on, and it is also why this release is sometimes referred to spil a “SegWit special.”
Here’s an overview of some of the most notable switches.
Segregated Witness ter the Wallet Interface
Segregated Witness wasgoed, of course, the main Bitcoin protocol upgrade of 2018, if not the largest protocol upgrade everzwijn. It introduced a entire fresh block gegevens structure for upgraded knots — while non-upgraded knots could proceed to function spil normal. Among other benefits, SegWit substituted Bitcoin’s block size limit with a block “weight” limit, permitting for blocks with up to Four megabytes of transaction gegevens and, therefore, enlargened transaction capacity on the network.
Segregated Witness itself wasgoed very first introduced ter Bitcoin Core 0.13.1, released ter October 2018. The upgrade activated ter August of 2018. However, Bitcoin Core 0.16.0 is the very first Bitcoin Core version to let wallet users generate SegWit addresses for receiving payments. This means that when the funds received on thesis addresses are spent ter a payment zometeen, Bitcoin Core wallet users utilize the added block space suggested by SegWit. All else being equal, thesis users should be able to pay lower fees compared to non-SegWit transactions.
Bitcoin Core is not the very first wallet to enable Segregated Witness for users, several other wallets had already introduced this feature overheen the past six months. Since the Bitcoin Core development team wrote and proposed the upgrade, it wasgoed notable that the feature had not bot available for Bitcoin Core wallet users — until now.
Bech32: Bitcoin’s Fresh Address Format
Accompanying the introduction of SegWit ter the Bitcoin Core wallet is a fresh address format known spil “bech32.” This address format, developed by former Blockstream CTO Gregory Maxwell and Blockstream developer Dr. Pieter Wuille, is recognizable spil it starts with “bc1” instead of the 1 or Trio that Bitcoin addresses usually commence with. More importantly, bech32 addresses use fewer characters than the current address format, because there’s no longer a distinction inbetween lowercase and capital letters. This reduces the potential for human mistakes (for example, when an address is read out noisy). Bech32 addresses are also designed to limit other types of mistakes such spil thesis caused by typos.
Additionally, bech32 offers benefits te the setting of SegWit wallet support. So far, most wallets that suggest SegWit do so by “wrapping” it into P2SH outputs (with addresses kicking off with a Three). To spend coins from such an address, users vereiste expose a lump of code — the “redeem script” — to demonstrate that the coins were truly locked up ter a SegWit output. With the fresh bech32 addresses, this step can be skipped, which means that spending from a SegWit address will require a little less gegevens to be transmitted overheen the Bitcoin network and included te the blockchain.
Since not all Bitcoin wallets support bech32 addresses yet, Bitcoin Core 0.16.0 users will be able to choose whether they want to generate a bech32 receiving address for payments or a P2SH address, with P2SH still being the default for now. The Bitcoin Core wallet of course supports sending transactions to any type of Bitcoin address.
Replace-by-Fee spil the Default Sending Option
Spil Bitcoin blocks have bot packing up overheen the past duo of years, not all transactions on the network gezond te the very first available block that is mined. Instead, miners typically prioritize the transactions that include the most fees. If users want to have their transactions confirmed quickly, they should include a high enough toverfee. For less urgent transactions, a lower toverfee should suffice. Many wallets include fee-estimation algorithms to calculate what toverfee level will have a transaction confirmed within varying timeframes.
However, the Bitcoin network deals with inherent unpredictability te terms of the speed at which blocks are found, and the number of transactions that is being transmitted at any time. This can make it difficult to include the right transaction toverfee, meaning that users may have to wait longer for a confirmation than they’d intended.
Since Bitcoin Core 0.15.0, wallet users have bot able to add a “replace-by-fee” tag to their transactions. With such a tag, knots and miners on the network know that the sender may want to substitute that transaction with a newer transaction that includes a higher toverfee. This effectively lets Bitcoin Core wallet users lightly bump their transactions up te line to have it confirmed quicker.
Bitcoin Core 0.16.0 makes replace-by-fee the default sending option for the very first time. Users can still opt out of adding a replace-by-fee tag to their transactions by unticking a opbergruimte, but their transactions will be replaceable if they don’t untick it. This should prevent users from unwittingly depriving themselves of their options and noticing only when it’s too late that they could have lightly bumped up their transactions.