Segregated Witness (SegWit) is special.
Finally activated last August after months of controversy, SegWit is now spurring developers to put together a more structured, "themed" release for the software, an unusual development for the team behind the world's oldest and most valuable cryptocurrency network.
Most of the time when Bitcoin Core introduces new changes to the cryptocurrency's code, the loose group of volunteer developers simply combine disparate optimizations together. But this coming code release, 0.16.0, the sixteenth "major release" since bitcoin began, is a bit different.
Set to launch in the coming days, the updates all revolve around SegWit – with most focusing on making it easier to send SegWit-style transactions from the software's default wallet.
So, while the first software rollout of SegWit was about making sure the network understood the new rules, 0.16.0 is all about making it possible for users to take advantage of their benefits.
Bitcoin Core contributor Andrew Chow told CoinDesk:
"The primary change is the addition of SegWit in the wallet. This lets users to easily create SegWit addresses."
Toward that goal, Chow explained that SegWit features have been added to both the command line set and the wallet user interface, so both programmers and non-programmers can use it.
Chaincode Lab engineer and Bitcoin Core contributor Marco Falke noted that while it was possible to create SegWit addresses in prior wallet versions, the process was "rather hacky" and "mostly hidden."
Now, though, with the software release, SegWit addresses will be the default, meaning that new addresses are automatically compatible with the scaling feature.
Version 0.16.0 is also the first release to support "native SegWit addresses," also called bech32 addresses, a new address format pioneered by Bitcoin Core contributors Pieter Wuille and Greg Maxwell that's more user-friendly than older addresses types and supports SegWit automatically.
According to Falke, "That is the most exciting part of the release."
With SegWit addresses being created automatically, wallet users should soon experience lower fees. And progress there could have wider implications.
Bitcoin Core first introduced SegWit in November 2016, and the battle that followed prompted some software users to support a competing cryptocurrency that did away with it altogether. (Called bitcoin cash, the network's supporters have long argued that bigger blocks, in which more space is allotted for transactions, is the key to lower fees.)
And according to Chow, one advantage of the native SegWit address format is that fees are a bit lower, although he acknowledged that because the format is so new, most wallets don't currently support it.
Chow said that other pieces of the release give users more flexibility over their Bitcoin Core wallet. For example, users can store their wallets, or private keys, in another data directory if they want to.
For the more tech-minded, check out the release notes for more details.
Long time coming
Stepping back, the release could also help with SegWit's sometimes troubled messaging, as its adoption has been perhaps slower than anticipated by advocates.
Indeed, while updating the code of a global software program perhaps shouldn't necessarily be a fast process, users have complained because even some major companies have yet to adopt it.
With this backdrop of user anticipation and impatience in mind, many might be surprised that it's taken Bitcoin Core so long to add support in its wallet for the transaction type. But developers contend there are a couple reasons for the delay.
First, the team says it wanted to see how SegWit actually worked on the network for a bit before supporting it, in case there were security vulnerabilities or other concerns, said Chow. Second, politics were a distraction as well.
While the software release before this one, 0.15.1, was supposed to boost the wallet's support of SegWit, developers claim a planned alternative bitcoin software launch, scheduled for November 2016, is partly blame for delaying the focus and redirecting efforts.
Binary code image via Shutterstock