Bitcoinâs best-known proposed code change isnât the only one that matters.
While the last few bitcoin code versions saw the gradual release of SegWit (a proposal that would alter transactions to boost scalability), developers are quietly improving bitcoin in other ways.
The upcoming release â version 0.14.0 â is composed of performance boosts and long-in-the-making code shuffles that could pave the way for future upgrades. The version will be made available once a trial version successfully withstands testing by developers.
As explained by Chaincode engineer Russell Yanofsky:
âThereâs been a lot of performance improvements and thereâs been a lot of ongoing improvements on the networking code â making it more maintainable. But [developers] are also laying the groundwork, doing all this clean-up to make it multi-threaded and for more improvements in the future.â
You could argue that running a full node is the best way to take advantage of bitcoinâs unique ability to minimize trust in third parties.
Using the wallet features baked into the node is the most âpureâ way to send and receive payments, as well as to ensure better security and privacy of transactions. At least, thatâs compared to more popular, mobile-based SPV wallets, which store a smaller slice of block information and, as a result, require more trust in the networkâs miners.
However, running a node continues to be a pain point for users, since it requires downloading every transaction sent since bitcoin emerged nearly 10 years ago.
Perhaps the biggest performance improvement in 0.14.0 is that nodes can initially sync up with the network more quickly. Although the overall storage size is the same, in a trial run, 0.14.0 synched 5.7x faster than 0.13.2, the previous version, according to developers.
This is accomplished with âassumed valid blocksâ, which separate two processes: verifying historical signatures and checkpoints, where old block hashes are hardcoded into the software to prevent denial-of-service attacks.
Further, while users have had the option of âpruningâ the blockchain for a while now, 0.14.0 introduces a âmanual pruningâ option, where users can use a command-line option to cut out block information and, as a result, retain a smaller version of the blockchain.
After that, thereâs bumpfee, for which Yanofsky recently âinheritedâ the role of lead developer, and has been helping to test and complete.
The idea is that bitcoin transactions are sometimes slow to be added to the blockchain, as thereâs limited room in each bitcoin block. And, since miners have some choice over which valid transactions are packaged into each block, theyâre more likely to include transactions with a higher fee.
With a âconservativeâ fee, Yanofsky explained, youâre not sure when your transaction will be included in a block. However, you can speed it up by using bumpfee to replace the old transaction with a new one that has a higher fee attached to it.
âPreviously you would be kind of stuck because you donât want to send a new payment. If they both go through then youâd pay twice,â he told CoinDesk.
The functionality is turned off by default, but users can activate it by using the command line, and is a feature that might be particularly useful as blocks are filling up. (This has long been a topic of bitcoinâs scaling debate, which we wonât get into here).
Bumpfee uses opt-in replace-by-fee (RBF) under the hood, a feature that was introduced earlier that allows users to swap unconfirmed transactions with those with a higher fee. Developer James Hilliard spoke to the benefits of the underlying technology more generally â some of them longer-term.
âItâs something important for things like [the] Lightning network as well, which need reliable transaction confirmations,â he said.
Though bumpfee uses a version wherein users can opt-in to replaceable transactions, itâs worth noting that a full version, where every bitcoin transactions uses the feature, was controversial in the past.
There are many other changes, some of which aim to optimize the mining process.
One change improves block processing speeds by reducing the redundancy of verifying signatures in blocks, while the enhanced âhigh-bandwidth modeâ can speed up block propagation across the network in some cases.
âVersion 0.14 has plenty of optimizations such as networking-side stuff,â Hilliard added.
Further, Bitcoin developer Cory Fieldsâ peer-to-peer refactoring finally made it into the 0.14.0 release, after nearly two years of work. The hope is that it will clear the way for future upgrades and help new developers make sense of the codebase faster.
Though, like many of the other miscellaneous changes included in the release, itâs not something that average users are likely to notice â at least not yet.
Image via Shutterstock