📜 ⬆️ ⬇️

Why does bitcoin forks?

Bitcoin xt The story of differing views

So, here we are. The community split up and a Bitcoin fork was created that will affect both the software and possibly the block chain. The two sides of the confrontation - Bitcoin Core and its slightly modified version - Bitcoin XT [the author of the article, Mike Hearn, is its main developer; The main change in Bitcoin XT is an increase in the limit on block size - approx. trans.]

Such a fork has never happened before, and I would like to explain the essence of what is happening from the point of view of Bitcoin XT developers, so that we are not accused of not sufficiently explaining our position.
')
Fork of Bitcoin is a topic that may interest many people, so this article is intended for the general public, and not for narrow specialists, so it does not require either deep technical knowledge or familiarization with the history of the issue.

The underlying vision of Bitcoin was clearly outlined by Satoshi Nakamoto. The current dispute is about the growth of Bitcoin. In 2008, Satoshi answered the question about whether Bitcoin as an infrastructure could grow as follows:

In 2008, Visa processed 37 billion transactions, an average of 100 million per day. Such a number of transactions would require 100 gigabytes of traffic (size 12 DVD or two movies in HD-quality), which would require about $ 18 at current rates for traffic.

For the bitcoin network to become just as huge, it will take many years, and by this time sending two movies on the Internet will not be a problem.

Satoshi was much more carefree on the technical side of the growth of Bitcoin than many of us are now. From the very beginning, he believed that Bitcoin would become popular, and he knew that such success would change the way people use his system. In 2010, he said the following:

It would be a good idea to keep blockchain files small for as long as possible.

But afterwards, don't worry about how big they will be.

However, at the moment, while they are still small, it will be right to continue to keep them so that new users can connect to the network faster. But as soon as I finally implement software that will work only in client mode [SPV-client - approx. Per.] , it will immediately become irrelevant.

In 2011, I tried to confirm Satoshi’s intuitive assumptions with a number of mathematical calculations : what if Bitcoin becomes so popular that it replaces Visa? I received an unequivocal answer to this question - you will never need more than one computer, even for such huge volumes. I also implemented the software (wallets in client mode) that Satoshi spoke about before he retired.

Satoshi's plan united us together. He changed the lives of hundreds of thousands of people around the world. Some of us left our main job, others devote their free time to his project, and some start up entire companies. It is the idea that ordinary people can pay each other with the help of blockchain, created and rallied this huge community.

This is the plan I subscribed to. This is the plan that Gavin Andresen signed up for. This is the plan that many developers, startup founders and Bitcoin evangelists have subscribed to.

Now this plan is under attack. In recent months, it has become clear that a small group of people have a radically different vision of Bitcoin. These people have never felt confident about Satoshi’s intentions, because they are afraid of success: what if technology never moves forward? What if people can no longer run the full Bitcoin node on their computer? Does this make Bitcoin less decentralized and more like banks? What if people use Bitcoin while it isn’t flawless?

Now that Satoshi has retired, these people are planning dramatic changes: turning Bitcoin into a network of payment hubs, a sharp increase in commissions for regular transactions, canceling support for mobile P2P wallets, refusing to resolve issues to improve support for unconfirmed transactions, and much more that never mentioned in Satoshi’s documentation. Their so-called Lightning network , which is being promoted as an alternative to the architecture of Satoshi, does not exist in reality. If it is implemented, it will be a big departure from the Bitcoin, which we all know and love. Here is one example of many: the Bitcoin addresses in the Lightning network will not work. What they will be replaced, is still unknown (because the work on this has not yet been carried out). There are many more amazing tricks about which I wrote a whole article . Therefore, it is very doubtful that the result obtained will be better than the Bitcoin that we have now.

What happened to the free market?

In theory, none of the above should be a problem. Lightning Network, implemented on top of blockchain, needs relatively small and simple protocol updates to make it work better in full force. Thus, people who want to explore this direction of development are free to do so. If what comes out of the Lightning Network is better than simple Bitcoin, then the market will prefer to make payments using this method - everything is fair. The current Bitcoin architecture is hardly the last word in electronic payments. It is quite reasonable to believe that the day will come when it will be ousted by another solution.

But the system that Bitcoin is all about is working today. It includes a whole ecosystem: developers, exchangers, wallets, people buying and selling Bitcoins, Bitcoin ATMs, Bitcoin literature, applications, ongoing conferences, and just a huge number of people who could understand how Bitcoin works.

Who in this ecosystem, having free choice, decides to switch to a radically different system?

We don't know that. But people who lobby for the Lightning Network do not want the market to decide. That's what went wrong!

