CN112671761B - Node processing method and device for block chain, node equipment and storage medium - Google Patents

Node processing method and device for block chain, node equipment and storage medium Download PDF

Info

Publication number
CN112671761B
CN112671761B CN202011534095.7A CN202011534095A CN112671761B CN 112671761 B CN112671761 B CN 112671761B CN 202011534095 A CN202011534095 A CN 202011534095A CN 112671761 B CN112671761 B CN 112671761B
Authority
CN
China
Prior art keywords
consensus
node
participation
nodes
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011534095.7A
Other languages
Chinese (zh)
Other versions
CN112671761A (en
Inventor
徐昊
曹崇瑞
顾费勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202011534095.7A priority Critical patent/CN112671761B/en
Publication of CN112671761A publication Critical patent/CN112671761A/en
Application granted granted Critical
Publication of CN112671761B publication Critical patent/CN112671761B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

The invention provides a processing method and device of a node in a block chain, node equipment and a storage medium, and relates to the technical field of block chains. The processing method of the nodes in the block chain comprises the following steps: determining the consensus participation degree of each consensus node according to the consensus response message received by the multiple rounds of successful consensus processes, wherein the consensus participation degree is used for representing the number of rounds of successful consensus participation of each consensus node; and determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree as malicious nodes from the consensus network according to the consensus participation degree of each consensus node. The consensus participation degree of each consensus node in the consensus network is determined, and the inactive malicious node in the consensus network is determined based on the consensus participation degree of each consensus node, so that the node in the consensus network, which does not work normally, can be determined, and the security of the consensus network is enhanced.

Description

Node processing method and device for block chain, node equipment and storage medium
Technical Field
The present invention relates to the field of blockchain technologies, and in particular, to a method and an apparatus for processing a node in a blockchain, a node device, and a storage medium.
Background
The block chain is a distributed shared account book and a database, and has the characteristics of being incapable of being forged, having trace in the whole process, being traceable, being public and transparent, being maintained collectively and the like. With the development of the blockchain technology, the service mode based on the blockchain network is also widely popular.
In the related art, a PBFT (physical Byzantine Fault Tolerance) protocol is adopted as a consensus protocol in a block chain, and a three-stage protocol is used to achieve consensus on proposal messages. The client side initiates a consensus request, the master node generates a consensus proposal, and other slave nodes receive the proposal and perform consensus. After the three-stage protocol, all the consensus nodes agree on the proposal. When the main node goes down or goes bad, the three-stage protocol cannot be normally carried out. Other slave nodes need to reselect the master node through a view switching protocol (view change) for subsequent consensus.
However, in the related art, it is not possible to determine whether the slave nodes other than the master node are operating normally, and a problem that some slave nodes are not active easily occurs, thereby weakening the security of the consensus network.
Disclosure of Invention
The present invention is directed to provide a method, an apparatus, a node device, and a storage medium for processing nodes in a blockchain, so that in the related art, it is not possible to determine whether slave nodes other than a master node are operating normally, and some slave nodes are prone to be inactive, thereby weakening the security of a consensus network.
In order to achieve the above purpose, the embodiment of the present invention adopts the following technical solutions:
in a first aspect, an embodiment of the present invention provides a method for processing a node of a block chain, where the method includes:
determining the consensus participation degree of each consensus node according to the consensus response message received by a plurality of successful consensus processes, wherein the consensus participation degree is used for representing the number of successful consensus participation rounds of each consensus node;
and determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree as malicious nodes from the consensus network according to the consensus participation degrees of the consensus nodes.
Optionally, the determining the consensus participation degree of each consensus node according to the consensus response messages received by multiple successful consensus processes includes:
and under the condition that the consensus response message of the successful consensus process of the first round is received, updating the consensus participation of the consensus nodes according to the consensus response message received by the successful consensus process of the first-t rounds, wherein t is an integer and l is an integer larger than t.
Optionally, the updating the consensus participation degree of each consensus node according to the consensus response message received by the successful consensus process of the l-t round includes:
according to the consensus response message received by the first-t successful consensus process, corresponding to the participation consensus node, increasing the consensus participation of the participation consensus node;
and reducing the consensus participation degree of the nodes which do not participate in the consensus network.
Optionally, the performing, according to the joint consensus node corresponding to the joint consensus response message received in the first-t successful joint consensus process, an operation of increasing the joint consensus degree of the joint consensus node includes:
and if the consensus participation degree of the participation consensus node is smaller than the preset maximum consensus participation degree, increasing the consensus participation degree of the participation consensus node.
Optionally, the consensus participation degree when each consensus node joins the consensus network is the preset maximum consensus participation degree.
Optionally, the method further includes:
and calculating the preset maximum consensus participation according to the longest downtime of the preset consensus node and the block-out time of the block chain.
Optionally, the consensus participation degree of each consensus node is recorded in a consensus participation degree list of the consensus network.
Optionally, the method further includes:
executing a cleaning consensus process of the malicious node by adopting a prearranged consensus node management contract;
and if the common recognition cleaning process is successful, removing the malicious node from the common recognition network.
Optionally, the removing the malicious node from the consensus network includes:
deleting the identification of the malicious node in a consensus node identification list of the consensus network;
deleting the node information of the malicious node;
and updating the index of each consensus node in the consensus node identification list.
Optionally, the method further includes:
and adding the identifier of the malicious node into a preset malicious node blacklist.
Optionally, the method further includes:
if a common identification network access request sent by a pre-access node is received, judging whether the identifier of the pre-access node exists in the malicious node blacklist or not;
if yes, returning an access refusing response to the pre-access node;
if the pre-adding node does not exist, adding the identifier of the pre-adding node to the common identification node identifier list;
storing the node information of the pre-access node;
and updating the index of the pre-added node in the consensus node identification list.
In a second aspect, an embodiment of the present invention further provides a node processing apparatus for a block chain, including:
the determining module is used for determining the consensus participation degree of each consensus node according to the consensus response message received by the multiple rounds of successful consensus processes, wherein the consensus participation degree is used for representing the number of rounds of successful consensus participation of each consensus node; and determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree as the malicious nodes from the consensus network according to the consensus participation degrees of the consensus nodes.
Optionally, the determining module is further configured to update the consensus participation degree of each consensus node according to the consensus response message received in the first-t successful consensus process when the consensus response message of the first-round successful consensus process is received, where t is an integer and l is an integer greater than t.
Optionally, the determining module is further configured to perform an increase operation on the consensus degree of the consensus nodes according to the consensus nodes corresponding to the consensus response message received in the first-t successful consensus process; and reducing the consensus participation degree of the nodes which do not participate in the consensus network.
Optionally, the determining module is further configured to perform an increase operation on the consensus participation degree of the consensus participation nodes if the consensus participation degree of the participation consensus nodes is smaller than a preset maximum consensus participation degree.
Optionally, the consensus participation degree when each consensus node joins the consensus network is the preset maximum consensus participation degree.
Optionally, the apparatus further comprises:
and the calculation module is used for calculating the preset maximum consensus participation according to the longest downtime of the preset consensus nodes and the block outgoing time of the block chain.
Optionally, the consensus participation degree of each consensus node is recorded in a consensus participation degree list of the consensus network.
Optionally, the apparatus further comprises:
the execution module is used for executing the cleaning consensus process of the malicious node by adopting a pre-deployed consensus node management contract;
and the removing module is used for removing the malicious node from the consensus network if the cleaning consensus process is successful.
Optionally, the removing module is further configured to delete the identifier of the malicious node in a common node identifier list of the common network; deleting the node information of the malicious node; and updating the index of each consensus node in the consensus node identification list.
Optionally, the apparatus further comprises:
and the adding module is used for adding the identification of the malicious node into a preset malicious node blacklist.
Optionally, the apparatus further comprises:
the judging module is used for judging whether the identifier of the pre-access node exists in the malicious node blacklist or not if a consensus network access request sent by the pre-access node is received;
a returning module, configured to return an access denial response to the pre-access node if the access denial response exists;
an adding module, configured to add the identifier of the pre-adding node to the common node identifier list if the identifier does not exist;
the storage module is used for storing the node information of the pre-adding node;
and the updating module is used for updating the index of the pre-added node in the consensus node identification list.
In a third aspect, an embodiment of the present invention further provides a node device, including: a memory storing a computer program executable by the processor, and a processor implementing the method for processing a node of a blockchain according to any one of the first aspect when the computer program is executed by the processor.
In a fourth aspect, an embodiment of the present invention further provides a storage medium, where a computer program is stored on the storage medium, and when the computer program is read and executed, the method for processing a node of a blockchain according to any one of the above first aspects is implemented.
The invention has the beneficial effects that: an embodiment of the present invention provides a method, an apparatus, a node device, and a storage medium for processing a node in a block chain, where the method may include: determining the consensus participation degree of each consensus node according to the consensus response message received by the multiple rounds of successful consensus processes, wherein the consensus participation degree is used for representing the number of rounds of successful consensus participation of each consensus node; and determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree as malicious nodes from the consensus network according to the consensus participation degrees of the consensus nodes. The consensus participation degree of each consensus node in the consensus network is determined, and the inactive malicious node in the consensus network is determined based on the consensus participation degree of each consensus node, so that the node in the consensus network, which does not work normally, can be determined, and the security of the consensus network is enhanced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present invention and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained according to the drawings without inventive efforts.
Fig. 1 is a schematic view of an application scenario of a processing method for a consensus node in a blockchain according to an embodiment of the present disclosure;
fig. 2 is a schematic flowchart of a method for processing a node of a block chain according to an embodiment of the present invention;
fig. 3 is a schematic flowchart of a method for processing a node of a block chain according to an embodiment of the present invention;
fig. 4 is a schematic flowchart of a method for processing a node of a block chain according to an embodiment of the present invention;
fig. 5 is a schematic flowchart of a method for processing a node of a block chain according to an embodiment of the present invention;
fig. 6 is a schematic flowchart of a method for processing a node of a block chain according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of a node device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention.
Thus, the following detailed description of the embodiments of the present application, presented in the accompanying drawings, is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In the description of the present application, it should be noted that if the terms "upper", "lower", etc. are used for indicating the orientation or positional relationship based on the orientation or positional relationship shown in the drawings or the orientation or positional relationship which is usually arranged when the product of the application is used, the description is only for convenience of describing the application and simplifying the description, but the indication or suggestion that the referred device or element must have a specific orientation, be constructed in a specific orientation and operation, and thus, cannot be understood as the limitation of the application.
Furthermore, the terms "first," "second," and the like in the description and in the claims, as well as in the drawings, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It should be noted that the features of the embodiments of the present application may be combined with each other without conflict.
For convenience of understanding, terms referred to in the embodiments of the present application are explained below:
block chains: the blocks confirmed by the common identification are sequentially added into a distributed account book by using a cryptographic technology, and the aim is to form a final record for preventing counterfeiting and tampering.
Bft (Byzantine factory Tolerance) protocol: the byzantine fault tolerance protocol is a consensus protocol that can only handle byzantine problems. The byzantine problem is a real-world modeling, i.e., unexpected results may occur to computers and networks due to hardware errors, network congestion, or malicious attacks, etc.
The description for the related art is as follows: in the related art, a PBFT (physical Byzantine Fault Tolerance) protocol is adopted as a consensus protocol in a block chain, and a three-stage protocol is used to achieve consensus on proposal messages. The client side initiates a consensus request, the master node generates a consensus proposal, and other slave nodes receive the proposal and perform consensus. After the three-stage protocol, all the consensus nodes agree on the proposal. When the main node is down or badly makes a request, the three-stage protocol can not be normally carried out. Other slave nodes need to reselect the master node through a view switching protocol (view change) for subsequent consensus.
In the related art, whether slave nodes except for a master node work normally cannot be determined, and the problem that some slave nodes are not active easily occurs, so that the security of the consensus network is weakened. An embodiment of the present application provides a method, an apparatus, a node device, and a storage medium for processing a node in a blockchain, where the method may include: determining the consensus participation degree of each consensus node according to the consensus response message received by the multiple rounds of successful consensus processes, wherein the consensus participation degree is used for representing the number of rounds of successful consensus participation of each consensus node; and determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree as malicious nodes from the consensus network according to the consensus participation degree of each consensus node. The consensus participation degree of each consensus node in the consensus network is determined, and the inactive malicious node in the consensus network is determined based on the consensus participation degree of each consensus node, so that the node in the consensus network, which does not work normally, can be determined, and the security of the consensus network is enhanced.
Blockchains are a term in the field of information technology. Essentially, the block chain is a distributed shared account book and a database, and has the characteristics of decentralization, no tampering, trace leaving in the whole process, traceability, collective maintenance, openness and transparency and the like. The characteristics ensure that a solid trust foundation is laid by the block chain technology, a reliable cooperation mechanism is created, and the method has wide application prospect.
Fig. 1 is a schematic view of an application scenario of a processing method for common nodes in a block chain according to an embodiment of the present disclosure, and as shown in fig. 1, a block chain 101 refers to a system for sharing data between common nodes and common nodes, where one block chain may include multiple common nodes, where the multiple common nodes may refer to servers 1011 in the block chain, and certainly one server 1011 in the block chain may correspond to multiple common nodes.
The information connection can exist between each common node in the blockchain system, and the common nodes can perform information transmission based on the information connection. When any consensus node in the blockchain 101 receives the input information, other consensus nodes in the blockchain 101 acquire the input data according to a consensus algorithm, and store the input data as data in shared data, so that the data stored in all the consensus nodes in the blockchain 101 are consistent.
In addition, each common node of the block chain 101 may store identification information of other common nodes in the block chain 101, so that a block may be broadcast for other common nodes in the block chain 101 according to the identification information of other common nodes in the following.
In a possible implementation manner, the consensus nodes in the block chain determine the consensus participation degree of each consensus node according to the consensus response messages received by multiple successful consensus processes; determining a consensus node with the consensus participation degree equal to or less than a preset minimum consensus participation degree as a malicious node from the consensus network according to the consensus participation degree of each consensus node; therefore, malicious nodes, namely inactive nodes existing in the consensus network can be determined so as to enhance the security of the consensus network.
In the node processing method for a block chain provided in the embodiment of the present application, an execution subject may be any one of consensus nodes in a consensus network of the block chain, and the execution subject may be referred to as the present consensus node hereinafter.
Fig. 2 is a schematic flowchart of a method for processing a node of a block chain according to an embodiment of the present invention, as shown in fig. 2, the method includes:
s101, determining the consensus participation degree of each consensus node according to the consensus response messages received by the multiple successful consensus processes.
The consensus participation degree is used for representing the number of times of successful consensus participation of the consensus nodes.
In a possible implementation manner, the consensus node may perform multiple rounds of consensus, and in each round of consensus, the consensus node may receive a consensus response message sent by the consensus node in the consensus network; the consensus node can judge whether the number of the received consensus response messages meets a preset condition or not; when the preset condition is met, determining that the round of consensus process is successful; the consensus node can determine the consensus participation degree of each consensus node according to the consensus response message received by the consensus process aiming at successful consensus in multiple rounds of consensus.
It should be noted that a round of consensus process may go through three consensus phases, which sequentially include a first consensus phase, a second consensus phase, and a third consensus phase. And when the number of the consensus response messages received in the second consensus phase meets the preset condition and the number of the consensus response messages received in the third consensus phase meets the preset condition, the success of the consensus process is indicated. The first consensus phase may be a pre-preparation phase, the second consensus phase may be a preparation phase, and the third consensus phase may be a commit phase. The consensus response message received in the preamble phase may be referred to as a preamble message, and the consensus response message received in the commit phase may be referred to as a commit message.
In addition, the process of determining whether the number of the consensus response messages meets the preset condition may be determining whether the number of the consensus response messages is greater than or equal to a preset number threshold. The preset number threshold can be calculated according to the total number of the consensus nodes in the consensus network by adopting a preset rule. For example, the total number of the consensus nodes in the consensus network may be N, and the preset number threshold may be 2f +1, where f is N-1/3.
And S102, determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree from the consensus network as malicious nodes according to the consensus participation degrees of the consensus nodes.
And the preset minimum consensus participation is used for representing the minimum activity of the consensus node. The preset minimum consensus degree of participation may be set according to the longest inactivity turn or time of the consensus node that can be tolerated in practical applications, may also be set according to an empirical value, and may also be set in other manners, which is not specifically limited in the embodiment of the present application.
In some embodiments, the consensus node may record consensus participation of each consensus node in the consensus network; the consensus node can compare the participation degree of each consensus node in the consensus network with a preset minimum consensus participation degree; if the participation degree of the consensus node in the consensus network is determined to be equal to or less than the preset minimum consensus participation degree, the consensus node can determine that the consensus node is a malicious node.
Optionally, the preset minimum consensus degree may be 0, and certainly, the preset minimum consensus degree may also be 1 or 2, and may also be other values, which is not specifically limited in the embodiment of the present application.
In summary, an embodiment of the present invention provides a method for processing a node of a block chain, including: determining the consensus participation degree of each consensus node according to the consensus response message received by the multiple rounds of successful consensus processes, wherein the consensus participation degree is used for representing the number of rounds of successful consensus participation of each consensus node; and determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree as malicious nodes from the consensus network according to the consensus participation degree of each consensus node. The consensus participation degree of each consensus node in the consensus network is determined, and the inactive malicious node in the consensus network is determined based on the consensus participation degree of each consensus node, so that the node in the consensus network, which does not work normally, can be determined, and the security of the consensus network is enhanced.
Optionally, the process of determining the consensus participation degree of each consensus node according to the consensus response message received by the multiple successful consensus processes in S101 may include: and under the condition of receiving the consensus response message of the successful consensus process of the first round, updating the consensus participation of the consensus nodes according to the consensus response message received by the successful consensus process of the first-t rounds.
Wherein t is an integer and l is an integer greater than t. In addition, t may be greater than 0 and less than the consensus total round number.
It should be noted that t may be referred to as a preset turn, and the size of t may be set according to the time delay of the consensus network. The consensus process of different rounds corresponds to different consensus proposals, and the number of each consensus proposal can be different.
In the embodiment of the application, because a time delay exists in the consensus network, in the first-t round of consensus process, the consensus node cannot completely acquire the consensus node in the consensus network to send the consensus response message in a short time, and therefore, after the first-t round of consensus process after the first-t round of interval t is successful, the consensus participation of each consensus node is updated according to the consensus response message received in the first-t round of consensus process which is successful in consensus. Therefore, for the consensus process of the l-t round, the consensus node can receive the consensus response message with time delay, so that the obtained consensus response message is more accurate, and the consensus participation can be accurately updated.
Optionally, fig. 3 is a schematic flow chart of a node processing method for a block chain according to an embodiment of the present invention, and as shown in fig. 3, the process of updating consensus participation of each consensus node according to the consensus response message received in the successful consensus process of the first-t rounds may include:
s301, according to the consensus response message received in the first-t successful consensus process, the consensus participation degree of the consensus nodes is increased.
The consensus response message may include identification information of the participating consensus node.
In a possible implementation manner, in the first-t successful consensus process, the consensus node may determine, according to the received consensus response message sent by the multiple consensus nodes, that the multiple consensus nodes are participating in the consensus node; then, according to the identification information of each participating consensus node (i.e. the identification information of a plurality of consensus nodes), an increase operation can be performed on the consensus participation degree of the corresponding participating consensus node.
It should be noted that, the consensus node may add a preset value to the consensus participation degree of the consensus node, for example, the preset value may be 1, may also be 2, and may also be other values, which is not specifically limited in this embodiment of the application.
S302, reducing the consensus participation degree of the nodes which do not participate in the consensus network.
In some embodiments, the consensus degree of all consensus nodes in the consensus network may be recorded in the consensus node, and if the participating consensus nodes in all the consensus nodes are determined according to the identification information of each participating consensus node, the remaining consensus nodes are non-participating consensus nodes.
It should be noted that, the consensus node may decrease the consensus participation degree of the consensus node by a preset value, where the decreased preset value and the increased preset value may be consistent, for example, the preset value may be 1, or may also be 2, or may also be other values, which is not limited in this embodiment of the application.
For example, the consensus network may include a consensus node a, a consensus node B, a consensus node C, a consensus node D, and a consensus node E. If the consensus node a receives the consensus response messages of the consensus node B, the consensus node C, and the consensus node D, the consensus node a may add 1 to the consensus participation of the consensus node B, the consensus node C, and the consensus node D, and subtract 1 to the consensus participation of the consensus node E.
Optionally, the increasing the consensus degree of the consensus nodes according to the consensus nodes corresponding to the consensus response messages received in the first-t successful consensus processes includes:
and if the consensus participation degree of the participation consensus node is smaller than the preset maximum consensus participation degree, increasing the consensus participation degree of the participation consensus node.
In some embodiments, the consensus node determines whether the consensus participation degree of the participation consensus node is less than a preset maximum consensus participation degree; if not, not operating the consensus degree of the consensus nodes; and if the number of the nodes is less than the preset value, increasing the consensus participation of the nodes participating in the consensus. So that the maximum value of the consensus participation of the consensus nodes is the preset maximum consensus participation.
Optionally, the consensus degree of participation when each consensus node joins the consensus network is a preset maximum consensus degree of participation.
In this embodiment of the application, for a consensus node newly joining the consensus network, that is, a consensus node that has not performed a consensus process in the consensus network, the consensus node may record the consensus participation of the newly joining consensus node as a preset maximum consensus participation.
Optionally, the method further comprises:
and calculating the preset maximum consensus participation according to the longest downtime of the preset consensus node and the block outlet time of the block chain.
In a possible implementation manner, the common node may divide the longest downtime of the preset common node by the block outgoing time of the block chain, and calculate to obtain the preset maximum common participation. For example, the maximum downtime of the preset consensus node may be denoted by T, the out-of-block time of the blockchain may be denoted by T1, and the preset maximum consensus participation may be denoted as R ═ T/T1, where the preset maximum consensus participation may also be referred to as a system safety parameter.
In addition, the value range of the consensus participation degree can be [0, R ], the consensus participation degree is an index for measuring the activity of the node participating in the consensus, and the consensus participation degree is an integer. The preset maximum consensus participation can be R to stipulate the maximum downtime of the consensus nodes.
Optionally, the consensus participation of each consensus node is recorded in a consensus participation list of the consensus network.
Wherein, the consensus participation list may include: identification information of each consensus node and consensus participation of each consensus node.
In addition, when the consensus node updates the consensus participation of each consensus node, the consensus node can respectively change the consensus participation of the consensus nodes and the consensus participation of the non-consensus nodes in the consensus participation list of the consensus network.
In summary, the consensus participation of each consensus node is recorded in the consensus participation list of the consensus network, which facilitates the update of the consensus participation of each consensus node and improves the update efficiency.
Optionally, fig. 4 is a schematic flowchart of a method for processing a node of a block chain according to an embodiment of the present invention, and as shown in fig. 4, the method may further include:
s401, executing a malicious node cleaning consensus process by adopting a pre-deployed consensus node management contract.
Wherein the pre-deployed consensus node management contract may be used to provide functionality for managing a plurality of consensus nodes. For example, it may include: and the malicious node cleaning function is used for cleaning the malicious node. Of course, the pre-deployed consensus node management contract may also include other functions of managing the consensus node, which is not specifically limited in this embodiment of the present application.
In a possible implementation manner, the consensus node may count the identification information of the malicious nodes in a set and execute a clean protocol once. When a clear protocol is executed, the consensus node broadcasts a set, and the consensus node can also receive a set which contains identification information of a malicious node and is sent by each consensus node in the consensus network.
S402, if the common identification clearing process is successful, the malicious node is removed from the common identification network.
In some embodiments, if the number of sets received by the consensus node satisfies a preset condition, it may be determined that the process of cleaning the consensus is successful. The consensus node can determine the identification information of the malicious nodes shared in each set, and the malicious nodes corresponding to the identification information of the shared malicious nodes are removed from the consensus network.
When the number of the sets received by the consensus node is greater than or equal to the preset number, it may be determined that the process of cleaning the consensus is successful, which is similar to the related description in S101, where the preset number may also be 2f + 1.
It should be noted that the consensus node may execute a preset method of a pre-deployed consensus node management contract to remove the malicious node from the consensus network, where the preset method may be represented as clearevent node (a cleaning method).
In conclusion, a pre-deployed consensus node management contract is adopted to execute a malicious node cleaning consensus process; and if the common recognition cleaning process is successful, removing the malicious nodes from the common recognition network. And the malicious nodes in the consensus network are deleted, so that the security of the consensus network is better.
Optionally, fig. 5 is a schematic flowchart of a node processing method for a block chain according to an embodiment of the present invention, and as shown in fig. 5, the process of removing a malicious node from a consensus network in S402, that is, the process of proposing the malicious node by using a preset method may include:
s501, the identification of the malicious node in the consensus node identification list of the consensus network is deleted.
Wherein, the list of the common node identifiers can be represented by m _ nodeIds, and the identifier of the malicious node can be represented by nodeId. In some embodiments, the consensus node may delete the nodeId from the m _ nodeIds.
And S502, deleting the node information of the malicious node.
In the embodiment of the application, the pre-deployed consensus node management contract has preset node information, the node information of the malicious node is stored in the preset node information, and when the malicious node is deleted, the node information of the malicious node is also deleted from the preset node information.
If the preset node information can be represented as m _ nodes, the node information of the malicious node can be deleted from the m _ nodes.
S503, updating the index of each consensus node in the consensus node identification list.
It should be noted that the index of each common node may be a unique index of each common node.
In a possible implementation manner, the consensus node may call a preset function to update the index of each consensus node in the consensus node identification list. Wherein the preset function may be represented as updateIdx (). In addition, the indexes of the respective common nodes in the common node identification list are continuous, and the updated indexes of the respective common nodes should also be continuous.
For example, the list of the consensus node identifications may include: the first consensus node, the second consensus node, the third consensus node, the fourth consensus node and the fifth consensus node. The index corresponding to the first common identification node may be: 1; the index corresponding to the second consensus node may be: 2; the index corresponding to the third consensus node may be: 3; the index corresponding to the fourth consensus node may be: 4; the index corresponding to the fifth consensus node may be: 5. when the second consensus node and the fourth consensus node are malicious nodes, deleting the second consensus node and the fourth consensus node, and then the consensus network comprises: the first consensus node, the third consensus node and the fifth consensus node. The indexes of the first common node, the third common node and the fifth common node are updated, and the updated index of the first common node may be: 1, the updated index of the third consensus node may be: 2; the updated index of the fifth consensus node may be: 3.
in conclusion, the identity of the malicious node in the identity list of the consensus node of the consensus network is deleted; deleting the node information of the malicious node; and updating the index of each consensus node in the consensus node identification list. The information of the malicious nodes can be completely deleted, and each consensus node in the consensus network can be ensured to normally perform subsequent consensus processes.
Optionally, the method further comprises:
and adding the identifier of the malicious node into a preset malicious node blacklist.
In some embodiments, the malicious node blackList may be represented as a nodeId _ blackList, and the nodeId may be added to the nodeId _ blackList.
To sum up, the identifier of the malicious node is added into the preset malicious node blacklist, so that the malicious node can be conveniently controlled, and the malicious node is prevented from being added into the consensus network again.
Optionally, fig. 6 is a schematic flowchart of a method for processing a node of a block chain according to an embodiment of the present invention, and as shown in fig. 6, the method may further include:
s601, if a consensus network access request sent by a pre-access node is received, judging whether the identifier of the pre-access node exists in a malicious node blacklist.
In the embodiment of the present application, the pre-join node may be a new node or a malicious node. Therefore, in order to prevent the malicious node from being added to the consensus network again, the pre-joining node may first query the malicious node blacklist to determine whether the pre-joining node is a malicious node.
And S602, if the access request exists, returning an access rejection response to the pre-access node.
The malicious node blacklist may be a malicious node blacklist.
In a possible embodiment, if the consensus node receives a consensus network access request sent by a pre-access node, traversing identification information in a malicious node blacklist to determine whether the malicious node blacklist has an identification of the pre-access node; if the pre-adding node exists, the pre-adding node is indicated to be a malicious node, the pre-adding node is prohibited from adding into the consensus network, and an access refusing response is returned to the pre-adding node, so that the pre-adding node knows that the pre-adding node cannot add into the consensus network.
It should be noted that the malicious node may call a registerNode method of a preset contract to re-join the consensus network, and the consensus node queries the blacklist of the malicious node, so that the malicious node may be prevented from being re-joined to the consensus network.
S603, if the pre-adding node does not exist, adding the identifier of the pre-adding node to the common node identifier list.
It should be noted that the identifier of the pre-entry node may be added to the tail of the list of identifiers of the common node. The identity of the pre-add node may be represented by the nodeId, and the nodeId may be added to the end of the m _ nodeIds list.
And S604, storing the node information of the pre-adding node.
Wherein the node information of the pre-add node is added to the preset node information, i.e., to the m _ nodes.
S605, updating the index of the pre-added node in the common node identification list.
In some embodiments, a preset function may be called to the common node identification list in the common node identification list, wherein the preset function may be updateIdx ().
In summary, if a common-identification network access request sent by a pre-access node is received, whether the identifier of the pre-access node exists in a malicious node blacklist is judged; if yes, returning a response of refusing access to the pre-access node; if the pre-added node does not exist, adding the identifier of the pre-added node to a common identification node identifier list; storing node information of a pre-access node; and updating the index of the pre-added node in the common node identification list. Through the blacklist, the malicious nodes can be prevented from being added into the consensus again, so that the purpose of punishing the malicious nodes is achieved, and the security of the system is enhanced by improving the cost of the consensus nodes for malice.
In the embodiment of the application, the consensus network may also be referred to as a BFT network, and a complete mechanism is designed to discriminate malicious nodes. And the malicious node is processed by setting a response measure, so that the safety of BFT consensus is enhanced.
It should be noted that, in the above pre-deployed consensus node management contract, the corresponding program codes are as follows:
Figure BDA0002852888400000151
Figure BDA0002852888400000161
in an embodiment of the present application, a pre-deployed consensus node management contract includes: and functions of adding pre-added nodes, cleaning up malicious nodes, inquiring a blacklist of the malicious nodes and the like are provided. The pre-deployed consensus node management contract can be deployed with information such as a consensus node identification list, storage node information, a malicious node blacklist and the like.
In summary, an embodiment of the present invention provides a method for processing a node of a block chain, including: determining the consensus participation degree of each consensus node according to the consensus response message received by the multiple rounds of successful consensus processes, wherein the consensus participation degree is used for representing the number of rounds of successful consensus participation of each consensus node; and determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree as malicious nodes from the consensus network according to the consensus participation degree of each consensus node. The consensus participation degree of each consensus node in the consensus network is determined, and the inactive malicious node in the consensus network is determined based on the consensus participation degree of each consensus node, so that the node in the consensus network, which does not work normally, can be determined, and the security of the consensus network is enhanced. Moreover, the malicious nodes in the consensus network are deleted, so that the security of the consensus network is better; through the blacklist, the malicious nodes can be prevented from being added into the consensus again, so that the purpose of punishing the malicious nodes is achieved, and the security of the system is enhanced by improving the cost of the consensus nodes for malice.
Specific implementation processes and technical effects of the following descriptions of a node processing apparatus, a node device, a storage medium, and the like of a block chain for executing the node processing method of the block chain provided in the present application are referred to in the related contents of the node processing method of the block chain, and are not described in detail below.
The embodiment of the present invention further provides a node processing apparatus for a block chain, which is applied to any consensus node in a consensus network of the block chain, and includes:
the determining module is used for determining the consensus participation degree of each consensus node according to the consensus response message received by the multiple rounds of successful consensus processes, wherein the consensus participation degree is used for representing the number of rounds of successful consensus participation of each consensus node; and determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree as malicious nodes from the consensus network according to the consensus participation degree of each consensus node.
Optionally, the determining module is further configured to update the consensus participation degree of each consensus node according to the consensus response message received in the first-t successful consensus process when the consensus response message of the first-round successful consensus process is received, where t is an integer and l is an integer greater than t.
Optionally, the determining module is further configured to perform an increase operation on the consensus degree of the consensus nodes according to the consensus nodes corresponding to the consensus response message received in the first-t successful consensus process; and reducing the consensus participation degree of the nodes which do not participate in the consensus network.
Optionally, the determining module is further configured to perform an increase operation on the consensus participation degree of the consensus nodes if the consensus participation degree of the consensus nodes is smaller than a preset maximum consensus participation degree.
Optionally, the consensus degree of participation when each consensus node joins the consensus network is a preset maximum consensus degree of participation.
Optionally, the apparatus further comprises:
and the calculating module is used for calculating the preset maximum consensus participation according to the longest downtime of the preset consensus nodes and the block-out time of the block chain.
Optionally, the consensus participation of each consensus node is recorded in a consensus participation list of the consensus network.
Optionally, the apparatus further comprises:
the execution module is used for executing the cleaning consensus process of the malicious node by adopting a pre-deployed consensus node management contract;
and the removing module is used for removing the malicious node from the consensus network if the consensus cleaning process is successful.
Optionally, the removing module is further configured to delete an identifier of a malicious node in the consensus node identifier list of the consensus network; deleting the node information of the malicious node; and updating the index of each consensus node in the consensus node identification list.
Optionally, the apparatus further comprises:
and the adding module is used for adding the identification of the malicious node into a preset malicious node blacklist.
Optionally, the apparatus further comprises:
the judging module is used for judging whether the identifier of the pre-access node exists in a malicious node blacklist or not if a consensus network access request sent by the pre-access node is received;
a returning module, configured to return an access denial response to the pre-access node if the access denial response exists;
the adding module is used for adding the identifier of the pre-adding node to the common node identifier list if the identifier does not exist;
the storage module is used for storing node information of the pre-access node;
and the updating module is used for updating the index of the pre-added node in the common node identification list.
The above-mentioned apparatus is used for executing the method provided by the foregoing embodiment, and the implementation principle and technical effect are similar, which are not described herein again.
These above modules may be one or more integrated circuits configured to implement the above methods, such as: one or more Application Specific Integrated Circuits (ASICs), or one or more microprocessors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs), among others. For another example, when one of the above modules is implemented in the form of a Processing element scheduler code, the Processing element may be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. For another example, these modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).
Fig. 7 is a schematic structural diagram of a node device according to an embodiment of the present invention, where at least one consensus node may be deployed on the node device.
As shown in fig. 7, the node apparatus may include: a processor 701, a memory 702. The memory 702 is used for storing programs, and the processor 701 calls the programs stored in the memory 702 to execute the method embodiment described in any of the above-mentioned fig. 6. The specific implementation and technical effects are similar, and are not described herein again.
Optionally, the present invention also provides a program product, such as a computer readable storage medium, comprising a program which, when executed by a processor, is adapted to perform the method embodiments described in any of the above fig. 1 to 6.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
The integrated unit implemented in the form of a software functional unit may be stored in a computer readable storage medium. The software functional unit is stored in a storage medium and includes several instructions to enable a computer device (which may be a personal computer, a server, or a network device) or a processor (processor) to execute some steps of the methods according to the embodiments of the present invention. And the aforementioned storage medium includes: a U disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above is only a preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes will occur to those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (13)

