Decentralization of Blockchain Public Chain "Triple Paradox" Special Series

京东云BDS区块链数据服务
本文约4761字,阅读全文需要约19分钟
As a tool for system decentralization, the blockchain is not necessarily pursuing the "absolute" decentralization of the system, but the degree of decentralization relative to centralization.

Pan Xizhi, Product R&D Department of JD Zhilian Cloud

Hello everyone, in this issue we will discuss the "core" feature of decentralization (Decentrailzation) in the blockchain system.

image description

Before starting this topic, I would like to divide this topic into the following four aspects, first, what is "decentralization", second, why "decentralization" is the core feature of the blockchain system, third, Under what circumstances do we need "decentralization"? Fourth, the development path of the "decentralization" technology of the blockchain system.

secondary title

1. What is "decentralization"?

In a blockchain system, "decentralization" can be simply defined as: through the form of a consensus mechanism, all nodes in the system are centered, and without any organizational constraints, they can control other connected nodes. A state of influence.

Therefore, making the system form a flat, open, and equal form so that each node can exchange data equally and freely in the system is the biggest advantage that "decentralization" bestows on the blockchain system.

image description

The difference between decentralized and distributed architecture

Here we want to emphasize the difference between decentralization and distributed architecture.

In most cases, decentralization is a subset of distributed architecture; therefore, if we say that BTC is a distributed ledger or a decentralized ledger, there is no problem.

secondary title

2. Why is "decentralization" the core feature of the blockchain system?

Since the concept of blockchain was born, it is to avoid the problem of centralization as the starting point. Although logically, the blockchain is a unified centralized account book for the entire network, but no matter in terms of system architecture or governance methods, Blockchain systems are all decentralized. Compared with centralized systems, the decentralization of architecture and governance brings the biggest benefits to blockchain: fault tolerance, anti-attack and anti-collusion capabilities .

image description

Decentralization is the essential characteristic of the blockchain system

Therefore, it can be said that decentralization is the core feature of the blockchain.

secondary title

3. Under what circumstances do we need "decentralization"?

In actual scenarios, there are usually the following two typical scenarios, which can be "decentralized" using blockchain as a tool. One is that the scenario already has a center, and we want to remove the center (or reduce the degree of centralization) ); Second, there is no center (or no suitable center) in this scene, and we want to use a set of tools to achieve overall management in this scene.

The process of decentralization in the first case is more like a process from "trusting authority" to "reaching consensus". When we need to exchange information or items while protecting privacy (such as anonymous transactions, anonymous chat), the centralized system will inevitably give us a feeling of being "monitored". At this time, the best choice is to use decentralized tools. In the absence of a third party, both parties to the transaction reach an agreement consensus and complete the exchange; in fact, since any centralized system cannot provide users with absolute privacy and anonymity, blockchain technology is even the "only possible" technology to achieve absolute privacy or anonymity.

Therefore, only from the perspective of decentralization can we find the application scenarios that are really suitable for the blockchain system, such as the integration of credits between organizations and the overall management of the natural decentralized energy industry; on the contrary, if If there is no possibility of decentralization in a scenario, then the traditional centralized system will definitely be a better choice.

secondary title

4. The development path of the "decentralization" technology of the blockchain system?

Decentralized technology has developed along with Internet applications. From the earliest Napster to BitTorrent, and then to our blockchain system today, decentralized technology has undergone generation after generation of updates and changes. The first thing to mention is The technology is the p2p network.

P2P network: P2P (Peer to Peer) network, also known as peer-to-peer network, is a distributed application architecture that distributes tasks and workloads among peers (Peer). Generally, sockets are used for network programming; in P2P networks A node can be either a server or a client, which results in each node in the P2P network being equal to each other, which highly coincides with the concept of "decentralization" of the blockchain system; therefore, in In the blockchain system, P2P technology is a very important part of realizing the decentralization feature.

