A year ago, was activated the Protocol Segregated Witness (SegWit) – the biggest upgrade in the network of bitcoin, the aim of which was to further scale, reduce transaction commissions and an increase in the limit blocks. The path to activation, however, was far from simple: a protracted debate about scaling has led to a series of dramatic events that actually split the community into two irreconcilable camps.
ForkLog offers to recall what preceded the activation of the Protocol, and to assess the condition of the network today.
To understand the problem that solves SegWit, you should have a closer look at how bitcoin transactions. They consist of two main parts: the basic data about transactions to which, for example, include information about what the coins are moved and in which direction, and so-called “witness” (witness). In this second part of the transaction contains a portion of code with information about the cryptographic signature as a proof that the owner of the coins really wants to spend it.
In these data with the signature and enclosed a small problem, called plasticity. Its essence is that signatures can be changed even after creating them and thus they remain valid. This means that those who broadcast the transaction, or miners that include it into a block, can change the appearance of this transaction, or, more specifically, its ID.
The problem may not be so great: transactions remain valid, and the coins are moved to the desired address. The difficulty arises when you create a new transaction that need to know the ID of the previous transaction on which they rely. This in turn complicates the creation of bitcoin over certain protocols of the second layer, for example, bi-directional payment channels.
In search of a solution to the problem
Discussions about the solution to the problem of plasticity of the transaction through the “branch of the” data signature from the rest of the data about the transaction began in January 2012. Among others in attendance were the developers of Bitcoin Core Russell O’connor, Matt Corallo, Luke dash Jr., and Gregory Maxwell, as well as a forum moderator Theymos Bitcointalk. However, a suitable solution, then so found and was not.
The discussion continued in 2013, and this time it showed some progress. So, Maxwell in conversation with Peter Todd suggested that the solution may be a complete separation of data about the signature. Later this idea was supported by the Creator of Hashcash, Adam Back, although Maxwell and noted that to make such changes in the Protocol in a safe manner can be very difficult and that this is likely to require hardwork.
In August 2014, the already mentioned Gregory Maxwell and Adam Beck founded the blockchain-the company Blockstream. Also among the founders of Blockstream entered the investor Austin hill and some of the developers of Bitcoin Core, including Peter Velle. The main focus of its activities, the company allocated the so-called sicani: alternative blackany that can be “pegged” to bitcoin.
In June 2015, a prototype developed by sidechained Elements was implemented a new function which solved the problem of the plasticity of the transaction. Its principle consisted in the separation of basic transaction data from the witness and moving them to a separate data structure. A new feature has received the name of Witness Segregated – separated (segregated) the witness.
The debate about the block size
The debate about the size of the unit and its possible increase was carried out virtually since the inception of bitcoin. So, in October 2010, talked about this Jeff garzik’s, more substantive debate began in February 2013, finally in the spring of 2015 the question has passed in a public plane.
Former lead developer of Bitcoin Core, Gavin Andresen and lead developer Bitcoinj, Mike Hearn was one of the first who raised the question about the need for hard forks to increase the size of the block. Recall that hardwork is a backwards incompatible upgrade of network Protocol, in which nodes do not adopt the new rules, don’t see new blocks. Hold it – a challenge in itself difficult, and everything was complicated by the fact that the community consensus on this issue was absent.
However, in the summer of 2015 Andresen and Hearn have announced that they intend to go the way of the zoom unit by employing for these purposes, alternative client XT. Significant portion of the community their plans seem not only controversial, but dangerous, and in an attempt to find a common solution before the end of the same year in Montreal and Hong Kong was held two technical conferences under the General title Scaling Bitcoin.
The first of them was presented another proposal for scaling bitcoin called the Lightning Network, later formulated in the white paper. The only problem was that it required solving the problem of plasticity of the transaction.
At that time the developers not only did not have any effective solution to the problem of plasticity of the transaction, but the majority were convinced that to implement Segregated Witness in a core network without bitcoin hard forks impossible.
A different opinion was held by Luke dash Jr. in October 2015, in the interval between the two conferences in Montreal and Hong Kong, he expressed the idea of activation SegWit in the form of softforce.
For this data the witness had to move to a new part of the block, while the “anchor” of these data is the root of the Merkle tree was to be placed in not quite ordinary block part: coinbase transaction, are responsible for the reward to miners.
Soon enough the developers of bitcoin have come to understand that this method opens other interesting possibilities: when creating a new part of the unit for witness data block size can be increased so that it does not affect nodes that have not been updated. That is, in fact, it was about increasing block size without increasing the existing limit on its size.
A few weeks before the second conference of the Scaling Bitcoin in Hong Kong, a Bitcoin Core developers were convinced that at least a temporary solution in the debate about the block size is found as Segregated Witness was allowed to increase its backward compatible way in solving the problem of plasticity of the transaction. It also opened the way to such solutions as Lightning Network.
Presentation and critique
Segregated Witness in the form of softforce presented in December of 2015 for Scaling Bitcoin in Hong Kong Peter Velle. A that’s when I first heard about this decision, and at first it was received with enthusiasm.
Also, soon after a Hong Kong Bitcoin Scaling, Gregory Maxwell proposed a roadmap for scaling bitcoin, Central to which was given it SegWit. This proposal was quickly accepted not only by the team of developers of Bitcoin Core, but other developers and users in the bitcoin ecosystem.
However, not without criticism. So, Jeff garzik’s, which by that time had left Bitcoin Core and founded his own company, Bloq, refused to consider SegWit suitable solution for scaling, and also its disagreement with the proposal was expressed by Mike Hearn. A short time later Hearn left the bitcoin ecosystem, with the next scandalous statement.
Developed by alternative Bitcoin client Classic Jonathan Tumim called SegWit “clumsy” and continued to insist that the decision is best implemented through hardwork. Even well-known Bitcoin Core developer Peter Todd questioned, primarily addressing issues of mining after activation SegWit.
However, the majority of Bitcoin Core developers with such statements did not agree, and soon the work on softforum was started.
The authors BIP141, suggestions for improving bitcoin, which contained a description SegWit were Peter Vella, CEO Ciphrex Eric Lombroso and independent developer of Bitcoin Core Johnson Lau. At the beginning of January 2016 has been running a test network Protocol called SegNet, by March, it also supported test version of the Lightning Network.
Following months developing SegWit continued. This process included gathering feedback, removing bugs and improving the code base, and also launch several new versions of SegNet. Simultaneously, the growing list of companies and projects, publicly announced his support for Segregated Witness.
By June 2016 Protocol code numbered 4713 lines including test code and the proposals for deletion or modification was 554 lines of code to Bitcoin Core. At the end of the same month, Wladimir van der Laan has integrated the Protocol into the main branch of development.
Release of Segregated Witness was held in April 2016, and another six months later, in October of the same year, the Protocol was integrated into Bitcoin Core 0.13. SegWit also supported several other implementations of bitcoin including Bitcoin Knots and Bcoin.
Next was the question of activation, and this had involved a method called VersionBits (BIP9) is designed to minimize the risks of failure in the network, it required to support the Protocol signaled 95% of miners. The signaling process started on 15 November 2016.
New differences and attempts to find consensus
On the background of the work on SegWit the debate about the block size in the community broke out with new force, and largely “thanks” to the supporters of Bitcoin Classic. The proposed developers of this implementation of the solution involves the increase in the limit on the block size to 2Mb, and it was supported by a number of companies and mining pools.
In an attempt to find common ground with the community group in February 2016 in the same Hong Kong was organized by the so-called “round table”. According to the results of which lasted 18 hours of the meeting, mining-pools, which had at that time almost 80% of the total Hasrat network of bitcoin, as well as major stock exchanges, service providers and the developers of Bitcoin Core, issued a joint statement, proposing a timetable for implementation of the solutions for scaling the network.
In particular, this would involve hard forks with the increase of block size to 2Mb, however, subject to the approval of the Bitcoin Core team and a broad community consensus. Miners, in turn, agreed to accept SegWit if Bitcoin Core code base will be introduced hardwork.
It seemed that the crisis was avoided, although it quickly became clear that the agreement satisfied not all. Attempts to reach consensus were made after that, a few times, but several subsequent meetings a success and failed, despite the appeals of some influential persons like Barry Silbert and even ultimatums.
Moreover, at a certain stage appeared closely connected with Bitmain mining pool ViaBTC for a short time he built up enough power to single-handedly block the activation SegWit, and the head of the pool, Hypo Yang publicly criticized the proposed upgrade of the Protocol. The probability of activation SegWit at that time seemed very remote.
Another player in all this story was a project Bitcoin Unlimited — before integration SegWit in Bitcoin Core developers of this client have stated their intention “to restore the network bitcoin in the form in which it was presented by Satoshi Nakamoto”. Bitcoin Unlimited actively supported the founder of Bitmain Jihan Wu, the same rhetoric is used today by supporters of Bitcoin Cash.
New York agreement (SegWit2x)
In the spring of 2017 held a very interesting event: one of the largest mining pools Antpool has mined the first Bitcoin block Unlimited. The split in the community became more apparent, and the attempt to save the situation was the so-called new York agreement, which was the proposed alternative scenario called SegWit2x.
The new agreement was announced by the head of Digital Currency Group is Barry Silbert in may 2017 and based on the agreements that were reached earlier, in Hong Kong. Their signatures under them I put a significant amount of companies that play an active role in the bitcoin industry.
Key provisions SegWit2x consisted of the following:
- Activation of Segregated Witness on reaching the support level of up to 80%;
- Activation for six months of hard forks with the increase of block size to 2Mb.
The problem with SegWit2x was not only that it is not supported by all members of the community, but also that the discussion of the provisions of the agreement were not invited developers of Bitcoin Core. The proposal itself from a technical point of view, also proved largely incompatible with the most popular bitcoin client.
However the large companies, including Coinbase, BitPay, ShapeShift, Bitfury and other well-known names, continued to insist on the implementation of SegWit2x, calling it the only solution that can ensure consensus and to solve the problem of scaling network.
In June 2017 about the successful testing SegWit2x announced all the same company Bitmain.
Situation, which for all its constituent threatened to turn into another dead end, in the end was resolved by the efforts of business representatives and the community, which supported the scenario of holding activated users softforce (UASF).
The UASF concept proposed in February 2017 developer under the pseudonym Shaolinfry, at one time known for his work with a team of Litecoin. Its main point was the refusal to upgrade the network via signaling on the part of the miners: instead softpark is activated at a specified date, determined by the full nodes. Such a concept requires significant support and coordination of the industry, and it is no coincidence that this model is also called economic majority.
The idea was quickly picked up by the part of the community, which adheres to the principles of decentralization of the network, and received the support of the bitcoin maximalist, who saw the UASF great opportunity to limit the influence of companies on decision-making.
The Central place of discussion dedicated to the UASF, as well as coordination of efforts of developers have become Slack channel community of Bitcoin Core. It was there as the date for activating softforce was originally proposed October 1, 2017, but later this date was postponed to 1 August 2017.
Shaolinfry meanwhile, made up the technical proposal BIP148 directly responsible for activation of the UASF and the OpenDime founder Rodolfo Novak has launched an information website to promote the idea.
However, by April 2017 UASF still not have supported most of the major exchanges and other infrastructure companies. And only after signing SegWit2x and have come to the understanding that the representatives of the business through its implementation can in their interests to establish control over the bitcoin, the idea got a second wind.
We should also note a number of altcoins, which had already activated SegWit. The first in January 2017 did the developers Groestlcoin, later their example was followed by projects such as Vertcoin, Syscoin, DigiByte, Viacoin and Monacoin.
The most well-known coin, which finally activated SegWit, was Litecoin. More importantly, at the same time its Creator Charlie Lee showed in practice the viability of the UASF — through activated users softpark SegWit was embedded in the network of Litecoin.
If you support SegWit on Litecoin, talk to your wallets and exchanges about supporting UASF. See https://t.co/DfkvXw9QYA for more info. https://t.co/xmwagBNbKt
— Charlie Lee [LTC⚡] (@SatoshiLite) April 9, 2017
In addition to the danger of de facto control over the bitcoin supporters SegWit2x, new York agreement, in its technical part, in addition turned out to be incompatible with the UASF, and in the case of activation of the latter there is a real risk of partitioning the network into two separate chains.
It was not in the interests of any party, and salvation was BIP91, sponsored by engineer Bitmain Warranty [not to be confused with Bitmain Technologies Gihan Wu] James Hilliard. He proposed a modified version of SegWit2x, the essence of which is faster and more reliable implementation SegWit without the threat of partitioning the network into multiple blockchains.
When writing BIP91 were considered two other proposals for scaling bitcoin:
- BIP141 – the original plan activation SegWit, first presented in November 2016;
- BIP148 activated users softpark (UASF).
Implementation BIP91 eventually took place on 23 July 2017, a week before the activation UASF, and thus the probability of partitioning the network bitcoin on multiple blockchains have been eliminated. But, most importantly, with this node began to reject blocks that do not signal support for Segregated Witness, thus opening the way to the final activation Protocol.
It is noteworthy that earlier a significant part of the miners missed the first deadline for UASF, leading the market in quite a nervous state. Within just one week, bitcoin, before it traded above $2500, have fallen in price below $1900.
However, after activation BIP91 market started to recover — 1 August activation UASF, after which the bitcoin rose above $2900, and on 8 August was a long awaited fixation SegWit and “point of no return” was passed. Until actual activation of the Protocol was two weeks, and finally on August 24 at 01:57 UTC on the block 481,824 bitcoin is a historic event finally happened.
And the next day pool mining Bitfury announced the production of the first SegWit-block size larger than 1Mb.
Concomitantly there has been other equally dramatic event which resulted in the separation from the main network bitcoin project Bitcoin Cash, but that’s another story.
Segregated Witness a year later
Today, when, after the activation SegWit it’s been a year, it is possible to sum up the results and assess how it has changed network of bitcoin.
First of all it is necessary to assess the level of acceptance of the Protocol itself. As the graph shows below, now it reached the highest since August last year, exceeding 40%.
This figure would be probably higher if a Protocol implementing it in their processes are the big services, like Blockchain. Reasons why they still not made, the company did not disclose, although in fairness it should be noted that since we are talking about softforce, it is mandatory its use is not. Another question that the implementation of SegWit, which has carried out other major companies, it would be first of all a sign of caring about their customers.
It end users and were able to first assess the positive changes that brought SegWit. This, of course, on transaction commissions.
If last winter, when the level of adoption of the Protocol was relatively small (about 10%), and bitcoin was hitting every conceivable price records, the Commission has reached an unacceptably high level. Today the situation is radically different. Thus, the average cost of the transaction confirmation within 20 minutes today, according to Bitcoin Core Fees, estimated at 5 satoshis / byte, that is about $0.08 for the entire transaction.
Next block fee: 5.0 sat/byte
Hour fee: 1.9 sat/byte
Day fee: 1.0 sat/byte
Half-week fee: 1.0 sat/byte
Week fee: 1.0 sat/byte
Block height: 538748
— Bitcoin Core Fee (@CoreFeeHelper) 27 December 2018
The chart below demonstrates the dynamics of transactional commissions over the last year.
We will add that in addition to the decline in commissions has contributed to the so-called batching (combine multiple transactions into one), as well as the increasingly frequent ofcan transactions, for example, the network Lightning Network. We should note stopped the spam attack on the network of bitcoin from the most well-known competing camps, which also led to a significant increase in commissions.
Moreover, almost empty remains today mempool:
As mentioned above, SegWit allows you to increase the block size, and a recent study BitMEX has confirmed that due to the activation of the Protocol, almost all the blocks currently produced with a bitcoin weigh an average of 1.06 MB, and some even go beyond 2 MB.
And if the above figures may change even better, it appeared after activation SegWit the ability to create and implement new solutions (Lightning Network, signature Snorra, etc.), bitcoin opens a whole new perspective, the full potential of which can be assessed, probably only in subsequent years.
PS. Despite the activation SegWit, supporters SegWit2x a few months kept trying to implement your script, but on 8 November 2017 and announced a complete closure of the project. Two days later on the cessation of further work reported by the developers of Bitcoin Classic, calling at the same time the transition to a Bitcoin Cash.
Subscribe to the news ForkLog on Twitter!