A long time ago Satoshi inserted a temporary gag into the code: he limited the size of each block to one megabyte. He did this in order to keep the block size small for the first time of its existence, until SPV-wallets (which are also known as “client-side nodes” or “incomplete nodes”) are developed. As can be seen from the above quotation, he never considered this decision permanent, and said that it is necessary to get rid of it when the time comes. Together with my esteemed colleague Andreas Shildbach, I implemented the first SPV-wallet in 2011: we created the first and still most popular wallet for Android . Since then, SPV wallets have been implemented for all platforms. Thus, the reason why Satoshi set the time limit has long been eliminated.

With the growth of Bitcoin grew and the average size of the blocks. Reasonable calculations , based on the fact that information about Bitcoin will continue to spread, show that we will reach the ceiling of the current system somewhere next year, or, in extreme cases, in 2017. And another price bubble or wide media coverage can lead us to this ceiling much faster. The results of this, most likely, we will not like .

Therefore, it is now necessary to increase the limit on the size of the blocks, or abandon it altogether. That was the plan from the start. This is where the problem begins: those who do not want Bitcoin to scale up are stalling the development process. They see the rarely presented opportunity to forcibly change Bitcoin’s originally conceived path to a completely different technology. They still do not know the exact architecture of this technology, and, apparently, do not yet have ready-made developments. They believe that by blocking blockchain scaling, they can “interest” (i.e. force) the bitcoin community to switch to another technology that is more to their taste.

Why limit blockchain?

So far in this article, I have not specified the arguments of these people, and did not specifically indicate who they are. I thought about specifying specific names in the article for a long time, but in the end I found it useless. Those who are closely following the unfolding drama, they already know them, and those who do not follow, still do not recognize the names of the people involved.

Suffice it to say that these people either have a commit access to the Bitcoin Core repository, or work with those who have it.

So instead of personalities, let's try to discuss their arguments and arguments, which are quite a lot. About each of them, Gavin and I have written disproving articles. Sometimes the answers were simple, sometimes for a refutation it was required to carry out deep painstaking work: for example, conducting network simulations.

The best place to find out about these reasons is Gavin's blog . I would like to provide references to similar arguments, refuting, in turn, the work of Gavin, but, alas, there are simply no such.

Today we can summarize the results of the long debilitating debates, dividing the arguments against increasing the limit into the following groups:
  1. If Bitcoin in the current form "breaks down", then the community will be interested to come up with something better;
  2. The limit on the size of the blocks should be increased, but it is still too early to do it (and when, it is not specified);
  3. If Bitcoin is scaled, it may become less decentralized and will cease to be “the same” Bitcoin.

There are others: if one of the arguments you heard about is not listed here, you can read about it on Gavin’s blog.

The first point may one day become true: it is difficult to compare Bitcoin with theoretical systems that exist only on paper. However, everyone who has studied alternative approaches believes that none of them can be implemented within 12 months, and during this time the bitcoin network is likely to go beyond its bandwidth (see examples: 1 , 2 ) .

The second point is too vague to state on it specific objections. There are compelling reasons to believe that upgrading all full nodes can take at least a year, while exceeding network bandwidth will cause serious problems. We should have started the scaling process yesterday. The Bitcoin developer mailing list includes two people who have professional knowledge about bandwidth planning for large projects, and they both believe that the process should start now. To insist on postponing this process indefinitely is unprofessional.

The last point is the most problematic and hotly debated. It is based on two assumptions:
  1. If Bitcoin can grow, it will grow, and it will grow faster than service prices will fall, despite technological advances;
  2. A “small”, but in some abstract sense, a more “decentralized” Bitcoin is better than a “big” Bitcoin that everyone can use.

It would be great if Bitcoin was so attractive that the demand for transactions grew endlessly: then I could stop software development and wait for the price of coins to rise, and I will become rich. But we live in the real world, and Bitcoin is in a market where there is competition. Growth is not a blessed blessing. Each new user who joins the network requires time and effort. The demand for Bitcoin is growing now, but at a slow pace. I would like to say with confidence that the cost of supporting a full node will grow: it would mean that Bitcoin will grow faster than the entire computer hardware industry! And it is amazing: when the first iPhone was launched in 2007, it cost $ 500. Only 7 years later, the Forme P9 smartphone is sold for only $ 3,0 . But this smartphone has not only all the features that iPhone had, but also many others.

With the second assumption, we turn to the basis of all the debate: should we allow Bitcoin to grow, if this requires a change in the network structure in the process?

The current system, where every user is a network node is not the best idea for wide scale. It would be about the same as if every Usenet user ran their own NNTP server. Bitcoin architecture allows users to be just users.
- Satoshi Nakamoto, July 2010

The founder of Bitcoin gave a clear answer to this question: YES.

And we have constantly worked to ensure that the answer does not change. Because “NO” will violate the social contract between all users of the network and go against the desires of so many people in the Bitcoin community.

Those who really believe that Bitcoin - only for a narrow category of geeks who understand the details of the network, and not for ordinary people - can create their own altcoin with a block size limit as one of the fundamental elements of the vision of this system. . But for some reason, instead, they are trying to turn Bitcoin into such a network, using the old unsuccessful plug in the code.