1. A method for processing a node of a blockchain, comprising:
determining the consensus participation degree of each consensus node according to the consensus response message received by a plurality of successful consensus processes, wherein the consensus participation degree is used for representing the number of successful consensus participation rounds of each consensus node;
determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree as malicious nodes from the consensus network according to the consensus participation degree of each consensus node;
the determining the consensus participation degree of each consensus node according to the consensus response messages received by the multiple successful consensus processes comprises:
and under the condition that the consensus response message of the successful consensus process of the first round is received, updating the consensus participation of the consensus nodes according to the consensus response message received by the successful consensus process of the first-t rounds, wherein t is an integer and l is an integer larger than t.
2. The method according to claim 1, wherein the updating the consensus participation degree of each consensus node according to the consensus response message received in the l-t successful consensus process includes:
according to the consensus response message received by the first-t successful consensus process, corresponding to the participation consensus node, increasing the consensus participation of the participation consensus node;
and reducing the consensus participation degree of the nodes which do not participate in the consensus network.
3. The method according to claim 2, wherein the increasing the consensus degree of the consensus nodes according to the consensus response message received in the first-t successful consensus process includes:
and if the consensus participation degree of the participation consensus node is smaller than the preset maximum consensus participation degree, increasing the consensus participation degree of the participation consensus node.
4. The method according to claim 3, wherein the consensus participation of each of the consensus nodes in joining the consensus network is the predetermined maximum consensus participation.
5. The method of claim 3, further comprising:
and calculating the preset maximum consensus participation according to the longest downtime of the preset consensus node and the block-out time of the block chain.
6. The method of claim 1, wherein the consensus participation of each consensus node is recorded in a consensus participation list of the consensus network.
7. The method according to any one of claims 1-6, further comprising:
executing a cleaning consensus process of the malicious node by adopting a prearranged consensus node management contract;
and if the common recognition cleaning process is successful, removing the malicious node from the common recognition network.
8. The method of claim 7, wherein the removing the malicious node from the consensus network comprises:
deleting the identification of the malicious node in a consensus node identification list of the consensus network;
deleting the node information of the malicious node;
and updating the index of each consensus node in the consensus node identification list.
9. The method of claim 8, further comprising:
and adding the identifier of the malicious node into a preset malicious node blacklist.
10. The method of claim 9, further comprising:
if a consensus network access request sent by a pre-access node is received, judging whether the identifier of the pre-access node exists in the malicious node blacklist or not;
if yes, returning an access refusing response to the pre-access node;
if the pre-adding node does not exist, adding the identifier of the pre-adding node to the common identification node identifier list;
storing the node information of the pre-access node;
and updating the index of the pre-added node in the consensus node identification list.
11. An apparatus for processing a node of a block chain, comprising:
the determining module is used for determining the consensus participation degree of each consensus node according to the consensus response message received by the multiple rounds of successful consensus processes, wherein the consensus participation degree is used for representing the number of rounds of successful consensus participation of each consensus node; determining the consensus nodes with the consensus participation degree equal to or less than the preset minimum consensus participation degree as malicious nodes from the consensus network according to the consensus participation degree of each consensus node;
the determining module is further configured to update the consensus participation degrees of the consensus nodes according to the consensus response message received in the successful consensus process in the first round-t under the condition that the consensus response message of the successful consensus process in the first round is received, where t is an integer and l is an integer greater than t.
12. A node apparatus, comprising: memory storing a computer program executable by the processor, and a processor implementing the method of processing nodes of a blockchain according to any of the preceding claims 1 to 10 when executing the computer program.
13. A storage medium having stored thereon a computer program which, when read and executed, implements the method of processing a node of a blockchain according to any one of claims 1 to 10.
CN202011534095.7A 2020-12-22 2020-12-22 Node processing method and device for block chain, node equipment and storage medium Active CN112671761B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011534095.7A CN112671761B (en) 2020-12-22 2020-12-22 Node processing method and device for block chain, node equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011534095.7A CN112671761B (en) 2020-12-22 2020-12-22 Node processing method and device for block chain, node equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112671761A CN112671761A (en) 2021-04-16
CN112671761B true CN112671761B (en) 2022-08-05

