The most disconcerting paragraph Satoshi

in #bitcoin9 years ago

The most disorienting and confusing paragraph in the entire White paper Satoshi is, without a doubt, the third paragraph of the 4th section:

Proof-of-Work also solves the problem of determining representation in majority decision making. If the judgment of the majority opinion was derived from the calculation of "one IP address – one vote", anyone can vote from multiple IP addresses. Proof-of-Work is, in fact, is a vote based on "one CPU one vote". The majority of decisions are expressed in terms of the longest chain, which has the largest amount of PoW-proof. If most of the CPU is controlled by honest nodes the honest chain will grow faster and stay ahead of other competing branches. In order to change a completed block, an attacker would have to redo the PoW-proof for this and all following blocks, and then catch up and surpass the length of the chain generated by honest nodes. Later we will show that the probability that the chain created a slower attacker can exceed the length of the main chain decreases exponentially as you add subsequent blocks.

There are a few serious problems. Let's start with the obvious: nobody uses the CPU for mining, very few nodes are still busy mining, may vote only maynadie nodes, and mining pools tend to concentrate the vote in the hands of a few operators of the pool. But there is another serious problem that is often overlooked: the only thing that actually vote mining nodes is for which of multiple valid chains to continue, but not for what rules to apply to determine the correctness of a particular chain.

At first reading it may not seem so clear – in the end, Nakamoto says only "when making most decisions." However, a deeper consideration of the concept (and looking at the implementation Nakamoto), we begin to understand that if the nodes do vote about which chain is correct, the algorithmic nature of the consensus Nakamoto would be immediately lost, and with it a solid guarantee total consistency. If the nodes really will provide such a choice, it is obvious that in the end of the chain will disperse and the network will become fragmented. Without a common set of rules to determine the correctness of a particular chain, nothing will keep the units against separation in a separate network – even if they have less hashing capacity, and perhaps even altogether without them.

As shown by the hard fork that divided the Ethereum at ETH and ETC, chain, slower hashing can continue his development. Some argue that Bitcoin is different in that the difficulty adjustment takes much longer. But the issue of regulating the difficulty – the problem is well known and this is not only hard-forks. Any sudden drop in the speed of hashing in the network will lead to this problem, and no matter what was the cause of the fall speed of hashing. And if it should occur, it is likely that many participants would prefer to adjust the secondary regulation algorithm of complexity to get around this problem. Yes, it would be possible to allocate these network members in a chain, separate from those who oppose such intervention, but, perhaps, incentives to cooperation to correct network will be strong enough to overcome this contradiction. Each participant will be interested in how to fix network. And yet, such a scenario I would prefer to see as little as possible, and then not to see.

When fork ETH/ETC a big part of hashing power is not simply made a choice in favor of a new set of rules. The whole point is that these hashing power has tried to legitimize the process of forcing exchanges and of other economically important hosts to change their software for the effective support of the new Protocol with the new rules. The old symbol on the exchanges, in fact, marked a new network with the amended rules of consensus. If economically important nodes refused the updates of your programs in the code of the old Protocol was not anything that could influence their decision. Thus, we exchanged the algorithmic nature of Proof-of-Work-consensus on the political process.

Soft-forks used with signalling mechanisms BIP9 – are fundamentally different from hard-forks: we do not violate the algorithmic nature of the consensus Nakamoto – add a new rule consensus may occur gradually and only after will be guaranteed irresistible incentives to follow them for the owners of the hashing capacity, and we avoid the risk of separation of the chain, because even non-upgraded: nodes can continue to check compliance rules that are known to them, and the new units they will just be considered valid. For obvious reasons, the non-upgraded nodes are unable to validate compliance with the new rules, which they were not familiar with. This fact was cited as an argument against the soft-forks, however, there is no way to get around this problem by using hard-fork, so that is a moot argument, unless he opposes any changes to the rules of consensus ever. BIP9 ensures that all nodes receive information about the upcoming soft-fork in advance so they can warn their users and give them the opportunity to either upgrade and continue to work with the same software or completely to refuse from participation in the network.

In the case of a hard fork, you need to convince economically important nodes, such as exchanges update their software before it will be clear that the chain will receive the support of the vast majority of users. Even if the chain receives this support, hashing power can always switch to other chains, if mining will become more profitable. Hash power will tend to follow the market. This adds immense uncertainty to implement and disruptive to the business activities and markets. And there is absolutely no guarantee that we eventually will reach an agreement. Two or more chains can continue to exist indefinitely, leading to inflation, the destruction of interchangeability, cross-attack chain, and many other undesirable consequences, not to mention the potential of hostility in the community, however, Balkanization.

During the periods of performance recent hard-forks of Ethereum related to the problems of network security, I launched multiple nodes Ethereum. I will only speak for myself: even with my extensive experience and knowledge about these types of networks, synchronization has become for me a real challenge. I can only imagine how difficult it can be for less sophisticated users to solve these issues regularly. For these reasons, I believe that frequent hard forks will push people away from working with the validation nodes.

Miners have always had two skills:

Choose which transactions to include in their blocks (including the Coinbase transaction that pays them their reward);
Choose which of the many valid combinations to continue if the rest of the network also considers any of these chains correct.
Rule Nakamoto about the most a complex chain allows the network to converge on a single registry regardless of which choice is made for miners.

Attempts to give the miners a voice in the question about the hard fork always goes against the consensus Nakamoto*, because that would mean that miners will be able to arbitrarily change the rules, even if other nodes on the network will not accept their chains as correct. In fact, the only way to make such a change in the rules even just possible to update the software of the validation nodes, voluntarily or involuntarily. If the change is very controversial, if we want to maintain a single network, some nodes need to be enforced. And this brings us back to political currency, which Satoshi tried to leave.

  • Such mechanisms of soft-fork as BIP9 was probably unknown Nakamoto. Also, there has been significant progress in the separation of the implementation rules of consensus and the modular organization of software in the nodes to support multiple implementations, which will continue to be recorded in a registry.

Source: https://bitnovosti.com/2017/02/08/samyi-dezorientiruyuschiy-paragraph-satoshi/

Sort:  

"One-CPU-one-vote" was most probably meant more metaphorically and should be better read as "One-CPU-cycle-one-vote" to make it clearer.

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.097
BTC 63910.82
ETH 1867.72
USDT 1.00
SBD 0.38