In the design of the blockchain system, the original purpose of the "decentralization" feature is to improve the viability of the system. For example, "decentralization" can increase the system's resilience, fault tolerance, and resistance to external attacks; but when the system develops To a certain extent, for example, after solving the problem of system survival, the blockchain system will evolve more things and enter the stage of seeking development.

  • In the process of development, the main design challenges encountered by "decentralization" technology are as follows:

  • Reaching consensus: In a "decentralized" blockchain system, the change of the consensus mechanism (including the system's governance method, value distribution, etc.) can only be carried out based on a consensus among system participants. If a consensus cannot be reached, any system participant can build another community and a chain; this is the process of decentralization of the consensus mechanism, also known as the hard fork process of the blockchain public chain system. To meet this requirement, system designers need to find a balance point in specific scenarios to ensure that system participants can achieve consistent goals without worrying about whether their contributions and gains in participating in the system are fair.

  • Fault-tolerant mechanism: When the blockchain system develops to a certain stage, as the number of nodes increases, some error nodes will definitely appear. These error nodes will transmit error data to the system to interfere with the normal operation of the system. At this time, it is necessary to A set of fault-tolerant mechanisms to ensure the normal operation of the system; generally speaking, the higher the degree of decentralization of the blockchain system, the higher the ability to accommodate faulty nodes;

Bandwidth threshold: For each node that wants to join the system, the lower the participation threshold of network bandwidth, the more people can join the system, and the more conducive to decentralization; The higher the degree of centralization, the less effort is required to actively manage the system, and on the contrary, more energy needs to be invested in active system governance.

At present, the specific methods to deal with the above problems are mainly divided into two categories: one is to modify the consensus mechanism to make the verification between the nodes of the system more efficient (the previous article introduced the method of improving TPS by changing the consensus mechanism ), and at the same time help to improve the fault tolerance of the system; second, through zero-knowledge proof, homomorphic encryption, secure multi-party computing (MPC) and other cryptographic related technologies, it is not necessary to verify the complete information of the block when verifying between nodes , and only need to verify the block header (PreHash, Hash, TimeStamp) and the relevant cryptography information used, which greatly reduces the bandwidth required by the node and is conducive to the achievement of consensus.

The above two types are more representative of hybrid consensus mechanism (by changing the way of consensus mechanism), and zero-knowledge proof technology (by way of cryptography).

Of course, the PBFT+POW hybrid consensus mechanism also has some areas that need to be optimized. For example, after the system has been running for a period of time, it is likely that the PBFT ledger will be too much ahead of PoW, which will delay the supervision and verification of PoW; but the hybrid consensus As an innovative way to solve the decentralization of the blockchain system, the mechanism must be affirmed.

image description

Hybrid Consensus

Zero-knowledge proof technology: Zero-knowledge proof (Zero-Knowledge Proof) technology is a verification method based on probability. Additional information (such as private information, etc.) can finally prove itself in the case of "zero knowledge to the verifier".

A typical example is: suppose A has two balls of different colors, and a color-blind friend of A, B, does not believe that A’s two balls are of different colors. How can A convince B that this is true? The method of using zero-knowledge proof is as follows:

Step1: A gives two balls to B, and B holds one ball in each hand,

Step2: A turns his back to B,

Step3: After A turns around, B makes an action decision of "whether to exchange the positions of the two balls in his hands". After the action decision, B asks A to turn around,

Step4: A turns around, B asks if A has exchanged balls,

Step5: If A answers incorrectly, then B does not believe it; otherwise, repeat the experiment 100 times, if A answers correctly, then B believes that the two balls are of different colors.

Why? If the colors of the two balls are different, then A should be able to tell the difference every time; if the two balls are the same color, no matter whether B has been exchanged or not, A can't tell the difference and can only guess randomly. In this way, the probability of guessing right each time is only 1/2, and if repeated 100 times, the probability of guessing right will be so small that it can be ignored, so A will inevitably guess wrong once in the process.

The above is an example of an interactive zero-knowledge proof. The above-mentioned proof has three characteristics: 1) The interactive process, the entire proof requires the interaction between A and B to complete; 2) It is random, that is, B randomly decides whether to exchange balls each time; 3 ) Zero knowledge, although B eventually believes that the two balls are of different colors, but B still does not know what color the two balls are.

At present, the biggest problem with zero-knowledge proof technology is that the use scenarios are relatively limited and the versatility is relatively poor. In the actual implementation process, most of the systems need to be customized for specific scenarios.

image description

Zero-Knowledge Proof

Looking at the technological development process of "decentralization" of the entire blockchain, it can be found that decentralization is neither a starting point nor an end state, but only a path; The laws and rule systems of the real world are combined. In the future, I believe that the decentralized blockchain system and the centralized Internet system will definitely complement each other. The blockchain system can make some businesses under the centralized system more open and transparent; centralized institutions can also be accessed as participants. Into the blockchain system, provide more professional services for other participants on the blockchain network.