Family

ID=75407918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011534095.7A Active CN112671761B (en) 2020-12-22 2020-12-22 Node processing method and device for block chain, node equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112671761B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259326B (en) * 2021-04-21 2023-02-17 广东电网有限责任公司 Consensus optimization method and device based on alliance chain network and computer equipment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789095A (en) * 2017-03-30 2017-05-31 腾讯科技(深圳)有限公司 Distributed system and message treatment method
CN109819022A (en) * 2019-01-11 2019-05-28 华侨大学 A kind of block chain common recognition method based on credit appraisal
CN110673914A (en) * 2019-09-24 2020-01-10 支付宝(杭州)信息技术有限公司 View switching method for block chain consensus and block chain system
WO2020032824A1 (en) * 2018-08-08 2020-02-13 Максим Михайлович МИХАЙЛЕНКО Method for consensus decision making in a distributed computer system
CN111049696A (en) * 2020-03-16 2020-04-21 支付宝(杭州)信息技术有限公司 Method, node and computing device for node management of blockchain system
CN111414420A (en) * 2020-03-17 2020-07-14 重庆邮电大学 Improved PBFT block chain consensus method
CN111431931A (en) * 2020-04-12 2020-07-17 中信银行股份有限公司 Node consensus method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423962A (en) * 2017-07-11 2017-12-01 成都励睿德企业管理有限公司 Data block chain mandate based on rewards and punishments participates in the Byzantine failure tolerance method and its rewards and punishments method of common recognition
JP6921266B2 (en) * 2018-12-21 2021-08-18 アドバンスド ニュー テクノロジーズ カンパニー リミテッド Verifying the integrity of the data stored on the consortium blockchain using the public sidechain
CN111061769B (en) * 2019-12-24 2021-09-10 腾讯科技(深圳)有限公司 Consensus method of block chain system and related equipment

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789095A (en) * 2017-03-30 2017-05-31 腾讯科技(深圳)有限公司 Distributed system and message treatment method
CN110430064A (en) * 2017-03-30 2019-11-08 腾讯科技(深圳)有限公司 Block catenary system, message treatment method and storage medium
CN110445619A (en) * 2017-03-30 2019-11-12 腾讯科技(深圳)有限公司 Block catenary system, message treatment method and storage medium
WO2020032824A1 (en) * 2018-08-08 2020-02-13 Максим Михайлович МИХАЙЛЕНКО Method for consensus decision making in a distributed computer system
CN109819022A (en) * 2019-01-11 2019-05-28 华侨大学 A kind of block chain common recognition method based on credit appraisal
CN110673914A (en) * 2019-09-24 2020-01-10 支付宝(杭州)信息技术有限公司 View switching method for block chain consensus and block chain system
CN111049696A (en) * 2020-03-16 2020-04-21 支付宝(杭州)信息技术有限公司 Method, node and computing device for node management of blockchain system
CN111414420A (en) * 2020-03-17 2020-07-14 重庆邮电大学 Improved PBFT block chain consensus method
CN111431931A (en) * 2020-04-12 2020-07-17 中信银行股份有限公司 Node consensus method and device

