After compiling this article, I understand a bit why Vitalik Buterin, a 94-year-old guy, was able to start Ethereum at the age of 20.
I can not say that Vitalik’s understanding is correct, but I really feel some of his superiority from this article. Vitalik behaves differently than many young people in his way of thinking. “Decentralization” is a concept of selective demise of ordinary people’s metropolis. People think they fully understand the meaning of these four words, but Vitalik chooses to grab the word in an attempt to give it a more standardized definition.
I am glad that Vitalik expressed his thoughts because, whatever the final point of view, the retrospective and discussion of this basic concept is the current scarcity in the context of the novel concept of various blockchains Content.
System design has always been a huge and fascinating thing. As small as a community, a company, a city, a country, the world we live in is surrounded by a variety of sophisticated systems. But the interior of these huge machines, sometimes imperfect, can even be very crude.
Believers in the blockchain believe that there is a loophole in the seigniorage of the functioning of the global economic system in fragile and unreliable humanity and therefore require an alternative centripetal approach. Vitalik, on the other hand, starts with the concept of “decentralization,” revealing how complicated a decent decentralized system is, how much resistance it needs to fight against, and how many obstacles to remove.
The world we live in is very complicated. More and more systems are being packaged as a black box. It is difficult for people outside to see how the gears inside the box work. With Vitalik’s discussion of the concept of decentralization, we can take a closer look. So, if you are not interested in the blockchain but have a lot of curiosity about the design of complex systems, read this article too.
This article in order to facilitate the reader to understand, at compile time some of the contents of a small amount of censorship and adjustment. If you want to read the original English article, please click “read the original.”
“Decentralization” is probably the highest frequency term mentioned in the blockchain, but the definition of the word is also unclear.
In fact, think about it quite incredible. The blockchain consumes a large amount of computationally expensive hashing power just to keep the network decentralized, but when people are arguing about whether a token or blockchain network is good or not, However, the term “change” is often used as a gunsmoke to simply concisely say “you are not decentralized.” You can easily end a debate.
So, what does “decenterization” mean?
Not many people can really make it clear. In fact, not many people are conscious or willing to go deep into the true meaning of the word.
When facing questions, most people are accustomed to citing the following three pictures to explain the so-called “deconcentration”:
But unfortunately, the above three pictures as a common explanation, the basic is invalid. It is not essential to our understanding of “decentralization.”
We need a more bottom-up approach, and we need a clearer standard of judgment to define “decentralization.” Because only by understanding the true meaning of the word, we can better understand the blockchain.
Judge “to decentralize” three rulers
In the software world, the so-called “decentralization” can actually be divided into three dimensions for discussion. These three dimensions are also the three rulers to judge whether a thing is “decentralized.”
It should be noted that these three rulers, at first glance may seem indispensable, but overall, they are independent of each other.
- Architecture layer: In the physical world, how many computers a system consists of? In the process of running this system, how many computers can withstand the collapse of the system is still unaffected?
- Politics: How many individuals or organizations have ultimate control over the computers that make up the system?
- Logic layer: From the system design of the interface and data structure, it looks more like a complete single device, or more like a cluster composed of numerous units? – This dimension may be abstract, not very well understood, and we can judge it in another simpler way: If we divide the system in two halves and include both producer and consumer in both parts, then the two parts Can I continue to run completely as a stand-alone unit?
The three rulers, a system design used to measure the architectural layer, used to measure the control of the political layer, one used to measure the logic layer belongs to form.
To sum it up, it might be clearer to use a chart to show:
Can see that there are some representative examples in the chart. It should be noted that the classification and emission of these examples are still relatively crude at the moment, and there may be many logically controversial issues. Nevertheless, we can still try to follow these examples once again, which helps us to understand “why these three criteria “Good thing:
- Traditional companies: Traditional companies are centrist at the political level (one CEO per company) and centripetal at the architecture level (one for each company) and are still centralized at the logical level You can not really split the company in half.
- Law: Modern law has two systems, one is the civil law, one is the common law. Continental law relies on a centralized legislative body, which is centralized at the architectural level. Compared with the common law, the common law is made up of many precedents formed by many judges who act as individuals. Although many courts now have a great deal of freedom to decide on their own, continental law has a small “decentralization” at the architectural level, but compared to common law, a system of individuals with many judges, The decentralization of the law is clearly higher. Of course, both are centralized at the logical level (law is law).
- Language: Language is decentralized at the logical level. The English spoken between Alice and Bob, and the English spoken between Charlie and David, need not be the same. At the same time, the absence of any kind of language requires a central infrastructure for support, and English grammar rules are not created by any single individual nor controlled by any organization (you may say that World English initially Invented by Ludwig Zamenhof, but from now on, the communicative function of English is more like a living language that constantly evolves itself. It grows out of itself.)
- BT: Like English, BitTorrent is also decentralized at the logical level. The same is true for content distribution networks (cdn), but they are all subject to the independent control of a single company.
- Blockchain: Blockchain is decentralized at the political level (no one or organization can control the blockchain) and decentralized at the architectural level (no single server can be attacked), but at At the logical level, the blockchain is central (each blockchain has its own universal consensus and the system behaves more like a separate computer).
Well, we succeeded in smoothing out whether various things are decentralized.
Once again, you should already have the first discovery:
When it comes to the benefits of a blockchain, many people often mention the benefits of a “central database” (or public ledger). But the blockchain is not decentralized, why is there a concept of “central database”, is this a contradiction?
With the standards provided by our three rulers, it is easy to understand that the so-called centralization of the “central database” is actually the centralization of the logic layer.
In most cases, the centralization of the logic layer represents a better choice. However, many people also claim that the logic layer needs to be decentralized as much as possible. For example, Juan Benet from IPFS thinks so. His reason is that the logic-centric decentralized systems tend to be more viable on the network partition. To explain in a human-speaking way, it is “de-centralization of the logic layer.” In a less connected world (such as a remote area), it will perform better.
Why do we need to “decentralize”?
We have mastered how to judge the “decentralized” approach. The next question is why it is important to be decentralized? What is the benefit of it?
Decentralization has three advantages:
- Fault Tolerance: It is unlikely that a decentralized system will cease to work because of a localized accidental failure because it relies on many independently working components for greater fault tolerance.
- Anti-attack: the cost of attack and destruction to the decentralized system is higher than the centralized system. In economic terms, this is the difference between looting a house and looting a village.
- Anti-collusion: To centralize the system participants, it is difficult to collude with each other. However, the leadership of traditional enterprises and the government tend to collude with each other for their own interests and in ways that harm the interests of customers, employees and the public.
We try to talk about the above three points, one by one in more detail.
The core of fault tolerance is actually “the ability to withstand errors and reduce the probability of system crashes.” The probability of a computer failure, and the probability of failure of five of the ten computers at the same time, which one is bigger? Obviously the former. This is actually a way to spread the risk. In real life, such fault tolerance has been widely used, such as jet engines, backup generators, and hospitals, military infrastructures, diversified financial portfolios, computer networks and many more.
However, decentralized, fault-tolerant capabilities, while effective and important, are sometimes far less useful than a simple mathematical model. The reason is that “common mode failure.” Four jet engines are less prone to failure than one jet engine, but what if all four jet engines were made in the same factory? Or that all four jet engines are made by the same unqualified employee? This is common mode failure.
So, the current blockchain, to withstand common-mode failure?
Really not necessarily.
If you do not believe it, take a look at these examples:
- All nodes in a blockchain run the same client software, and the client software has a BUG.
- All nodes in a blockchain run the same client software, and the client software development team is in collusion with corruption.
- The research team that proposed to upgrade the blockchain network protocol is in collusion with corruption.
- In a POW blockchain, 70% of miners are in the same country, and the government of the country decides to take over all the mines for national security.
- Most of the mining hardware is produced by the same company, and the company is bribed or threatened, opening a back door to the mining hardware so that all the mining hardware can be shut down at will.
- In a POS blockchain, 70% of the currency is held by a single exchange.
Obviously, in order to ensure decentralized fault-tolerance, these issues should be minimized to the extent possible.
How to minimize it?
Here are some things that might be helpful:
- As much as possible to maintain multi-party competition;
- The technology and knowledge needed to upgrade the agreement must be democratized so that more people can participate in researching, discussing and criticizing changes in apparently unhealthy agreements;
- Core development and research staff should be employed by multiple companies or organizations (or many of them can be volunteers);
- Mining algorithm should be designed to the lowest degree of centralization;
- Ideally, we use the proof of place (POS) approach to get rid of the hardware-centric risk (of course, proof of equity may also bring new risks).
It is worth noting that we tend to focus on decentralized design at the architectural level as we look at more elementary fault tolerance, but if you start to consider fault tolerance in the longer term of a system’s evolution and evolution , Then decentralization at the political level is also important.
Now, let’s look at the anti-aggression.
In a purely economic model, it is not important to be decentralized. If you create an agreement that “a verifier will lose $ 50 million in the event of a 51% attack,” it does not matter whether the verifier is controlled by one company or 100 companies. The $ 50 million is the marginal cost of securing the economic security of this agreement, and $ 50 million is $ 50 million. In fact, game theory tells us that centralized systems can even maximize this notion of marginal cost of economic security (the current blockchain transaction selection model also reflects this view because miners / block makers Packaging deals into blocks is actually a very swift process of authoritarian rotation.)
But if it is in a richer economic model, especially if there is a potential for coercion in this economic model (or a targeted DOS attack on a node), decentralization will become very important. When a person’s life is threatened, $ 50 million is extra-physical to him and you can easily take away his money, but if the $ 50 million is spread out in a dozen, you have to threaten the extortion The number of people, instantly soared to 10 times, and this 10 times the workload, but also at the same time to complete, this is a nightmare for any one robber.
The interesting point, however, is that in most cases the world we live in is characterized by asymmetry in “attacks / defenses” and often more predators. For example, a $ 10 million building built at a cost of $ 100,000 can easily destroy it. But the leverage effect of such attacks / defenses is often sub-linear: $ 100,000 is needed to destroy a $ 10 million building, $ 30,000 to a $ 1 million building, and then further down, while a smaller building needs a higher ratio.
And so on, knowing these things, what’s the use for us to understand the blockchain?
Of course useful. This truth at least allows us to understand the three key points of the blockchain mechanism design:
- First, the Proof of Entitlement (POS) is more secure than the Workload Proofing (POW) mechanism. POWs need to mine computers that are easy to detect, manage, or attack, while POS targets proof of entitlement, which is tokens, which are easier to hide relative to computer hardware;
- Second, the more profitable the distribution of blockchain teams, including the geographically distributed ones,
- Thirdly, when designing a consensus agreement, it is necessary to consider both the economic model and the fault-tolerant model.
Finally, we can finally discuss the most complex of the three above: anti-collusion.
The word collusion sounds a bit weird, because the word collusion itself is hard to define. To put it simply, we can conclude that “collusion” is “what we do not like about coordination.” Ideally, we want perfect coordination between everyone, but when some people are perfectly coordinated and others are uncoordinated, the situation becomes dangerous.
For example, antitrust law is an example. In order to prevent market participants from pooling together, colluding with each other, monopolizing, damaging the interests of market consumers and society, and thereby gaining excess profits, the antitrust law has deliberately set regulatory obstacles in the operation of the market.
Another example is the anti-active coordination rules between the U.S. presidential candidate and the PAC. The PPCA is equivalent to an independent support candidate community, mainly used to help candidates to raise unlimited funds for the election. In order to prevent it from colluding with candidates, the United States stipulates that there should be no direct link between the PAC and the elected political party, that is, an anti-active coordination rule. Of course, these rules are actually hard to implement in practice.
A further example is the rules set by chess games that prevent two players from playing frequently with each other in order to improve their respective scores.
As you can see, this “anti-collusion” attempt is ubiquitous in all kinds of complex systems in the real world.
In the blockchain agreement, the mathematical principles and economic principles behind the establishment of consensus security usually rely on this “anti-collusion” setting.
“Anti-collusion” is to avoid as much as possible coordination between nodes, in other words, it assumes that a block chain network is composed of many independent decision-making nodes.
Advocates of the blockchain believe blockchain is more secure because no individual in the blockchain network can arbitrarily change the rules of the protocol itself. However, if the developers of software and protocols serve the same company and belong to the same family and work in the same office building, it is very difficult to prevent this situation.
The most crucial point to truly guaranteeing security is to prevent the system from becoming a self-serving centralized monopoly. Therefore, the more fragmented a blockchain network, the harder it is for them to collude and be safe.
However, this actually reveals a fundamental contradiction.
Many communities, including Ethereum, exist because they have a strong community spirit and have the advantage of quick coordination in implementing, distributing and activating hard-fork. The question we need to think about is how to nurture and improve this good coordination while at the same time preventing those poor coordination relations from accidentally evolving into “collusion” with each other (for example, miners are trying to collude with each other , Repeated 51% of attacks, in order to implement fraud).
To solve this problem, may need to do the following three points:
- Do not try to reduce the collusion, use the agreement to completely eliminate the collusion.
- Try to find a balance that provides enough coordination to help the agreement develop better, but at the same time not enough to evolve into collusion and attack.
- Try to distinguish between “good coordination” and “harmful coordination” and then find ways to make the former easier and harder for the latter.
The first of these guidelines was used in many places in the design of Etper’s Casper mechanism. However, the first point alone is not enough, because economic reliance alone can not solve the other two types of centralization disruptions;
The second method is difficult to design a clear, but it often happens by accident. For example, Bitcoin’s core developers generally speak English, while miners generally speak Chinese, which can be called almost “a happy accident” because it inadvertently creates a “two-chamber” governance mechanism. On the one hand It makes collusion between each other difficult, on the other hand reduces the risk of common-mode failures – English and Chinese communities, because of communication difficulties, to some extent, they are more likely to have their own independent Thinking, therefore, is unlikely to make the same mistake at the same time.
The third method represents a sociological challenge that may need to be accomplished:
- Social interventions, that is, attempts to increase participants’ overall loyalty to the blockchain community in lieu of or to limit the direct loyalty that each market participant has to each other.
- Promote different market participants to communicate in the same context, so that no matter the verifier, developer or miners, they are less likely to classify themselves as a class, thus reducing their Coordination against other classes, the possibility of protecting the interests of their own class.
- When designing an agreement, try to avoid or reduce the one-to-one “special relationship” between the certifier and the miners, or to form a centralized relay network and other similar super-protocol mechanisms.
- The basic nature of the agreement should be, and what should not be done, or what can only be done in the most extreme circumstances, these agreements should be standardized in their own very clear and clear.
To prevent collusion, anti-collusion to the center, may be the most difficult to achieve the.
To really achieve it, some trade-offs and trade-offs are inevitable. Perhaps the best solution may be to rely heavily on a group that is most likely to guarantee decentralization: the user of the agreement.
to sum up
Well, if you read here, congratulations you’ve beat 99% of the other readers.
Let us review some of the main points of “decentralization”:
- Three rulers to measure the degree of “decentralization”, three independent criteria: architecture, politics and logic;
- Three “decentralized” benefits: fault tolerance, anti-aggression, anti-collusion;
- Among them, the fault tolerance needs to solve the problems caused by common mode faults at present;
- Offensive resistance is not important in the pure economic model, but it is very important in the richer economic model.
- “Anti-collusion” is the most difficult to achieve in the three decentralized advantages, and it requires constant trade-offs and trade-offs.
It is noteworthy that the article’s view may not necessarily be correct, but at least it has helped you to re-examine the “decentralized” these four simple words.
No matter what the so-called coins and chains, their time differences and the real world are one or a year. After a series of new nouns and new concepts, the fundamental concepts that many people think are taken for granted are analyzed Discussion, we think there is still some value.
Any new words, should be able to apply the existing words, the most simple explanation. This article may not be good enough at compile time due to our own limited ability, but we are also content if you are inspired by it.