CN109379343B - Heterogeneous consensus method of block chains and terminal - Google Patents

Heterogeneous consensus method of block chains and terminal Download PDF

Info

Publication number
CN109379343B
CN109379343B CN201811128351.5A CN201811128351A CN109379343B CN 109379343 B CN109379343 B CN 109379343B CN 201811128351 A CN201811128351 A CN 201811128351A CN 109379343 B CN109379343 B CN 109379343B
Authority
CN
China
Prior art keywords
node
block
fragment
decision
consensus
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
CN201811128351.5A
Other languages
Chinese (zh)
Other versions
CN109379343A (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.)
Fujian Fulian Technology Co ltd
Original Assignee
Fujian Fulian Technology 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 Fujian Fulian Technology Co ltd filed Critical Fujian Fulian Technology Co ltd
Priority to CN202110141137.9A priority Critical patent/CN112968883B/en
Priority to CN201811128351.5A priority patent/CN109379343B/en
Priority to CN202110141138.3A priority patent/CN112968884B/en
Publication of CN109379343A publication Critical patent/CN109379343A/en
Application granted granted Critical
Publication of CN109379343B publication Critical patent/CN109379343B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention provides a heterogeneous consensus method and a terminal of a block chain, wherein the method comprises the following steps: screening out a unique node as a decision node of a block in each round of consensus process; receiving the sub-message block sent by each fragment through the decision node, and respectively verifying the sub-message block sent by each fragment; merging the sub-message blocks which pass the verification to obtain a merged message block; respectively sending the message blocks to the decision nodes of each segment through the decision nodes of the block; if first signature information sent back by the fragmentation decision node exceeding a preset number threshold is received, judging that the message block passes verification; and the first signature information is the signature information which is sent back after the decision node of the fragment verifies the message block and passes the verification. The invention can prevent the block chain safety problem caused by hacker attack to a certain extent, and improves the block chain safety.

Description

Heterogeneous consensus method of block chains and terminal
Technical Field
The present invention relates to the field of block chain technologies, and in particular, to a heterogeneous consensus method and a terminal for a block chain.
Background
The consensus mechanism is one of the core technologies of blockchains. The consensus mechanism is a mechanism for users who are not trusted with each other in the blockchain to achieve trust, and is a basis for record transmission, verification and replication in the blockchain. The current consensus mechanisms mainly include Proof of workload (Proof of Work, PoW), Proof of rights of interest (Proof of stamp, PoS), Proof of delegation of rights of interest (DPoS), and Practical Byzantine Fault-tolerant algorithm (PBFT), as well as variations of these 4 consensus mechanisms. Of course, the current novel distributed ledger technology, for example, the novel distributed ledger technology represented by Directed Acyclic Graph (DAG), has a self-contained consensus mechanism. Existing consensus mechanisms are more or less problematic. For example, the PoW consensus mechanism has the defects of resource waste, long consensus time, and consensus monopoly and natural 51% attack; the PoS consensus mechanism has the defects of long-chain attack, consensus monopoly and difficult consensus proving; the DPoS consensus mechanism has the defects of centralization, long-chain attack and difficult consensus certification; the PBFT consensus mechanism has the defect that the consensus time exponentially increases along with the number of consensus nodes; the novel DAG-based self-contained consensus distributed account book technology has the problems of weak safety and consensus centralization.
Security is the most important attribute of the consensus mechanism. The consensus mechanism is the core of the blockchain, and the security of the consensus mechanism directly determines the security of the whole blockchain system. Therefore, enhancing the security of the consensus mechanism is the key to enhance the security of the whole blockchain system. Most of the current consensus mechanisms ignore or only consider a part of the security for usability, or just consider the security against the damage of the internal people of the system, and it can be said that the current consensus mechanisms only consider the security against the hacking.
Most of the current block chains adopt single consensus or a consensus mechanism with multiple consensus sequences overlapped, for example, a block chain system adopts a PoW + PBFT consensus mechanism, and most of the overlapped consensus mechanisms use PoW as preliminary consensus and then adopt other consensus mechanisms. The consensus mechanism of this model does not fundamentally solve the above-mentioned drawbacks faced by the consensus mechanism.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: the invention provides a heterogeneous consensus method and a terminal of a block chain, which can prevent the block chain security problem caused by hacker attack to a certain extent and improve the block chain security.
In order to solve the above technical problem, the present invention provides a heterogeneous consensus method for a block chain, comprising the following steps:
s1: screening out a unique node as a decision node of a block in each round of consensus process;
s2: receiving the sub-message block sent by each fragment through the decision node, and respectively verifying the sub-message block sent by each fragment;
s3: merging the sub-message blocks which pass the verification to obtain a merged message block;
s4: respectively sending the message blocks to the decision nodes of each segment through the decision nodes of the block;
s5: if first signature information sent back by the fragmentation decision node exceeding a preset number threshold is received, judging that the message block passes verification; and the first signature information is the signature information which is sent back after the decision node of the fragment verifies the message block and passes the verification.
The invention also provides a heterogeneous consensus terminal of a block chain, which comprises a memory, a processor and a computer program stored on the memory and capable of running on the processor, wherein the processor executes the computer program to realize the following steps:
s1: screening out a unique node as a decision node of a block in each round of consensus process;
s2: receiving the sub-message block sent by each fragment through the decision node, and respectively verifying the sub-message block sent by each fragment;
s3: merging the sub-message blocks which pass the verification to obtain a merged message block;
s4: respectively sending the message blocks to the decision nodes of each segment through the decision nodes of the block;
s5: if first signature information sent back by the fragmentation decision node exceeding a preset number threshold is received, judging that the message block passes verification; and the first signature information is the signature information which is sent back after the decision node of the fragment verifies the message block and passes the verification.
The invention has the beneficial effects that:
the invention provides a heterogeneous consensus method and a terminal of a block chain, wherein in each round of consensus process, a unique node is selected as a decision node of a block, a sub-message block sent by the decision node of each fragment is verified through the decision node, the sub-message blocks passing the verification are merged to obtain a merged message block, the message block is respectively sent to the decision node corresponding to each fragment for verification, when the number passing the verification is greater than a preset number threshold value, the message block is indicated to pass the verification, and the message block can be broadcasted; by the method, a new decision node of the block is selected in each round of consensus process, so that an attacker cannot judge a leader of the decision (the decision node of the fragments), the whole consensus process cannot be controlled, meanwhile, the consensus algorithm adopted by each fragment is different, the attacker cannot control all the fragments through one attack strategy, the whole consensus process cannot be controlled, the attacker needs to control most of the nodes of the system in the consensus process, the attack difficulty is increased undoubtedly, the problem that the block decision is seriously wrong due to the fact that a hacker attacks one fragment node in a block chain is solved, and the safety of the block chain is improved.
Drawings
Fig. 1 is a schematic diagram illustrating a block chain heterogeneous consensus method according to a first embodiment of the present invention;
fig. 2 is a schematic structural diagram of a heterogeneous co-located terminal of a block chain according to an embodiment of the present invention;
description of reference numerals:
1. a memory; 2. a processor.
Detailed Description
In order to explain technical contents, objects and effects of the present invention in detail, the following detailed description is given with reference to the accompanying drawings in conjunction with the embodiments.
Referring to fig. 1, the present invention provides a heterogeneous consensus method for a block chain, comprising the following steps:
s1: screening out a unique node as a decision node of a block in each round of consensus process;
s2: receiving the sub-message block sent by each fragment through the decision node, and respectively verifying the sub-message block sent by each fragment;
s3: merging the sub-message blocks which pass the verification to obtain a merged message block;
s4: respectively sending the message blocks to the decision nodes of each segment through the decision nodes of the block;
s5: if first signature information sent back by the fragmentation decision node exceeding a preset number threshold is received, judging that the message block passes verification; and the first signature information is the signature information which is sent back after the decision node of the fragment verifies the message block and passes the verification.
From the above description, the present invention provides a heterogeneous consensus method for a block chain, where in each round of consensus process, a unique node is selected as a decision node for a block, a sub-message block sent by the decision node of each segment is verified by the decision node, the sub-message blocks that pass the verification are merged to obtain a merged message block, and the message block is sent to the decision node corresponding to each segment for verification, and when the number that passes the verification is greater than a preset number threshold, the message block is verified to pass and can be broadcasted; by the method, a new decision node of the block is selected in each round of consensus process, so that an attacker cannot judge a leader of the decision, the whole consensus process cannot be controlled, the consensus algorithm adopted by each fragment is different, the attacker cannot control all the fragments through one attack strategy, the whole consensus process cannot be controlled, the attacker wants to control most nodes of a system in the consensus process, the attack difficulty is increased undoubtedly, the problem that the key fault of the block decision is caused by the fact that a hacker attacks one fragment node in a block chain is solved, and the safety of the block chain is improved.
Further, the S1 specifically includes:
in each round of consensus process, calculating a competition value corresponding to each node to be selected through a preset first formula to obtain a plurality of competition values; each node to be selected is a decision node corresponding to each fragment;
screening out competition values meeting preset conditions from the competition values to obtain a plurality of first competition values;
publishing a node corresponding to each first competition value and a public key used by the node for data decryption;
within a preset time, acquiring the minimum value of all published first competition values to obtain a first minimum competition value;
and screening the node corresponding to the first minimum competition value as a decision node of the block.
As can be seen from the above description, by the above method, in each round of consensus process, the node corresponding to the minimum competition value is screened out as the decision node of the block, so that an attacker cannot determine the decision node in the round of consensus process in advance, and the security in the block chain consensus process is improved; the node corresponding to each competition value and the public key used by the node for data decryption are published, so that the fragmented decision nodes can conveniently verify the signature information of the sub-message blocks through the public key.
Further, the first formula specifically includes:
Figure BDA0001813018570000041
wherein, the CiThe sk is a competition value of the ith node to be selectediRepresenting a private key used for encrypting data on the node to be selected, r representing the number of rounds of the current consensus process, QrA random number corresponding to the r-th round of consensus process is represented (i.e. a random number is generated in each round of consensus process),
Figure BDA0001813018570000051
representation using the private key skiFor r and QrCarry out data signature H1Is a hash function.
As can be seen from the above description, by the above method, the calculated corresponding competition values are different for each node to be selected in each round of consensus process, so that the fragmented decision nodes obtained in each round of consensus process are randomly generated, and the probability that the fragmented decision nodes are attacked can be greatly reduced.
Further, the S2 specifically includes:
receiving, by a decision node of the block, a sub-message block sent by each tile;
the block is composed of a plurality of fragmented sub-message blocks.
Verifying the correctness of the signature information of the sub message blocks sent by the corresponding fragment decision nodes through the public key of the decision node of each fragment; and the signature information is obtained by the decision node of the fragment signing through a private key stored on the decision node.
According to the description, the sub message blocks sent by the decision nodes of each fragment can be effectively verified by the method, so that the safety of the consensus process is improved; meanwhile, the public key of the decision node of each fragment can be obtained through the published node and the public key for data decryption on the node;
further, the S4 specifically includes:
and the decision node controlling the block respectively sends the message block to the decision node of each fragment through a practical Byzantine fault-tolerant algorithm.
From the above description, it can be ensured that the message block is sent to the decision node of the first segment, and the fault tolerance of the system is improved.
Further, the heterogeneous consensus method for the block chains further includes:
distributing the newly added nodes to corresponding fragments through a preset second formula;
the second formula is x ═ sToi (add)i) % n, wherein i is the serial number of the node, x is the serial number of the fragment to be distributed by the node i, addi represents the address of the node i, and sToi represents a function of converting the address sequence into an integer; specifically, the function that converts the address sequence into integers uses the strtol function in the C-standard library.
Further, the heterogeneous consensus method for the block chains further includes:
presetting consensus algorithm set Co ═ Co1,Co2,…,ComI.e. preset m consensus algorithms, where CokK is 1, 2.. times.m, which represents a consensus algorithm with a rank number k;
if a new fragment is generated in the block chain, the sequence number of the consensus algorithm adopted by the new fragment is
Figure BDA0001813018570000061
Wherein the g represents a sequence number of a new fragment, the
Figure BDA0001813018570000062
And expressing the hash value corresponding to the new fragmentation decision node, calculating the hash value through a first formula, and expressing the remainder operation.
Referring to fig. 2, the heterogeneous block chain common-identity terminal provided by the present invention includes a memory 1, a processor 2 and a computer program stored in the memory 1 and capable of running on the processor 2, where the processor 2 implements the following steps when executing the program:
s1: screening out a unique node as a decision node of a block in each round of consensus process;
s2: receiving the sub-message block sent by each fragment through the decision node, and respectively verifying the sub-message block sent by each fragment;
s3: merging the sub-message blocks which pass the verification to obtain a merged message block;
s4: respectively sending the message blocks to the decision nodes of each segment through the decision nodes of the block;
s5: if first signature information sent back by the fragmentation decision node exceeding a preset number threshold is received, judging that the message block passes verification; and the first signature information is the signature information which is sent back after the decision node of the fragment verifies the message block and passes the verification.
Further, in the heterogeneous consensus terminal of a block chain, the S1 is specifically:
in each round of consensus process, calculating a competition value corresponding to each node to be selected through a preset first formula to obtain a plurality of competition values; each node to be selected is a decision node corresponding to each fragment;
screening out competition values meeting preset conditions from the competition values to obtain a plurality of first competition values;
publishing a node corresponding to each first competition value and a public key used by the node for data decryption;
within a preset time, acquiring the minimum value of all published first competition values to obtain a first minimum competition value;
and screening the node corresponding to the first minimum competition value as a decision node of the block.
Further, in the heterogeneous common-knowledge terminal of a block chain, the first formula specifically includes:
Figure BDA0001813018570000063
wherein, the CiThe sk is a competition value of the ith node to be selectediRepresenting a private key used for encrypting data on the node to be selected, r representing the number of rounds of the current consensus process, QrA random number corresponding to the r-th round of consensus process is represented,
Figure BDA0001813018570000071
representation using the private key skiFor r and QrCarry out data signature H1Is a hash function.
Further, in the heterogeneous consensus terminal of a block chain, the S2 is specifically:
receiving, by a decision node of the block, a sub-message block sent by each tile;
verifying the correctness of the signature information of the sub message blocks sent by the corresponding fragment decision nodes through the public key of the decision node of each fragment; and the signature information is obtained by the decision node of the fragment signing through a private key stored on the decision node.
Further, in the heterogeneous consensus terminal of a block chain, the S4 is specifically:
and the decision node controlling the block respectively sends the message block to the decision node of each fragment through a practical Byzantine fault-tolerant algorithm.
Further, the heterogeneous consensus method for the block chains further includes:
distributing the newly added nodes to corresponding fragments through a preset second formula;
the second formula is x ═ sToi (add)i) % n, wherein i is the serial number of the node, x is the serial number of the fragment to be distributed by the node i, addi represents the address of the node i, and sToi represents a function of converting the address sequence into an integer; specifically, the function that converts the address sequence into integers uses the strtol function in the C-standard library.
Further, the heterogeneous consensus method for the block chains further includes:
presetting consensus algorithm set Co ═ Co1,Co2,…,ComI.e. preset m consensus algorithms, where CokK is 1, 2.. times.m, which represents a consensus algorithm with a rank number k;
if a new fragment is generated in the block chain, the sequence number of the consensus algorithm adopted by the new fragment is
Figure BDA0001813018570000072
Wherein the g represents a sequence number of a new fragment, the
Figure BDA0001813018570000073
And the hash value corresponding to the new fragmentation decision node is represented, and the percentage represents the remainder operation.
Referring to fig. 1, a first embodiment of the present invention is:
the invention provides a heterogeneous consensus method of a block chain, which comprises the following steps:
distributing the newly added nodes to corresponding fragments through a preset formula;
the formula is x ═ sToi (add)i) % n, wherein i is the serial number of the node, x is the serial number of the fragment to be distributed by the node i, addi represents the address of the node i, and sToi represents a function of converting the address sequence into an integer; specifically, the function that converts the address sequence into integers uses the strtol function in the C-standard library.
Presetting consensus algorithm set Co ═ Co1,Co2,…,ComI.e. preset m consensus algorithms,wherein CokK is 1, 2.. times.m, which represents a consensus algorithm with a rank number k;
if a new fragment is generated in the block chain, the sequence number of the consensus algorithm adopted by the new fragment is
Figure BDA0001813018570000081
Wherein the g represents a sequence number of a new fragment, the
Figure BDA0001813018570000082
And the hash value corresponding to the new fragmentation decision node is represented, and the percentage represents the remainder operation.
Screening out a unique node as a decision node of a block in each round of consensus process;
in each round of consensus process, screening out a unique node as a decision node of a block, specifically:
in each round of consensus process, calculating a competition value corresponding to each node to be selected through a preset first formula to obtain a plurality of competition values; each node to be selected is a decision node corresponding to each fragment; selecting a competition value meeting a preset condition from the plurality of competition values (namely, selecting a competition value smaller than a preset competition value threshold, wherein the selection of the threshold is related to the number of nodes to be selected participating in competition and the number of nodes to be selected and taken out, and can be set according to actual requirements), and obtaining a plurality of first competition values;
publishing a node corresponding to each first competition value and a public key used by the node for data decryption;
within a preset time, acquiring the minimum value of all published first competition values to obtain a first minimum competition value;
and screening the node corresponding to the first minimum competition value as a decision node of the block.
Wherein the first formula specifically is:
Figure BDA0001813018570000083
wherein, the CiThe sk is a competition value of the ith node to be selectediRepresenting a private key used for encrypting data on the node to be selected, r representing the number of rounds of the current consensus process, QrA random number corresponding to the r-th round of consensus process is represented,
Figure BDA0001813018570000084
representation using the private key skiFor r and QrCarry out data signature H1Performing hash operation on the signed data for a hash function;
calculating a competition value corresponding to each node to be selected through a preset first formula to obtain a plurality of competition values, specifically:
and calculating by using a first formula to obtain a hash value corresponding to each node to be selected, converting the hash value into a binary number to obtain a plurality of binary numbers, wherein the binary numbers are the competition values, and each competition value corresponds to a node to be selected.
Receiving the sub-message block sent by each fragment through the decision node, and respectively verifying the sub-message block sent by each fragment;
the method comprises the following steps that a decision node receives a sub-message block sent by each fragment, and verifies the sub-message block sent by each fragment respectively, wherein the method specifically comprises the following steps:
receiving, by a decision node of the block, a sub-message block sent by each tile; the sub-message block is a block generated in each fragment, and the block contains a plurality of messages as the concept of the block on a common block chain;
the decision nodes of the control block verify the correctness of signature information of the sub message blocks sent by the corresponding fragment decision nodes through the public key of the decision node of each fragment; and the signature information is obtained by the decision node of the fragment signing through a private key stored on the decision node.
Merging the sub-message blocks which pass the verification to obtain a merged message block;
respectively sending the message blocks to the decision nodes of each segment through the decision nodes of the block;
the sending of the message block to the decision node of each segment by the decision node of the block specifically includes:
and the decision node controlling the block respectively sends the message block to the decision node of each fragment through a practical Byzantine fault-tolerant algorithm.
If the fragmented decision nodes receive first signature information sent back by the fragmented decision nodes exceeding a preset number threshold, judging that the message block passes verification; after the verification is passed, the message block is broadcasted to the network; after the decision node with the first signature information as the fragment verifies the message block (the verification is to verify the signature data contained in the message block and verify the message format in the message block), the returned verification passes through the corresponding signature information; wherein the number threshold is the product of the number of all slicing decision nodes and 2/3.
Referring to fig. 2, the second embodiment of the present invention is:
the invention provides a heterogeneous consensus terminal of a block chain, which comprises a memory 1, a processor 2 and a computer program stored on the memory 1 and capable of running on the processor 2, wherein all the steps of the first embodiment are realized when the processor 2 executes the program.
In summary, the invention provides a heterogeneous consensus method and a terminal for a block chain, wherein in each round of consensus process, a unique node is selected as a decision node of a block, a sub-message block sent by the decision node of each segment is verified through the decision node, the sub-message blocks passing the verification are combined to obtain a combined message block, the message block is sent to the decision node corresponding to each segment respectively for verification, when the number passing the verification is greater than a preset number threshold value, the message block is indicated to pass the verification, and the message block can be broadcasted; by the method, a new decision node of the block is selected in each round of consensus process, so that an attacker cannot judge a leader of the decision, the whole consensus process cannot be controlled, the consensus algorithm adopted by each fragment is different, the attacker cannot control all the fragments through one attack strategy, the whole consensus process cannot be controlled, the attacker wants to control most nodes of a system in the consensus process, the attack difficulty is increased undoubtedly, the problem that the key fault of the block decision is caused by the fact that a hacker attacks one fragment node in a block chain is solved, and the safety of the block chain is improved.
The above description is only an embodiment of the present invention, and not intended to limit the scope of the present invention, and all equivalent changes made by using the contents of the present specification and the drawings, or applied directly or indirectly to other related technical fields, are included in the scope of the present invention.