Also Published As

Publication number Publication date
CN112671761A (en) 2021-04-16

Similar Documents

Publication Publication Date Title
CN109426949B (en) Cross-chain transaction method and device
CN107332876B (en) Method and device for synchronizing block chain state
CN109246211B (en) Resource uploading and resource requesting method in block chain
KR20210057149A (en) Smart contract-based data processing method, device and storage medium
CN109656873B (en) Block chain-based data archiving method and device and terminal equipment
Hassanzadeh-Nazarabadi et al. Lightchain: A dht-based blockchain for resource constrained environments
CN111400112B (en) Writing method and device of storage system of distributed cluster and readable storage medium
CN110417502B (en) Block chain link point clock consensus method and device
CN113395363B (en) Data processing method, device and equipment based on block chain and storage medium
CN112565389B (en) Block chain based message broadcasting method and device, electronic equipment and storage medium
CN110458709B (en) Resource transfer information transmission method and device, storage medium and electronic device
CN112671908B (en) Network management method and device, electronic equipment and readable storage medium
CN112671761B (en) Node processing method and device for block chain, node equipment and storage medium
CN110175178B (en) Data processing method, node equipment and system
CN112202564B (en) Transaction transfer method and device, electronic equipment and readable storage medium
CN109617994A (en) A kind of method and system positioning block chain interior joint position
CN111405074B (en) Data center network fault diagnosis and automatic configuration method based on hybrid chain
CN114125812B (en) Data synchronization method, device, server and storage medium
CN110493323B (en) Block chain-based fairness file distribution method, system and storage medium
CN110557416A (en) multi-node collaborative blocking method and system
Li et al. A survey of state-of-the-art sharding blockchains: Models, components, and attack surfaces
CN114416490A (en) Monitoring alarm method and device based on block chain, electronic equipment and storage medium
CN112910663B (en) Method, device, equipment and storage medium for message broadcasting and terminal registration
CN112037055B (en) Transaction processing method, device, electronic equipment and readable storage medium
CN116846888A (en) Consensus processing method, device, equipment and storage medium of block chain network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant