CN111865918B - Optimized and improved block chain PBFT consensus method - Google Patents

Optimized and improved block chain PBFT consensus method Download PDF

Info

Publication number
CN111865918B
CN111865918B CN202010548757.XA CN202010548757A CN111865918B CN 111865918 B CN111865918 B CN 111865918B CN 202010548757 A CN202010548757 A CN 202010548757A CN 111865918 B CN111865918 B CN 111865918B
Authority
CN
China
Prior art keywords
node
message
group
public key
nodes
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
CN202010548757.XA
Other languages
Chinese (zh)
Other versions
CN111865918A (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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202010548757.XA priority Critical patent/CN111865918B/en
Publication of CN111865918A publication Critical patent/CN111865918A/en
Application granted granted Critical
Publication of CN111865918B publication Critical patent/CN111865918B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

The invention provides an optimized and improved block chain PBFT consensus method, which comprises the following steps: s1: sending a request message to a master node of a blockchain network; s2: forwarding the request message to a slave node of the blockchain network; s3: the slave node verifies the request message; s4: when the master node receives response messages sent by 2f slave nodes, the master node and all the slave nodes form a group signature group, and the master node serves as a group administrator; s5: selecting a slave node as a consensus initiating node, processing the request message to generate a group signature message by signature, and broadcasting a confirmation message; s6: other nodes verify the correctness of the group signature message; s7: and if the consensus initiating node receives the message that the verification fed back by the 2f nodes passes, the consensus is achieved, and all the nodes reply the request of the client. The invention provides an optimized and improved block chain PBFT consensus method, which solves the problem that the communication complexity of the current PBFT algorithm is too high.

Description

Optimized and improved block chain PBFT consensus method
Technical Field
The invention relates to the technical field of block chains, in particular to an optimized and improved block chain PBFT consensus method.
Background
In the field of block chains, consensus algorithms play an important role, and can enable highly dispersed nodes to efficiently achieve consensus on the validity of block data in a decentralized system, and commonly used consensus algorithms include PoW (Proof of Work), PoS (Proof of interest), PBFT (Practical Byzantine Fault Tolerance), and the like.
PBFT is taken as a common block chain consensus algorithm, is originally proposed by an operating system design and realization international conference of Miguel Castro and Barbara Liskov in 1999, and solves the problem of the original Byzantine fault-tolerant algorithm effect in an asynchronous distribution systemThe problem of low rate is that the communication complexity of the algorithm is reduced from exponential level to polynomial level o (n) 2 ). The PBFT algorithm is a state machine copy replication algorithm, which guarantees both the security and the activity of the system without a malicious node exceeding the total number of nodes 1/3, so that the byzantine fault-tolerant algorithm can be used in real applications. However, from the practical application effect, the algorithm has the disadvantage of high communication complexity, and cannot meet the practical application requirements of mass data access and large node change, such as the internet of things.
In the prior art, most of improvement schemes for the PBFT algorithm do not reduce communication complexity, for example, an improved PBFT consensus method based on an ISM, with a publication number of CN111049895A, constructs an ISM through a transaction relationship between block chain nodes to layer the block chain consensus nodes, and then blocks the layered block chain consensus nodes by a search method, thereby achieving layered block consensus of a multi-center sub-node cluster, improving communication and consensus efficiency, but not reducing communication complexity.
Disclosure of Invention
The invention provides an optimized and improved block chain PBFT consensus method for overcoming the technical defect of overhigh communication complexity of the current PBFT algorithm.
In order to solve the technical problems, the technical scheme of the invention is as follows:
an optimized and improved block chain PBFT consensus method comprises the following steps:
s1: a client sends a request message to a main node of a block chain network;
s2: the master node forwarding the request message to a slave node of the blockchain network;
s3: the slave node verifies the request message; if the verification is passed, a response message is sent to the main node; if the verification is not passed, the consensus is ended;
s4: when the master node receives response messages sent by 2f slave nodes, the master node and all the slave nodes form a group signature group, and the master node serves as a group administrator; wherein f is the number of error nodes;
s5: selecting one slave node from all slave nodes as a consensus initiating node, processing and signing the request message to generate a group signature message, and broadcasting a confirmation message;
s6: the other nodes verify the correctness of the group signature message by a signature verification method, and if the group signature message passes the verification, the other nodes feed back the message passing the verification to the consensus initiating node; if the verification is not passed, the consensus is ended;
s7: if the consensus initiating node receives the message which is fed back by the 2f nodes and passes the verification, the consensus is achieved, and all the nodes reply the request of the client; otherwise, the consensus is not achieved and the consensus is over.
Preferably, in step S1, the method further includes performing a Schnorr signature on the request message M, and specifically includes the following steps:
s1.1: randomly selecting parameters p, q, b, g and x for nodes signing the request message M;
wherein q is a large prime number, and q | p-1, p is ≧ 2 1024 Q is an integer of not less than 2 160 An integer of (d); b, g, x are elements in the finite field 0 to q-1, and g q =1;
S1.2: sequentially calculating:
r=g b mod p
=H(r||M)
s=b+xemod q
wherein r, e and s are parameters of Schnorr signature algorithm, and | is a cascade symbol of the character string; h is a safe anti-collision SHA-256 hash function;
s1.3: the request message M gets a signature (e, s, p, g).
Preferably, the format of the Request message M is < Request, o, t, c, M >; wherein, the Request represents that the message is a message of a Request phase; o denotes the operation specifically performed; t is a timestamp when the client initiates the request message, and is used for ensuring the ordering of the request message; c is the identity of the client; m represents the signed message content.
Preferably, the format of the Response message is < Response, t, ID >; wherein, Response represents that the message is a message of a Response phase; the ID indicates the number of the node.
Preferably, in step S4, the forming the group signature group specifically includes the following steps:
s4.1: the master node randomly being a slave node ID k Selecting a parameter p k ,q k ,g k As signature material, and p k ,q k ,g k Send to the ID k
Wherein k is more than or equal to 1 and less than or equal to n, and n is the number of nodes of the block chain network; ID k The number of the kth node; p is a radical of k ,q k ,g k Parameters p, q, g of the kth node are respectively;
s4.2: slave node ID k Receiving a parameter p k ,q k ,g k Then, a random number x is selected k Generating a private key and passing the formula
Figure BDA0002541721420000031
Calculating to obtain a public key y k (ii) a Wherein x is k A parameter x for the kth node;
s4.3: slave node ID k Sending public key y to host node k
S4.4: the main node receives the public keys of n nodes to form a group member public key list and publishes the public key list;
s4.5: the master node obtains a group public key c through calculation and publishes a group parameter set (y) m C, H), the formula for calculating the group public key c is:
Figure BDA0002541721420000032
wherein, y m Is the public key of the master node.
Preferably, in step S5, the master node selects a slave node with the highest response speed from all slave nodes as a consensus initiator node, and processes and signs the request message to generate a group signature message.
Preferably, the format of the acknowledgement message is < Commit, v, n, δ >; wherein Commit represents that the message is a confirmation phase message; v is the view number, n is the total number of nodes, and δ is the group signature message.
Preferably, in step S6, the verifying the signature specifically includes the following steps:
s6.1: input (e, s, p, g) and group parameter set (y) m ,c,H);
S6.2: by calculating c ≡ y k mod p, get node ID k Public key y of k
S6.3: checking the public key y k If the public key is in the group member public key list, executing the step S6.4;
s6.4: computing
Figure BDA0002541721420000033
Wherein r' is a signature verification parameter;
s6.5: if e ═ H (r' | | M) is true, the verification passes.
Preferably, when a node joins the blockchain network, the method specifically includes the following steps:
s8.1: randomly selecting parameter p by main node k+1 ,q k+1 And g k+1 And the parameter p is k+1 ,q k+1 And g k+1 Sending to the newly joining node ID k+1
S8.2: new joining node ID k+1 Receiving a parameter p k+1 ,q k+1 And g k+1 Then, a random number x is selected k+1 Generating a private key and passing the formula
Figure BDA0002541721420000034
Calculating to obtain a public key y k+1
S8.3: new joining node ID k+1 Sending public key y to host node k+1
S8.4: the master node will public key y k+1 Adding the public key list of the group members so as to update the public key list of the group members and publish the public key list;
s8.5: the main node obtains a new group public key c after the node is added through calculation new And publishes a new group parameter set (y) m ,c new H), calculating c new The formula of (1) is:
Figure BDA0002541721420000041
preferably, when a node exits the network, the method specifically includes the following steps:
s9.1: slave node ID that wants to exit blockchain network without participating in consensus anymore k Sending an exit application to the host node;
s9.2: after receiving the quit application, the host node sends the ID k Public key y of k Is updated to y k ', let y k ′≡y k (mod p k ) The method is not established;
s9.3: the master node obtains a new group public key c' after the node quits through calculation and publishes a new group parameter group (y) m C ', H), the formula for calculating c' is:
Figure BDA0002541721420000042
s9.4: the master node will public key y k ' delete from the group member public key list, update the group member public key list and publish.
Compared with the prior art, the technical scheme of the invention has the beneficial effects that:
the invention provides an optimized and improved block chain PBFT consensus method, which is characterized in that all consensus nodes form a signature group, one consensus node executes consensus operation and sends the execution result to other nodes for verification, so that the communication complexity is reduced, and the communication complexity of an algorithm is O (n) 2 ) To o (n).
Drawings
FIG. 1 is a flow chart of the steps for carrying out the present invention;
FIG. 2 is a flowchart of the steps of a node joining a blockchain network according to the present invention;
fig. 3 is a flowchart illustrating the steps of the present invention for a node to exit a blockchain network.
Detailed Description
The drawings are for illustrative purposes only and are not to be construed as limiting the patent;
for the purpose of better illustrating the embodiments, certain features of the drawings may be omitted, enlarged or reduced, and do not represent the size of an actual product;
it will be understood by those skilled in the art that certain well-known structures in the drawings and descriptions thereof may be omitted.
The technical solution of the present invention is further described below with reference to the accompanying drawings and examples.
Example 1
As shown in fig. 1, an optimized and improved block chain PBFT consensus method includes the following steps:
s1: a client sends a request message to a main node of a block chain network;
s2: the master node forwarding the request message to a slave node of the blockchain network;
s3: the slave node verifies the request message; if the verification is passed, a response message is sent to the main node; if the verification is not passed, the consensus is ended;
s4: when the master node receives response messages sent by 2f slave nodes, the master node and all the slave nodes form a group signature group, and the master node serves as a group administrator; wherein f is the number of error nodes;
s5: selecting one slave node from all slave nodes as a consensus initiating node, processing and signing the request message to generate a group signature message, and broadcasting a confirmation message;
s6: the other nodes verify the correctness of the group signature message by a signature verification method, and if the group signature message passes the verification, the other nodes feed back the message passing the verification to the consensus initiating node; if the verification is not passed, the consensus is ended;
s7: if the consensus initiating node receives the message that the verification fed back by the 2f nodes passes, the consensus is achieved, and all the nodes reply the request of the client; otherwise, the consensus is not achieved and is ended.
More specifically, in step S1, the method further includes performing a Schnorr signature on the request message M, and specifically includes the following steps:
s1.1: randomly selecting parameters p, q, b, g and x for nodes signing the request message M;
wherein q is a large prime number, and q | p-1, p is ≥ 2 1024 Q is an integer of not less than 2 160 An integer of (d); b, g, x are elements in the finite field 0 to q-1, and g q =1mod p;
S1.2: sequentially calculating:
r=g b mod p
=H(r||M)
s=b+xemod q
wherein r, e and s are parameters of Schnorr signature algorithm, and | is a cascade symbol of the character string; SHA-256 hash function for safe collision resistance;
s1.3: the request message M gets a signature (e, s, p, g).
More specifically, the format of the Request message M is < Request, o, t, c, M >; wherein, the Request represents that the message is a message of a Request phase; o denotes the operation specifically performed; t is a timestamp when the client initiates the request message, and is used for ensuring the ordering of the request message; c is the identity of the client; m represents the signed message content.
More specifically, the format of the Response message is < Response, t, ID >; wherein, Response represents that the message is a message of a Response phase; the ID indicates the number of the node.
More specifically, in step S4, the step of forming the group signature group specifically includes the following steps:
s4.1: the master node randomly being a slave node ID k Selecting a parameter p k ,q k ,g k As signature material, and p k ,q k ,g k Send to the ID k
Wherein k is more than or equal to 1 and less than or equal to n, and n is the number of nodes of the block chain network; ID k The number of the kth node; p is a radical of k ,q k ,g k Parameters p, q, g of the kth node are respectively;
s4.2: slave node ID k Receiving a parameter p k ,q k ,g k Then, a random number x is selected k Generating a private key and passing the formula
Figure BDA0002541721420000061
Calculating to obtain a public key y k (ii) a Wherein x is k A parameter x for the kth node;
s4.3: slave node ID k Sending public key y to host node k
S4.4: the main node receives the public keys of n nodes to form a group member public key list and publishes the public key list;
s4.5: the master node obtains a group public key c through calculation and publishes a group parameter set (y) m C, H), the formula for calculating the group public key c is:
Figure BDA0002541721420000062
wherein, y m Is the public key of the master node.
In the implementation process, the equation set of the same equation is based on the Chinese remainder theorem
Figure BDA0002541721420000063
The solution of (a) is:
Figure BDA0002541721420000064
wherein P is all of P k The product of (a):
Figure BDA0002541721420000065
G k is a homodyne equation
Figure BDA0002541721420000066
The smallest non-negative integer solution of (c).
More specifically, in step S5, the master node selects the slave node with the highest response speed from all the slave nodes as the consensus initiator node, and processes and signs the request message to generate the group signature message.
More specifically, the format of the acknowledgement message is < Commit, v, n, δ >; wherein Commit represents that the message is a confirmation phase message; v is the view number, n is the total number of nodes, and δ is the group signature message.
More specifically, in step S6, verifying the signature specifically includes the following steps:
s6.1: input (e, s, p, g) and group parameter set (y) m ,c,H);
S6.2: by calculating c ≡ y k mod p, get node ID k Public key y of k
S6.3: checking the public key y k If the public key is in the group member public key list, executing the step S6.4;
s6.4: computing
Figure BDA0002541721420000071
Wherein r' is a signature verification parameter;
s6.5: if e ═ H (r' | | M) is true, the verification passes.
Example 2
More specifically, as shown in fig. 2, when a node joins the blockchain network, the method specifically includes the following steps:
s8.1: randomly selecting parameter p by main node k+1 ,q k+1 And g k+1 And the parameter p is k+1 ,q k+1 And g k+1 Sending to the newly joining node ID k+1
S8.2: new joining node ID k+1 Receiving a parameter p k+1 ,q k+1 And g k+1 Then, a random number x is selected k+1 Generating a private key and passing the formula
Figure BDA0002541721420000072
Calculating to obtain a public key y k+1
S8.3: new joining node ID k+1 Sending public key y to host node k+1
S8.4: the master node will public key y k+1 Adding the public key list of the group members so as to update and publish the public key list of the group members;
s8.5: the main node obtains a new group public key c after the node is added through calculation new And publishes a new group parameter set (y) m ,c new H), calculating c new The formula of (1) is:
Figure BDA0002541721420000073
in the implementation process, the equation system of the same residual formula is implemented according to the Chinese remainder theorem
Figure BDA0002541721420000074
The solution of (a) is:
Figure BDA0002541721420000075
wherein P is all of P i The product of (a):
Figure BDA0002541721420000076
G i is a homological equation
Figure BDA0002541721420000081
The smallest non-negative integer solution of (c). A Schnorr group signature mode is adopted, all the common identification nodes form a signature group, when the nodes join the network, only one group signature needs to be updated, the original nodes are not affected, the efficient joining of new nodes is realized, and the problem that the nodes dynamically join and quit the network in the original algorithm are solved.
Example 3
More specifically, as shown in fig. 3, when a node exits the network, the method specifically includes the following steps:
s9.1: slave node ID that wants to exit blockchain network without participating in consensus anymore k Sending an exit application to the host node;
s9.2: after receiving the quit application, the host node sends the ID k Public key y of k Is updated to y k ', let y k ′≡y k (mod p k ) Is not established;
s9.3: the master node obtains a new group public key c' after the node quits through calculation and publishes a new group parameter group (y) m C ', H), the formula for calculating c' is:
Figure BDA0002541721420000082
s9.4: the master node will public key y k ' delete from the group member public key list, update the group member public key list and publish.
In the implementation process, the system of the equation of the same equation
Figure BDA0002541721420000083
The solution of (a) is:
Figure BDA0002541721420000084
wherein the content of the first and second substances,
Figure BDA0002541721420000085
P k is to satisfy the equation of the same residue P k ′P k =1(p k ) Positive integer solution of (2). All the common nodes are combined into a signature group by adopting a Schnorr group signature mode, when the nodes quit the network, only the group signature needs to be updated, the original nodes are not influenced, the high-efficiency quitting of new nodes is realized, and the problem that the nodes dynamically join and quit the network in the original algorithm are difficult is solved
It should be understood that the above-described embodiments of the present invention are merely examples for clearly illustrating the present invention and are not intended to limit the embodiments of the present invention. Other variations and modifications will be apparent to persons skilled in the art in light of the above description. And are neither required nor exhaustive of all embodiments. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the claims of the present invention.