Claims (7)

1. A heterogeneous consensus method for a block chain is characterized by comprising the following steps:
s1: screening out a unique node as a decision node of a block in each round of consensus process;
s2: receiving the sub-message block sent by each fragment through the decision node, and respectively verifying the sub-message block sent by each fragment;
s3: merging the sub-message blocks which pass the verification to obtain a merged message block;
s4: respectively sending the message blocks to the decision nodes of each segment through the decision nodes of the block;
s5: if first signature information sent back by the fragmentation decision node exceeding a preset number threshold is received, judging that the message block passes verification; the first signature information is signature information corresponding to the returned verification passing after the verification of the message block is passed by the decision node of the fragment;
wherein, the S1 specifically is:
in each round of consensus process, calculating a competition value corresponding to each node to be selected through a preset first formula to obtain a plurality of competition values; each node to be selected is a decision node corresponding to each fragment;
screening out competition values meeting preset conditions from the competition values to obtain a plurality of first competition values;
publishing a node corresponding to each first competition value and a public key used by the node for data decryption;
within a preset time, acquiring the minimum value of all published first competition values to obtain a first minimum competition value;
screening the node corresponding to the first minimum competition value as a decision node of a block;
wherein, the S2 specifically is:
receiving, by a decision node of the block, a sub-message block sent by each tile;
verifying the correctness of the signature information of the sub message blocks sent by the corresponding fragment decision nodes through the public key of the decision node of each fragment; and the signature information is obtained by the decision node of the fragment signing through a private key stored on the decision node.
2. The method according to claim 1, wherein the first formula is specifically:
Figure FDA0002771841700000011
wherein, the CiThe sk is a competition value of the ith node to be selectediRepresenting a private key used for encrypting data on the node to be selected, r representing the number of rounds of the current consensus process, QrA random number corresponding to the r-th round of consensus process is represented,
Figure FDA0002771841700000021
representation using the private key skiFor r and QrCarry out data signature H1Is a hash function.
3. The method according to claim 1, wherein the S4 specifically is:
and the decision node controlling the block respectively sends the message block to the decision node of each fragment through a practical Byzantine fault-tolerant algorithm.
4. The method for heterogeneous consensus of blockchains according to claim 1, further comprising:
distributing the newly added nodes to corresponding fragments through a preset second formula;
the second formula is x ═ sToi (add)i) % n, wherein i is the serial number of the node, x is the serial number of the fragment to be allocated by the node i, addi represents the address of the node i, and sToi represents a function of converting the address sequence into an integer.
5. The method for heterogeneous consensus of blockchains according to claim 1, further comprising:
presetting consensus algorithm set Co ═ Co1,Co2,…,ComIn which Co iskK is 1, 2.. times.m, which represents a consensus algorithm with a rank number k;
if a new fragment is generated in the block chain, the sequence number of the consensus algorithm adopted by the new fragment is
Figure FDA0002771841700000022
Wherein the g represents a sequence number of a new fragment, the
Figure FDA0002771841700000023
And the hash value corresponding to the new fragmentation decision node is represented, and the percentage represents the remainder operation.
6. A heterogeneous consensus terminal of a block chain, comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the following steps when executing the computer program:
s1: screening out a unique node as a decision node of a block in each round of consensus process;
s2: receiving the sub-message block sent by each fragment through the decision node, and respectively verifying the sub-message block sent by each fragment;
s3: merging the sub-message blocks which pass the verification to obtain a merged message block;
s4: respectively sending the message blocks to the decision nodes of each segment through the decision nodes of the block;
s5: if first signature information sent back by the fragmentation decision node exceeding a preset number threshold is received, judging that the message block passes verification; the first signature information is signature information corresponding to the returned verification passing after the verification of the message block is passed by the decision node of the fragment;
wherein, the S1 specifically is:
in each round of consensus process, calculating a competition value corresponding to each node to be selected through a preset first formula to obtain a plurality of competition values; each node to be selected is a decision node corresponding to each fragment;
screening out competition values meeting preset conditions from the competition values to obtain a plurality of first competition values;
publishing a node corresponding to each first competition value and a public key used by the node for data decryption;
within a preset time, acquiring the minimum value of all published first competition values to obtain a first minimum competition value;
and screening the node corresponding to the first minimum competition value as a decision node of the block.
7. The terminal of claim 6, wherein the first formula is specifically:
Figure FDA0002771841700000031
wherein, the CiThe sk is a competition value of the ith node to be selectediRepresenting a private key used for encrypting data on the node to be selected, r representing the number of rounds of the current consensus process, QrIndicating the r-th round of consensus process correspondenceThe random number of (a) is set,
Figure FDA0002771841700000032
representation using the private key skiFor r and QrCarry out data signature H1Is a hash function.
CN201811128351.5A 2018-09-27 2018-09-27 Heterogeneous consensus method of block chains and terminal Active CN109379343B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110141137.9A CN112968883B (en) 2018-09-27 2018-09-27 Block chain heterogeneous consensus method with high safety and terminal
CN201811128351.5A CN109379343B (en) 2018-09-27 2018-09-27 Heterogeneous consensus method of block chains and terminal
CN202110141138.3A CN112968884B (en) 2018-09-27 2018-09-27 Block chain heterogeneous consensus method and terminal for preventing hacker attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811128351.5A CN109379343B (en) 2018-09-27 2018-09-27 Heterogeneous consensus method of block chains and terminal

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202110141138.3A Division CN112968884B (en) 2018-09-27 2018-09-27 Block chain heterogeneous consensus method and terminal for preventing hacker attack
CN202110141137.9A Division CN112968883B (en) 2018-09-27 2018-09-27 Block chain heterogeneous consensus method with high safety and terminal

