The Bitcoin Core development team released the latest update on Nov. 24 to Bitcoin (BTC)’s original software client — the nineteenth in the coin’s eleven-year history.
Releasing Bitcoin Core 0.19.0 (eventually 0.19.0.1 in the available download version, following the discovery of a last-minute issue) was overseen by lead maintainer Wladimir J. van der Laan and was reportedly developed by over a hundred contributors over a roughly six month period.
New wallet format, better SegWit interoperability
As Aaron van Wirdum has revealed, 0.19.0.1 includes a range of performance improvements, updates and bug fixes, resulting from 550 merged pull requests.
The “bech32” address format (BIP 173) is now set for the first time as the default option in the Bitcoin Core wallet Graphical User Interface (GUI), having first been introduced in early 2018 with version 0.16.0.
Bech32 contains a number of amendments, such as no longer making a distinction between lowercase and capital letters and formatting addresses to begin with “bc1” as opposed to 1 or 3. The addresses are thus a bit longer than existing format, but use fewer different characters. The changes are broadly intended to reduce the margin for human error in typos or reading aloud.
Bech32 also reportedly improves interoperability with SegWit wallets, with transactions now requiring less data to be transmitted over the Bitcoin network — and thus included in the blockchain — thereby reducing costs.
Van Wirdum indicates that the updated software client also now makes it possible for users to start a pruned node immediately from setup, even those with low disk space.
Privacy and security improvements
Nodes are now required to establish more connections to one another in a bid to better thwart partitioning attacks. Bloom Filters — a way for light clients, such as those running from mobile phones, to request relevant data from full nodes on the network — have now been deprecated, as they are deemed to be weak on privacy.
Instead of Bloom Filters, 0.19.0.1 is evolving toward supporting a newer solution called “compact client-side block filtering” (BIP 158), which essentially reverses the operation of Bloom Filters by having full nodes create filters for each block and enabling light clients to use these filters to determine whether transactions relevant to them may have happened in a block.
Bitcoin Core 0.19.0 has removed payment protocol (BIP 70) from its GUI, noting that it was never widely adopted and that most wallets still use the more basic URI scheme (BIP 21) to receive payments.
The minor features outlined include support for the Partially Signed Bitcoin Transactions (PSBT) protocol, which is useful for multi-signature and CoinJoin transactions.
This October, Bitcoin Core developer Greg Maxwell had criticized the “attractive mystery” that fear of a 51% attack on Bitcoin entails, arguing that any mechanism cooked up to mitigate it always implies centralization and represents a far greater threat to the network’s integrity.