Claims (9)

1. An optimized and improved block chain PBFT consensus method is characterized by comprising the following steps of:
s1: a client sends a request message to a main node of a block chain network;
s2: the master node forwards the request message to a slave node of the blockchain network;
s3: the slave node verifies the request message; if the verification is passed, a response message is sent to the main node; if the verification is not passed, the consensus is ended;
s4: when the master node receives response messages sent by 2f slave nodes, the master node and all the slave nodes form a group signature group, and the master node serves as a group administrator; wherein f is the number of error nodes;
s5: selecting one slave node from all slave nodes as a consensus initiating node, processing and signing the request message to generate a group signature message, and broadcasting a confirmation message;
s6: the other nodes verify the correctness of the group signature message by a signature verification method, and if the group signature message passes the verification, the other nodes feed back the message passing the verification to the consensus initiating node; if the verification is not passed, the consensus is ended;
s7: if the consensus initiating node receives the message that the verification fed back by the 2f nodes passes, the consensus is achieved, and all the nodes reply the request of the client; otherwise, the consensus is not achieved and is finished;
in step S1, the method further includes performing a Schnorr signature on the request message M, and specifically includes the following steps:
s1.1: randomly selecting parameters p, q, b, g and x for nodes signing the request message M;
wherein p and q are both large prime numbers, and q | p-1, p is ≥ 2 1024 Q is an integer of not less than 2 160 An integer of (a); b, g, x are elements in a finite field of 0 to q-1, and g q =1 mod p;
S1.2: sequentially calculating:
r=g b mod p
e=H(r||M)
s=b+xe mod q
wherein r, e and s are parameters of Schnorr signature algorithm, and | is a cascade symbol of the character string; h is a safety anti-collision SHA-256 hash function;
s1.3: the request message M gets a signature (e, s, p, g).
2. The method of claim 1, wherein the Request message M is in a format of < Request, o, t, c, M >; wherein, the Request represents that the message is a message of a Request phase; o denotes the operation specifically performed; t is a time stamp when the client initiates the request message, and is used for ensuring the ordering of the request message; c is the identity of the client; m represents the signed message content.
3. The method of claim 1, wherein the format of the Response message is < Response, t, ID >; wherein, Response represents that the message is a message of a Response phase; the ID indicates the number of the node.
4. The method of claim 1, wherein the step S4 of forming the group signature group comprises the steps of:
s4.1: the master node randomly being a slave node ID k Selecting a parameter p k ,q k ,g k As signature material, and p k ,q k ,g k Send to the ID k
Wherein k is more than or equal to 1 and less than or equal to n, and n is the number of nodes of the block chain network; ID k The number of the kth node; p is a radical of k ,q k ,g k Parameters p, q, g of the kth node are respectively;
s4.2: slave node ID k Receiving a parameter p k ,q k ,g k Then, a random number x is selected k Generating a private key and passing the formula
Figure FDA0003773334860000021
Calculating to obtain a public key y k (ii) a Wherein x is k A parameter x for the kth node;
s4.3: slave node ID k Sending public key y to host node k
S4.4: the main node receives the public keys of n nodes to form a group member public key list and publishes the public key list;
s4.5: the master node obtains a group public key c through calculation and publishes a group parameter set (y) m C, H), the formula for calculating the group public key c is:
Figure FDA0003773334860000022
wherein, y m Is the public key of the master node.
5. The optimized and improved block chain PBFT consensus method according to claim 4, wherein in step S5, the master node selects a slave node with the highest response speed from all slave nodes as a consensus initiating node, and processes the request message to generate a group signature message.
6. An optimized improved block chain PBFT consensus method according to claim 4 or 5, wherein the format of the acknowledgement message is < Commit, v, n, δ >; wherein Commit represents that the message is a confirmation phase message; v is the view number, n is the total number of nodes, and δ is the group signature message.
7. The method for optimizing improved block chain PBFT consensus according to claim 4, wherein in step S6, the verifying the signature specifically comprises the following steps:
s6.1: input (e, s, p, g) and group parameter set (y) m ,c,H);
S6.2: by calculating c ≡ y k mod p, get node ID k Public key y of k
S6.3: checking the public key y k If the public key is in the group member public key list, executing the step S6.4;
s6.4: computing
Figure FDA0003773334860000031
Wherein r' is a signature verification parameter;
s6.5: if e ═ H (r' | | M) is true, the verification passes.
8. The method of claim 4, wherein when a node joins the blockchain network, the method specifically comprises the following steps:
s8.1: randomly selecting parameter p by main node k+1 ,q k+1 And g k+1 And the parameter p is k+1 ,q k+1 And g k+1 Sending to the newly joining node ID k+1
S8.2: new joining node ID k+1 Receiving a parameter p k+1 ,q k+1 And g k+1 Then, a random number x is selected k+1 Generating a private key and passing the formula
Figure FDA0003773334860000032
Calculating to obtain a public key y k+1
S8.3: new joining node ID k+1 Sending public key y to host node k+1
S8.4: the master node will public key y k+1 Adding the public key list of the group members so as to update the public key list of the group members and publish the public key list;
s8.5: the main node obtains a new group public key c after the node is added through calculation new And publishes a new group parameter set (y) m ,c new H), calculating c new The formula of (1) is:
Figure FDA0003773334860000033
9. the method of claim 4, wherein when a node exits the network, the method comprises the following steps:
s9.1: slave node ID that wants to exit blockchain network without participating in consensus anymore k Sending an exit application to the host node;
S9.2:after receiving the quit application, the host node sends the ID k Public key y of k Updated to y' k Prepared of y' k ≡y k (mod p k ) Is not established;
s9.3: the master node obtains a new group public key c' after the node quits through calculation and publishes a new group parameter group (y) m C ', H), the formula for calculating c' is:
Figure FDA0003773334860000034
s9.4: master node is public key y' k Deleted from the group member public key list, thereby updating the group member public key list and publishing it.
CN202010548757.XA 2020-06-16 2020-06-16 Optimized and improved block chain PBFT consensus method Active CN111865918B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010548757.XA CN111865918B (en) 2020-06-16 2020-06-16 Optimized and improved block chain PBFT consensus method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010548757.XA CN111865918B (en) 2020-06-16 2020-06-16 Optimized and improved block chain PBFT consensus method

