Blockchain Learning - The Architecture of Blockchain

Summary

Through the introduction of my previous blockchain knowledge, we know that the blockchain system is actually a system for maintaining a public data ledger, and all technical units are designed to better maintain this public ledger. The consensus algorithm is used to achieve the data consistency of the node's ledger; the cryptographic algorithm is used to ensure the immutability of the ledger data and the security of data transmission; the script system is used to expand the expression scope of the ledger data. We can even think that the blockchain system is actually a specially designed database system or a distributed database system. This database can store digital currency, more complex smart contracts, and a wider range of business data. In the development process of blockchain, it has also gone through such a stage. Starting from Bitcoin, the early blockchain systems are all oriented to digital currencies, such as Bitcoin and Litecoin. At this stage, we can think that the blockchain system is a system that supports digital currency contracts. Later, a more flexible system that can support custom smart contracts emerged. Its representative work is Ethereum. It can be considered that Ethereum is an extension of digital currency systems such as Bitcoin. However, Ethereum still has built-in support for digital currency. The financial characteristics of the Bitcoin system also make the application of Ethereum more oriented to the financial category, and then the representative is the Hyperledger project, especially the Fabric sub-project. In this system, it goes beyond the financial category. The application supports the data definition of the brother field. We call these three stages the 1.0, 2.0, and 3.0 structural periods of the blockchain system, respectively. In order to let everyone have an overall concept of the blockchain system in the development process, in this article, I will describe the architecture of the blockchain system and classify the blockchain system from different perspectives.

Blockchain Architecture

1. Blockchain 1.0 Architecture

As mentioned in the abstract, the blockchain system at this stage is mainly used to realize digital currency. We can look at the schematic diagram first.


As shown in the figure, in the whole structure, it is divided into core nodes and front-end tools. Here I want to mention the "miner" function in the core nodes. In the miner's 1.0 system, it mainly undertakes two tasks:

The first is to package the transaction data in the memory pool (transaction data sent in the network but not yet confirmed into the block, belonging to the transaction data to be confirmed) into the block after obtaining the packaging right of the block data through competition, and broadcast to other nodes;

The second is to accept the system's digital currency reward for packaging, so that the system completes the issuance of new currency through this reward mechanism.

Among the front-end tools, the most obvious is the wallet tool. The wallet tool is provided for users to manage their account addresses and balances; the browser is used to view the data that occurs in the blockchain network, such as the latest block height, memory The number of transactions in the pool, the network processing capacity per unit time, etc.; both the PRC client and the command line interface are used to access the functions of the node. At this time, the core node is equivalent to a server, providing a function invocation interface through the PRC service.

2. Blockchain 2.0 Architecture

The representative product of the blockchain 2.0 architecture is Ethereum, so we can apply the architecture of Ethereum to illustrate. Let’s take a look at the schematic diagram first:


Compared with the 1.0 architecture, the biggest feature is that it supports smart contracts. In Ethereum, we use smart contract development tools to develop contract programs, compile them into bytecodes, and finally deploy them into the Ethereum blockchain ledger. The deployed smart contract runs on a virtual machine and becomes the "Ethereum virtual machine". The implementation of such smart contracts officially expands the functions of the blockchain system. At the same time, we also see that digital currency is still supported in Ethereum, so there are still wallet tools in the application tools.

3. Blockchain 3.0 Architecture

In the architecture of 3.0, it goes beyond the scope of application of digital currency or finance, and uses blockchain technology as a pan-solution, which can be used in other fields, such as administrative management, culture and art, enterprise supply chain, medical and health care, Internet of Things, property rights registration, etc., can be considered as industry-oriented applications.

Industry applications generally need to have enterprise-level attributes, such as identity authentication, license authorization, encrypted transmission, etc., and also require data processing performance. Therefore, applications in enterprise-level scenarios are often consortium chains or private chains. Let's take a look at the diagram


In the above picture, digital currency is no longer a required component. Of course, if necessary, we can also implement digital currency through smart contracts. Compared with the previous architecture, the biggest feature is the addition of a network management control, which actually increases the support for the requirements of security and confidentiality, and strengthens the reliability management of data through data auditing.

In 3.0, it can actually be regarded as a set of frameworks. The needs of various industries can be used through the configuration and secondary development of the framework. For example, the "pluggable consensus" in the figure means that the consensus mechanism is not fixed, but It can be configured by the user himself.

Conclusion: You can use the above three diagrams to understand the architecture of the three stages and the areas that are improved in the development process. In the next article, I will introduce three types of blockchains, namely public chains, private chains, Alliance chain.



Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324769960&siteId=291194637
Recommended