Default Bitcoin Addresses Are Now Longer But Simpler & Cheaper to Use
The Bitcoin Core client version 0.19.0.1, the last expected version before the anticipated Bitcoin mining reward halving in May 2020, was released this past weekend by the Bitcoin Core developers. Although it contains no major changes, it does come with several interesting speed and security improvements, as well as other modifications.
One of those is that so-called Bech32 Bitcoin (BTC) addresses are now set as the default option. Originally introduced in 2018, Bech32 addresses start with “bc1” and are 15% longer (90 characters in total), but do not differentiate between the uppercase and lowercase letters. The mixed case makes it inconvenient to reliably write down, type on mobile keyboards, or read out loud, while the increased length does not matter when copy-pasting addresses, according to developers that hope that this change will reduce the possibility of human mistakes.
Moreover Bech32 addresses are native SegWit addresses, which allow cheaper transactions. (Learn more: How to Use Bitcoin SegWit Transactions)
However, as not all cryptocurrency wallets and exchanges support SegWit transactions, only new software will be able to use Bech32 addresses, and only for receivers with SegWit-enabled new software. In all other cases, P2SH or P2PKH addresses can be used, according to the Bitcoin Core developers.
The 19th major release of Bitcoin’s software client is still the dominant original version of Bitcoin, first launched by its creator Satoshi Nakamoto 11 years ago. Although there is no fixed schedule, a new and improved version of Bitcoin Core client is released approximately once in six months or so, followed by some minor fixes on a monthly or quarterly basis. Bitcoin Core generally refers to a full Bitcoin node as well as the community dedicated to its development.
The most recent version includes contributions from more than 100 developers as was led by the Bitcoin Core lead maintainer Wladimir van der Laan. In total, it took 550 merged pull requests and was released over a period of six months.
Other key improvements:
- Two block-only outbound connections. Peer-to-peer (P2P) networks are vulnerable to partitioning attacks - situations where some of the network nodes can become isolated and the whole network is tricked into accepting a minority chain. Bitcoin Core 0.19.0.1 cleverly changes the default number of extra connections to two, thus allowing the network nodes to make more connections by relaying blocks only, which also requires less extra bandwidth.
- Bloom filters are no longer supported by default. Bloom Filters, used by light Bitcoin clients such as mobile wallets, were proven to have privacy issues and are no longer supported by default but users can still turn them on if they choose to do so.
- Compact client-side block filtering improvements. Although not fully available just yet, Bitcoin Core 0.19.0.1 users can opt-in to use “compact client-side block filtering” via a custom application running on top of the node. It is deemed as a more secure alternative to Bloom Filters.
- Disabled payment protocol support. The protocol has been proven to have numerous security and privacy vulnerabilities, lacked adoption, and thus has been removed from the client’s interface.
Other notable changes include the possibility of starting a node with limited disk space, new features for Partially Signed Bitcoin Transactions (PSBT) protocol, and other smaller improvements that are handy for programmers working on Bitcoin applications.
The complete list of Bitcoin Core 0.19.0.1 upgrades can be found here.
Just had the look at the Bitcoin Core 0.19 docs. A really amazing upgrade, particularly for developers building on top of the RPC.— Francis Pouliot ☣️ (@francispouliot_) November 20, 2019
Pretty cool new bitcoincore client release. Tons of small improvements and fixes. It's crazy how many small things can be improved. https://t.co/zZFGTcJIz2— Richard Heart (@RichardHeartWin) November 25, 2019
Happy to see that bitcoin core 0.19 has bech32 addresses as default type for `getnewaddress`.#bitcoin— Paolo Ardoino (@paoloardoino) November 24, 2019