Publications (2)

Publication Number Publication Date
CN111865918A CN111865918A (en) 2020-10-30
CN111865918B true CN111865918B (en) 2022-09-27

Family

ID=72987671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010548757.XA Active CN111865918B (en) 2020-06-16 2020-06-16 Optimized and improved block chain PBFT consensus method

Country Status (1)

Country Link
CN (1) CN111865918B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422526B (en) * 2020-11-03 2023-02-03 山西特信环宇信息技术有限公司 Cone block chain consensus system, method and network
CN112507019A (en) * 2020-11-20 2021-03-16 南京航空航天大学 PBFT consensus system and method based on intelligent contracts
CN112600678B (en) * 2021-03-02 2021-05-07 腾讯科技(深圳)有限公司 Data processing method, device, equipment and storage medium
CN112953733B (en) * 2021-03-16 2022-08-26 昆明理工大学 Data management block chain communication resource integration consensus method
CN113114495B (en) * 2021-04-03 2021-12-28 湖南大学 Method for fairly electing main node based on block chain
CN114422513B (en) * 2022-01-19 2024-02-27 贵州数创控股(集团)有限公司 Block chain consensus method based on Raft-PBFT
CN114928449B (en) * 2022-02-23 2023-09-01 上海交通大学 Block chain consensus method for solving and verifying optimization problem of support energy system
CN114978684B (en) * 2022-05-20 2023-07-04 江南大学 PBFT consensus method based on improved condensation hierarchical clustering
CN116633699B (en) * 2023-07-25 2023-10-13 北京银联金卡科技有限公司 Product anti-counterfeiting traceability information trusted processing method and system based on block chain

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848056A (en) * 2018-05-03 2018-11-20 南京理工大学 Block chain common recognition method based on verifying
CN110941859A (en) * 2018-09-21 2020-03-31 上海派链信息科技有限公司 Method, apparatus, computer-readable storage medium, and computer program product for block chain formation consensus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848056A (en) * 2018-05-03 2018-11-20 南京理工大学 Block chain common recognition method based on verifying
CN110941859A (en) * 2018-09-21 2020-03-31 上海派链信息科技有限公司 Method, apparatus, computer-readable storage medium, and computer program product for block chain formation consensus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《T-PBFT: An EigenTrust-based practical Byzantine fault tolerance consensus algorithm》;Gao Sheng等;《 China Communications》;20191231;第16卷(第12期);正文1-13页 *
《基于区块链的人员信息管理系统设计》;林凡等;《通信技术》;20190110;第52卷(第1期);正文1-5页 *