Publications (2)

Publication Number Publication Date
CN109379343A CN109379343A (en) 2019-02-22
CN109379343B true CN109379343B (en) 2020-12-18

Family

ID=65402778

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202110141137.9A Active CN112968883B (en) 2018-09-27 2018-09-27 Block chain heterogeneous consensus method with high safety and terminal
CN202110141138.3A Active CN112968884B (en) 2018-09-27 2018-09-27 Block chain heterogeneous consensus method and terminal for preventing hacker attack
CN201811128351.5A Active CN109379343B (en) 2018-09-27 2018-09-27 Heterogeneous consensus method of block chains and terminal

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202110141137.9A Active CN112968883B (en) 2018-09-27 2018-09-27 Block chain heterogeneous consensus method with high safety and terminal
CN202110141138.3A Active CN112968884B (en) 2018-09-27 2018-09-27 Block chain heterogeneous consensus method and terminal for preventing hacker attack

Country Status (1)

Country Link
CN (3) CN112968883B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110619020B (en) * 2019-09-02 2022-04-01 杭州趣链科技有限公司 Block chain fragmentation method based on machine learning
CN111478878B (en) * 2020-02-28 2022-10-21 新华三技术有限公司 Anti-attack method and device
CN112202775B (en) * 2020-09-29 2021-06-22 北京理工大学 Consensus mechanism architecture and method for block chain of directed acyclic graph structure
CN112990568B (en) * 2021-03-11 2022-09-20 华北电力大学 Block chain consensus mechanism construction method under comprehensive energy intelligent transaction scene
CN113297310B (en) * 2021-06-15 2023-03-21 广东工业大学 Method for selecting block chain fragmentation verifier in Internet of things
CN113411407B (en) * 2021-06-25 2022-03-18 北京邮电大学 Piece-separating type car networking system based on block chain technology

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656974A (en) * 2016-10-17 2017-05-10 江苏通付盾科技有限公司 Block chain grouping consensus method and system
CN106780032A (en) * 2016-12-16 2017-05-31 杭州云象网络技术有限公司 A kind of block chain interchain assets transfer method under multichain scene
WO2017148527A1 (en) * 2016-03-03 2017-09-08 Nec Europe Ltd. Method for managing data in a network of nodes
CN107678865A (en) * 2017-09-20 2018-02-09 中国银行股份有限公司 The verification method and system of block chain based on transaction packet
CN108241968A (en) * 2017-03-26 2018-07-03 杭州复杂美科技有限公司 The method that front end processor participates in block chain common recognition

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438003B (en) * 2016-05-27 2022-08-09 索尼公司 Electronic device, method for electronic device, and information processing system
CN106789908B (en) * 2016-11-23 2019-09-06 江苏通付盾科技有限公司 Block common recognition method for building up and system in block chain
US20180220278A1 (en) * 2017-02-01 2018-08-02 BriefTrace Ltd. System and method for securing and verifying information from transportation monitors
CN107040585B (en) * 2017-02-22 2020-06-19 创新先进技术有限公司 Service checking method and device
CN107341702B (en) * 2017-03-08 2020-06-23 创新先进技术有限公司 Service processing method and device
CN107276765B (en) * 2017-07-04 2020-05-05 中国联合网络通信集团有限公司 Processing method and device for consensus in block chain
CN107909369A (en) * 2017-10-13 2018-04-13 布比(北京)网络技术有限公司 Based on the common recognition method, apparatus merchandised across chain and storage medium
CN110971414B (en) * 2017-11-10 2021-05-04 财付通支付科技有限公司 Method, device, terminal and server for generating signature
CN108182635A (en) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 Block chain common recognition method, system and computer readable storage medium
CN108320155B (en) * 2017-12-21 2020-09-11 中国科学院信息工程研究所 Method for realizing block chain consensus mechanism
CN108521328B (en) * 2018-03-26 2020-08-28 杭州秘猿科技有限公司 Block chain consensus method and device and electronic equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017148527A1 (en) * 2016-03-03 2017-09-08 Nec Europe Ltd. Method for managing data in a network of nodes
CN106656974A (en) * 2016-10-17 2017-05-10 江苏通付盾科技有限公司 Block chain grouping consensus method and system
CN106780032A (en) * 2016-12-16 2017-05-31 杭州云象网络技术有限公司 A kind of block chain interchain assets transfer method under multichain scene
CN108241968A (en) * 2017-03-26 2018-07-03 杭州复杂美科技有限公司 The method that front end processor participates in block chain common recognition
CN107678865A (en) * 2017-09-20 2018-02-09 中国银行股份有限公司 The verification method and system of block chain based on transaction packet

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《A review on consensus algorithm of blockchain》;Du Mingxiao;《2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC)》;20171201;全文 *
《research on a new signature scheme on blockchain》;xue ming si;《Hindawi Security and Communication networks》;20170821;全文 *
《基于聚合签名的共识算法优化方案》;苑超等;《计算机科学》;20180228;全文 *

