Bitcoin Core developers have released the first public version of the Segregated Witness. The protocol is still to be improved but is already available for download by everyone willing to upgrade.

The complete code of the SegWit was published on the GitHub by one of the Bitcoin Core developers Pieter Wuille. The most important feature of the SegWit is that it allows more transactions to be included in each block due to the relocation of transaction parts containing digital signatures. Separate signature files will be put alongside the main blockchain.

According to the description, the new soft fork includes the following Bitcoin Improvement Protocols (BIPs):

BIP141 “contains data required to check transaction validity but not required to determine transaction effects”

BIP143 “defines a new transaction digest algorithm for signature verification in version 0 witness program, in order to minimize redundant data hashing in verification, and to cover the input value by the signature”

BIP144 “defines new messages and serialization formats for propagation of transactions and blocks committing to segregated witness structure”

BIP145 “describes modifications to the getblocktemplate JSON-RPC call (BIP 22) to support segregated witness as defined by BIP 141” and additionally “adds a new way of counting resource limits”.

Wuille also mentions that the first public SegWit pull request needs some improvements to be done yet. According to him, there should be implemented some changes to BIP145 and BIP9, a deployment time for mainnet is to be defined, transaction caching of signature hashes should be fixed.

The Bitcoin Core developers have already conducted a lot of testing, including p2p tests and external software projects.

The first time the title Segregated Witness was pronounced publicly in December 2015 at the Hong Kong meeting of the bitcoin community leaders. They discussed possible ways to resolve the problem of bitcoin scalability without any risk to the network.

Pieter Wuille is a co-founder of Blockstream. Currently, he occupies the position of Core Tech Engineer at Blockstream’s Swiss office in Zurich.

Elena Platonova