Also Published As

Publication number Publication date
CN111865918A (en) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111865918B (en) Optimized and improved block chain PBFT consensus method
CN110061850B (en) Collision calculation method of chameleon hash function and editable block chain construction method
Dolev et al. Authenticated algorithms for Byzantine agreement
Muratov et al. YAC: BFT consensus algorithm for blockchain
US20200162264A1 (en) Network for improved verification speed with tamper resistant data
EP3831012B1 (en) Bidirectional blockchain
CN111786812B (en) Node management method, device, computer equipment and storage medium
CN110851537A (en) Consensus method based on block chain fragmentation technology
CN110149379B (en) Multi-primitive-chain throughput expansion method based on layer logic
CN113098691B (en) Digital signature method, signature information verification method, related device and electronic equipment
Jalalzai et al. Window based BFT blockchain consensus
CN110945831A (en) Generation of anti-Sybil attack identities
CN112003820A (en) Block chain consensus optimization method based on ring signature and aggregated signature
Liu et al. Cross-shard transaction processing in sharding blockchains
CN111582843A (en) Block chain privacy transaction method based on aggregated signature
CN111046411B (en) Power grid data safe storage method and system
CN113407976B (en) Digital signature method, signature information verification method, related device and electronic equipment
CN113807851A (en) Block chain expandability realization method and system based on fragmentation
CN113254526A (en) Block chain consensus method, device and system
Shuang et al. A new identity based blind signature scheme and its application
Wang et al. Analysis and Design of Identity Authentication for IoT Devices in the Blockchain Using Hashing and Digital Signature Algorithms
Camaioni et al. Oracular Byzantine Reliable Broadcast
CN113129001A (en) Block chain cross-chain and asset hosting oriented quantum attack resistant threshold signature scheme
CN117499039B (en) Blockchain signature method based on elliptic curve public key cryptographic algorithm
Harn et al. Contract signature in e-commerce

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