Also Published As

Publication number Publication date
CN112968883A (en) 2021-06-15
CN112968884B (en) 2023-03-24
CN112968883B (en) 2023-04-07
CN112968884A (en) 2021-06-15
CN109379343A (en) 2019-02-22

Similar Documents

Publication Publication Date Title
CN109379343B (en) Heterogeneous consensus method of block chains and terminal
CN109493221B (en) Method, device, network and storage medium for keeping transaction records secret in block chain
CN110289966B (en) Byzantine fault tolerance-based anti-adaptive attack union chain consensus method
CN108270874B (en) Application program updating method and device
US20210194759A1 (en) Changing a master node in a blockchain system
CN110166242B (en) Message transmission method and device
CN110751544A (en) Bidding information, supervision information and bid evaluation information processing method, terminal and system
CN109981690B (en) Anti-tamper timing data secret transmission method based on block chain intelligent contract
CN110177124A (en) Identity identifying method and relevant device based on block chain
CN111815321A (en) Transaction proposal processing method, device, system, storage medium and electronic device
US20230308287A1 (en) Threshold signatures
CN113055188A (en) Data processing method, device, equipment and storage medium
CN108494558B (en) Method and system for implementing fair switching
CN110719167B (en) Block chain-based signcryption method with timeliness
CN114640462A (en) Block chain privacy protection method and device, electronic equipment and storage medium
CN109274674B (en) Block chain heterogeneous consensus method with high security and terminal
CN112073173A (en) Illegal signer determination system facing block chain PKI
Song et al. Public integrity verification for data sharing in cloud with asynchronous revocation
CN114519198A (en) Block chain consensus method and computer-readable storage medium
CN113988831A (en) Transfer method based on alliance chain
CN112039837B (en) Electronic evidence preservation method based on block chain and secret sharing
CN111865595A (en) Block chain consensus method and device
CN106713256A (en) Method for authenticating software and hardware binding of computer special for tax control
CN110618989B (en) Information processing method, information processing device and related products
JPWO2020065633A5 (en)

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