What is Tinkering in Bitcoin Cores Toolbox?
Even though SegWit was released on August 1, 2017, it is only in the last few weeks where there has been a genuine uptick and adoption of the scaling upgrade. To this end, Bitcoin Core v0.16.0 was released announcing full support for SegWit.
As SegWit gets adopted by more exchanges, and more transactions start to be happen with SegWit addresses, those who have contributed to Bitcoin’s development in the past are already getting excited about the next few upgrades in the pipeline.
Of course, many will be thinking that the Lightning Network is what will really be hitting the headlines in the next few months as it gains more traction. Some Bitcoin Developers and contributing developers, are also excited about things like BIP159, Signature Aggregation and even Graftroot.
Bitcoin Core, and its developers are an import facet of this entire cryptocurrency ecosystem. In fact, they were the genesis of the giant that has been spawned. The developers of Bitcoin Core hold an important function in shaping Blockchain, but have little say in its direction - that all comes down to the community and the democratized vote.
There are a few lead developers, such as Wladimir J. van der Laan and Jonas Schnelli, as well as a host of contributors who work on different aspects at different times.
How is SegWit performing?
The percentage of Segwit transactions on blocks has spiked in the last few days and is increasing daily. This of course has a lot to do with Coinbase and Bitfinex announcing the implementation of SegWit in their exchanges, but is also a result of the v0.16.0 upgrade by Bitcoin Core.
Peter Todd, who announced on Twitter that the v0.16.0 upgrade had been implemented, spoke to Cointelegraph about the importance of this move by the Bitcoin Core client.
“The Segwit wallet support is of course useful - a lot of services use Bitcoin Core's wallet as it's robust and very well reviewed,” Todd explained. “Those services now have a simple upgrade path to Segwit, saving money. For instance my own OpenTimestamps calendars can now use Segwit directly - previously they used a bit of a hack to get around the lack of support in the wallet.”
Nicolas Dorier, one of Bitcoin Core’s other contributing developers (although he did not work on this latest release), has a bit of a different opinion compared to Todd - believing that most platforms won’t be needing, or using, the Bitcoin Core client for their SegWit needs.
“I am unsure exchanges are using Bitcoin Core for handling their UTXOs, they most likely have their own developed solution,” Dorian told Cointelegraph. “Bitcoin Core is not adapted for large volume of address and transactions.”
“Coinbase now is using SegWit, but I doubt they are using the Bitcoin Core wallet feature for their processing. The most exciting thing is not really SegWit wallet in my opinion, but signaling of BIP159.”
What is BIP159?
Along with the support for SegWit in the v0.16.0 update, support for signalling pruned nodes was included.
“Pruned nodes can now signal BIP159’s NODE_NETWORK_LIMITED using service bits, in preparation for full BIP159 support in later versions,” states Bitcoin Core’s official release. “This would allow pruned nodes to serve the most recent blocks. However, the current change does not yet include support for connecting to these pruned peers.”
It is quite complicated, but it comes down to storage space on the Node as a full node requires storing over 120 GB of Blockchain data, which is not always viable, hence some often run prune nodes off older computers or even Raspberry Pis.
Dorien explains how someone like BTCPay can benefit from this latest upgrade for prunned nodes.
“Signaling of BIP159, which decreases the space resource for running a full node, is exciting. For example for BTCPay, merchants without BIP159 need to store the full Blockchain to make it work, around 250 GB. BIP159 will make it around 5 GB. Though not everybody might benefit from it, BTCPay hosts will.”
Todd also believes that the storage aspect of BIP159 is promising, but looks a little more at how this can help the overall Blockchain.
“So, BIP159 is important because it sets the stage for pruned nodes to contribute bandwidth,” Todd said. “That isn't directly all that important - we have no shortage of node bandwidth - but it does improve privacy by making it harder for the bad guys to observe the network as there are more nodes relaying blocks and transactions.”
“Don't get me wrong, BIP159 is absolutely a performance improvement. It's just that we have lots of space bandwidth on the P2P network, so the real-world impact to performance will be minimal at this time. In the future that may change if people currently running non-pruned nodes switch to running pruned nodes, but at the moment that's just not a major problem.”
Of course, there is quite a journey in order for improvements on the Bitcoin Blockchain to come to fruition, but Dorien is looking even further ahead, getting excited about Signature Aggregation.
Signature Aggregation and Schnorr Signatures
In January 2018, four Bitcoin developers released a paper outlining how Schnorr multi-signatures (‘multisig’) can help scale the Bitcoin Blockchain.
Greg Maxwell, Andrew Poelstra, Yannick Seurin and Pieter Wuille discuss and illustrate how the technology, which ‘bunches’ multisig data together to reduce its size in a transaction, “could improve both performance and user privacy in Bitcoin”.
Dorian says that this idea is another exciting improvement for the Bitcoin Blockchain.
“The next awesome thing will be signature aggregation through Schnorr Signatures. it will have an impact on the size of transaction. This is very exciting.”
“Signature Aggregation makes the transaction smaller for the same features and enables interesting tricks which have no impact on the size of the blockchain. The most obvious thing is having an arbitrary number of co-signers for the same transaction, but no doubt crypto wizards will find more interesting stuff.”
“It has no impact on the resources individual nodes need for running a full node while considerably increasing what is possible.”
Todd is also excited about the possibility of Signature Aggregation, but is a little more weary of looking so far ahead, as the Bitcoin environment is quite political when it comes to making changes.
“All exciting improvements, but who knows how long they'll take to implement? Quite possible the likes of Bitmain will try to block those obvious performance improvements for political reasons, for example, to try to get negotiation leverage for something else. So we'll see…”
While many could get annoyed about these power plays blocking improvements, Todd is one of the few that embraces this political staging.
“I'm sure other developers would think otherwise, but for me personally, one of the reasons I got into Bitcoin development was I thought the political side of it would be interesting!”
Adding on Graftroot
Finally, almost like some sort of pipedream, the developers are also getting excited about the idea of introducing a form of smart contracts onto the Bitcoin Blockchain through Graftroot.
Gregory Maxwell, a highly respected Bitcoin developer published a paper on something called "Taproot" in January with ideas about improvements upon the privacy of Merkelized Abstract Syntax Trees (MAST), an idea long in the making that is geared towards Bitcoin’s smart contract abilities.
He followed that up with another proposal called Graftroot, which is well explained by Jimmy Song in a YouTube video.
Dorian explains that if Aggregated Signatures go through, then it will be easy to see Graftroot in play:
“For Graftroot it is something quite easy to implement once we have signature aggregation and which allows artificially big smart contracts. The fact that only the condition executed is revealed is very interesting.”
Still on the frontier
Bitcoin, as the original Blockchain cryptocurrency, is often shrouded with this perception that it is stale and not evolving as other coins spring up around it promising to have made the required improvements.
However, there is a constant buzz of improvement that is going on behind the scenes with developers that often does not make it onto the news. Improvements are being proposed, and pushed to happen, however given the environment of Bitcoin development, these improvements take time.