A year ago Segregated Witness (SegWit) protocol was activated. It was the largest upgrade in the Bitcoin network; its main purpose was to solve the problem of scalability, reduce transaction fees and increase the block limit. The path to activation, however, was far from simple: a lengthy debate about scaling led to a number of dramatic events that actually split the community into two irreconcilable camps.
To understand the problem that SegWit solves, it is necessary to consider more closely how bitcoin transactions are arranged. They consist of two main parts: basic data about the transaction and the so-called “witness”. This second part of the transaction contains a piece of code with data about the cryptographic signature that serves as proof that the coin owner really wants to spend it.
“When I first heard about SegWit, I thought it was impossible. How can you have this easy but obvious solution of such a serious problem? I didn’t understand how that could be done, and then I looked into it and it was brilliant.”
It is in these data about the signature and there is a small problem, called the plasticity. Its essence lies in the fact that signatures can be changed even after their creation and they remain valid. This means that those who translate the transaction, or the miners that include it in the block, can change the appearance of this transaction, or, more specifically, its identifier.
Transactions still remained valid, and coins were transferred to the right addresses. Complexity arises when creating new transactions, which need to know the identifier of the previous transaction, on which they rely. This, in turn, makes it much more difficult to create certain second-layer protocols over the bitcoin, for example, bidirectional payment channels.
In search of a solution to the problem
Discussions about solving the problem of the plasticity of transactions by “separating” the signature data from the rest of the transaction data began in January 2012. Among them, Bitcoin Core developers Russell O’Connor, Matt Corallo, Luke Dash Jr., and Gregory Maxwell, as well as Bitcointalk Theymos forum moderator.
Discussion of the issue continued in 2013, and this time some progress has already been made. Thus, Maxwell, in an interview with Peter Todd, suggested that a complete separation of signature data could be the solution. Later this idea was supported by the creator of Hashcash Adam Beck, although Maxwell also noted that it is very difficult to make such changes to the protocol in a secure manner and that for this.
In August 2014, Gregory Maxwell and Adam Beck founded the blockchain-company Blockstream. Among the founders of Blockstream were investor Austin Hill and several Bitcoin Core developers, including Peter Velle. The company focused its attention on the so-called sidechains: alternative blockhouses that can be “tied” to bitcoin.
In June 2015, a new function was implemented in the prototype developed by the company due to which the problem of the plasticity of transactions was solved. Its principle was to separate the main transaction data from the witness and transfer them to separate data structures. The new function is called Segregated Witness.Disputes about the size of the block
The debate about the size of the block and its possible increase was actually carried out from the very beginning of the existence of bitcoin. So, back in October 2010, Jeff Garzick spoke about this, more substantive debates began in February 2013, finally, in the spring of 2015, the issue moved to the public sphere.
The former leading developer Bitcoin Core Gavin Andresen and lead developer Bitcoinj Mike Herne were among the first who raised the issue of the need for a hard-core to increase the size of the block. Recall that hardfork is a reverse incompatible upgrade of the network protocol, as a result of which nodes that do not accept new rules do not see new blocks. It’s carrying out – the task itself is not easy, and all was complicated by the fact that there was no consensus in the community regarding this issue.
Nevertheless, in summer 2015 Andresen and Herne announced that they are intended to increase the block, using an alternative Bitcoin XT client for this purpose. Much of the community’s plans appeared to be not only controversial, but also dangerous, and in an attempt to find some common solution before the end of that year in Montreal and Hong Kong, two technical conferences under the general title Scaling Bitcoin were held.
The first of them presented another proposal for scaling bitcoin called Lightning Network, later formulated in white paper. The only problem was that it required solving the problem of plasticity of transactions.