Decision making

Why all these questions cannot be solved in a more civilized way than open schism?

Simply put, the decision making process in Bitcoin Core just does not work!

In theory, like all other open source projects, Bitcoin Core has a leader. His work is project management and decision making about what will be added to it and what will not. A good leader takes feedback, weighs the arguments, and then makes decisions. But in the case of Bitcoin Core, talk about the limit on the size of the block does not end for several years.

The problem is that any change, regardless of the obviousness of its necessity, can be completely rejected if it becomes "controversial." This means that anyone with commit-access can block it. Having 5 people who have such access, as well as taking into account opinions and many others about the "controversy" - this is nothing more than a recipe for a dead end. The fact that the limit on the block size was never assumed to be eternal becomes unimportant: a dispute arising on this issue in itself means the impossibility of canceling the limit. This is like a meeting that never ends because there is no presiding person. You can quote one of the committers who are quite pleased with the existing deadlock: “The Bitcoin needs a leader just as a fish needs a bicycle.”

What about everyone else?

Unfortunately, not everyone agrees that you need to listen to the whole community.

However, increasing the block size limit is supported by many community members, including:

This list is far from complete. Many other key market players did not give public comments on this issue, but expressed support for Gavin and me in personal correspondence.

So, as you can see, this is not some strange bitcoin takeover action that Gavin and I started. If it were not for us to promote the proposed changes, then surely someone else would have done it.

How did those who promote the idea that the 1 MB limit should stay explained their position to their opponents?

No, because they consider it necessary neither to explain it, nor to listen to the opinions of other people. You can quote one influential Bitcoin Core member:

If you start listening to Bitcoin companies, we risk getting a false sense of consensus.

But Bitcoin companies have gathered people who understand technology, love Bitcoin and their work, devote a lot of time to this area. However, their general opinion and views are for some reason considered to be a “false sense of consensus.”

What about wallet developers? They know all about the everyday needs of ordinary users.

Nobody asked them either. And when they spoke themselves, nothing happened, because their opinion was considered irrelevant.

And this is not surprising: those who manage Bitcoin Core believe that the importance of someone’s opinion depends on how much code they wrote for Bitcoin Core. Over time, it becomes increasingly clear that the “consensus” that they so often talk about in reality means only consensus between a small number of people, independent of the opinion of the whole community.

In other words, the “consensus of developers” is a marketing ploy hiding the truth. And the truth is that only two or three people can fundamentally change Bitcoin the way they want.

Do they realize that a large number of people do not agree with them? Not. Here is another quote from one of the committers:

Gavin seems to be the only one among the Bitcoin Core developer community to insist on
this [limit increase - approx. lane.] Many of my colleagues [at Blockstream - approx. trans.] express concern about the survival of Bitcoin as a decentralized system, and their concern is the opinion of the overwhelming majority of the technology community.

This statement can be true only if all other developers working on Bitcoin outside Bitcoin Core are classified as “technological”.

How can this dispute be resolved?

Obviously, this is a big problem. Communication between the parties by the parties does not work, and both parties believe that they are ardently defending decentralization and the very “only true vision of Bitcoin”. The community is divided.

Thus, to resolve the issue remains one option. We can create a modified version of the software for miners and give them the opportunity to vote. If the majority of miners move to a new version, then after the first block with a size of more than 1 MB, the minority will remain on the branched blockchain. In order to join back to the majority, they will also need to upgrade. If the majority never switches to the new version, then the fork will not happen and we will rest on the restriction of 1 MB.

It seems to us that this option should be supported by all: it is clear that consensus cannot be achieved by conventional mechanisms, and an attempt to conduct something like a vote is a good option to somehow get off the ground.

But we come to the last and most fatal source of disagreement.

Of the five Bitcoin Core committers, Gavin and Jeff support fork, but the other three believe that any controversial hard fork is an ill-conceived, crazy and reckless decision that should never have happened, and its implementation can harm Bitcoin, perhaps even fatally. .

We fundamentally disagree with this approach. We do not think that heaven will open up if blockchain divides. We believe that people who stay on the side of small blocks will sooner or later update the software and join the rest. They will be given enough time so that they can learn about the changes and prepare for them. But, of course, this does not affect the opinion of the developers of Bitcoin Core, who do not like hard forks, and they strongly oppose them.

In short, they believe that the only Bitcoin mechanism that can verify the adequacy of their work should never be used.

I do not think they really wanted it to come to this, but, alas, it happened.Their approach is that there should be no alternative to their solutions. That everything that they don’t like for any reason should never come to light ... And that Bitcoin is their personal toy, with which they can do whatever they want.

This state of affairs cannot continue further. Bitcoin Core showed that they can not be reformed, so it must be left aside.

That is why Bitcoin fork was created.

We hope everyone understands this.

Source: https://habr.com/ru/post/366827/


All Articles