CN109246122A - A kind of Byzantine failure tolerance block chain generation method based on gossip propagation agreement - Google Patents

A kind of Byzantine failure tolerance block chain generation method based on gossip propagation agreement Download PDF

Info

Publication number
CN109246122A
CN109246122A CN201811149548.7A CN201811149548A CN109246122A CN 109246122 A CN109246122 A CN 109246122A CN 201811149548 A CN201811149548 A CN 201811149548A CN 109246122 A CN109246122 A CN 109246122A
Authority
CN
China
Prior art keywords
node
block chain
common recognition
gossip
data
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.)
Pending
Application number
CN201811149548.7A
Other languages
Chinese (zh)
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.)
Shanghai Maritime University
Original Assignee
Shanghai Maritime University
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 Shanghai Maritime University filed Critical Shanghai Maritime University
Priority to CN201811149548.7A priority Critical patent/CN109246122A/en
Publication of CN109246122A publication Critical patent/CN109246122A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms

Abstract

The Byzantine failure tolerance block chain generation method based on gossip propagation agreement that the invention discloses a kind of includes: common recognition network chooses speaker's node;Speaker's node broadcasts motion;Congressman's node verification motion;Local data, global data vector sum common recognition data are calculated between node;Verifying transaction common recognition data between node;Node generates block and is added in block chain, finally exports new intact block chain.Present invention introduces gossip propagation agreements, enable a system to Byzantium's node (error node) of tolerance nearly half, improve fault-tolerant ability.Since the data structure that system uses is consistent, the scalability of system is set to get a promotion, correct node can more easily identify Byzantium's node in block catenary system.In addition, in the methods of the invention, speaker's node, in addition the node in system is in the position of equity, can evade Single Point of Faliure problem because the variation of block chain length is shifted, make system that there is superior balanced dynamic load performance.

Description

A kind of Byzantine failure tolerance block chain generation method based on gossip propagation agreement
Technical field
The present invention relates to block chain common recognition algorithm fields, and in particular to a kind of Byzantine failure tolerance based on gossip propagation agreement Block chain generation method.
Background technique
Gossip propagation agreement (Gossip Protocol) is a kind of to freely select adjacent node simultaneously using random manner The communication mode that information is exchanged with them, is broadly divided into tri- kinds of modes of Push, Pull and Push&Pull.Push: it is new to possess state The node of information, which randomly chooses adjacent node and is sent to it oneself, obtains information;Pull: the node for initiating information exchange is random It selects adjacent node and obtains information from other side;Push-Pull mixed mode: the node of information exchange is initiated to the node of selection Send information.
Block chain is a kind of technology for encrypting currency, 2008 for the first time by middle it is clever propose, it has decentralization, transparent Property, opening, autonomy, information can not tampers and the features such as anonymity.Block chain be in recent years finance, internet and other The hot spot of various fields research, with the rise of the systems such as ether mill, super account book, block chain technology is more and more closed Note.The 5th that block chain technology is also considered as after mainframe computer, personal computer, internet, mobile social activity is overturned Formula calculation paradigm brings deep change for the fields such as finance, science and technology, culture, politics.
Block chain is the product of multiple technologies, and common recognition method is then a very important ring, block catenary system in block chain Efficiency be directly limited by the quality of common recognition method.Common recognition method refers to after a node or multiple nodes propose a value, The algorithm that entire distributed system reaches an agreement to this value.
Currently, the block chain common recognition method of mainstream has proof of work (PoW), equity to prove that (PoS), authority are proved (PoA) etc..The advantage of PoW is that algorithm is simple, and node can be freely accessible to, and decentralization degree is high, safer;The disadvantage is that can disappear A large amount of resource is consumed, not environmentally, if someone can control 51% calculation power, just has the risk attacked.PoS is relative to PoW The advantages of be more to economize on resources, system effectiveness is higher;The disadvantage is that algorithm is complicated, it is easy to produce security breaches.The advantages of PoA is Suitable for privately owned chain, verifying speed is fast, the disadvantage is that decentralization degree is low.Different common recognition methods has different superiority and inferiority, fits For different environment and scene, it is raw that the present invention mainly describes a kind of Byzantine failure tolerance block chain based on gossip propagation agreement At method, there is higher failure tolerance, the performance of better scalability and dynamic load leveling.
Summary of the invention
The Byzantine failure tolerance block chain generation method based on gossip propagation agreement that the object of the present invention is to provide a kind of, makes area Block catenary system has higher fault-tolerance, the purpose with better scalability and with dynamic load leveling performance.
In order to achieve the above object, the present invention provides a kind of, and the Byzantine failure tolerance block chain based on gossip propagation agreement is raw At method comprising the steps of:
S1, common recognition network choose speaker's node according to rule;
S2, speaker's node are according to gossip propagation agreement to adjacent Congressman's node broadcasts motion;
S3, when Congressman's node verification speaker node and motion are correct, continue to execute step S4;
The local data of itself is calculated between S4, node;
Global data vector is calculated between S5, node;
Common recognition data are calculated between S6, node;
S7, when between node verify node transaction data reach common understanding when, continue to execute step S8;
S8, each node generate block and are added in block chain;
The new intact block chain of S9, output.
Preferably, in the step S3, if one or two in verifying Congressman's node verification speaker node and motion are When incorrect, then the S1 that gos to step carries out new round common recognition, and circulation carries out until verifying is correct.,
Preferably, it in the step S7, when verifying node transaction data is not reached common understanding between node, then gos to step S1 carries out new round common recognition, and circulation carries out until verifying node transaction data is reached common understanding between node.
Preferably, it in the step S1, further includes:
Speaker's node of Byzantine failure tolerance block chain generation method based on gossip propagation agreement is the institute by participating in common recognition There is node to propose in turn, each node for participating in common recognition is assigned a number, since 0, the volume of the last one node It number is n-1;The method that network of knowing together chooses node are as follows:
P=(l-r) mod n
In formula, p refers to the number of speaker's node, and l refers to the length of current common recognition block chain, and r refers to current block chain length The wheel number of lower common recognition process is spent, n refers to the total nodal point number for participating in common recognition;
Wherein, each round common recognition requires speaker's node, other nodes are then Congressman's node, when new block generates And when being added in block chain, the common recognition of a new round is immediately begun to, r is also reset as 0.
Preferably, in the step S2, the gossip propagation agreement is to be broadcast to information entirely using random manner It include Push-Gossip and Pull-Gossip two ways in network;
Wherein, Push-Gossip mode includes following procedure:
1) in network some host node it is random select arbitrarily a adjacent node as connection object;
2) the corresponding information of node-node transmission that the node is chosen to it;
3) passive node for receiving information is repeatedly performed identical work;
Pull-Gossip mode includes following procedure:
1) the random selection arbitrary neighborhood node of some host node is inquired either with or without newest information;
2) receive request passive node reply host node its be most recently received information the case where.
Preferably, in the step S3, further include: Congressman's node includes following to the verifying for the motion that speaker broadcasts Process:
1) judge whether the content of motion meets the rule of system, if satisfied, then thinking legal;
2) judge that the transaction in motion whether there is in block chain, if it does not exist, then it is assumed that legal;
3) judge that the transaction in motion whether there is dual payment, if it does not exist, then it is assumed that legal;
4) judge whether all contract scripts of the transaction in motion are all correct to execute, if so, thinking legal;
If 5) meet above 4 points of legal judgements, then it is assumed that motion is correct, and receives motion.
Preferably, in the step S4, the local data is the data attribute value that node itself contains.
Preferably, it in the step S5, further includes:
Global data includes the one-dimensional vector of the local data value composition of n node, calculating global data vector according to Give a definition:
It defines 1: setting vector GDiAnd GDjIt is the global data of node i and node j respectively;If GDi[x]≠GDj[x] andGD is seti[x]=GDj[x], then GDiIn x-th of element updated;If GDj[x]≠GDi[x] andGD is setj[x]=GDi[x], then GDjIn x-th of element updated;
In the step S6, further include:
It defines 2: being more than the consistent element of half in the global data vector of common recognition data finger joint point, common recognition data are final Homogeneity value;
Wherein, the method for calculating common recognition data can be divided into actively propagating according to the type of gossip propagation agreement to be passed with passive It broadcasts;
The active transmission method comprises the steps of:
The local data of S61, calculate node itself is assigned to corresponding element in global data vector;
If S62, circulation way are Push-Gossip, itself global data vector is pushed to destination node;If propagating Mode is Pull-Gossip, then receives the global data vector of destination node transmission, updates itself global data according to definition 1 Vector;
S63, step S62 is repeated, until without null value in global data vector;
S64, common recognition data are calculated according to definition 2;
S65, output common recognition data, terminate;
The passive transmission method comprises the steps of:
The local data of P61, calculate node itself is assigned to corresponding element in global data vector;
Whether P62, node reviews itself are selected as destination node.If being chosen as destination node, and circulation way is Pull- Itself global data vector is then pushed to other side by Gossip;If circulation way is Push-Gossip, other side's transmission is received Global data vector, according to definition 1 update itself global data vector;
P63, step P62 is repeated, until sign off;
P64, common recognition data are calculated according to definition 2;
P65, output common recognition data, terminate.
Preferably, it in the step S7, further includes:
Judge whether verifying possesses common recognition data between node node accounts for more than half of node total number, if it is not, then into The common recognition for entering a new round reselects speaker's node and carries out motion;If so, generating block and being added in block chain.
Preferably, it in the step S8, further includes:
The block chain of output can be considered that account book, each block are equivalent to one page in account book, describe block head, transaction in detail One of feelings, transaction counter, timestamp, random number, difficulty target, block size data are a variety of;
Wherein, it includes upper block head cryptographic Hash that the block head, which is preceding 80 bytes of each data block, for guaranteeing Block is connected in order;The timestamp is used to record the generation time of block;The random number is arithmetic problem answer;The difficulty The degree-of-difficulty factor that target is arithmetic problem is spent to give a mark;The Transaction Details record the side of producing of every transaction, receipt side, the amount of money and turn Square digital signature out;The transaction counter states the quantity comprising transaction in each block;The block size indicates every The size of a block data.
Compared with prior art, the invention has the benefit that
1) there is higher failure tolerance, traditional Byzantium's method can only tolerate the error node no more than 1/3, we Method can tolerate nearly 1/2 node for Byzantium's node;
2) there is better scalability to compare with traditional Byzantium's method, even this method can guarantee system Popularization, the efficiency that information is exchanged between node will not reduce;
3) with the performance of dynamic load leveling, as block chain length changes in system, speaker's node can also turn therewith It moves, will not change because of node reduces system performance.All nodes are all reciprocity in simultaneity factor, solve Single Point of Faliure and ask Topic.
Detailed description of the invention
The present invention is based on the flow charts of the Byzantine failure tolerance block chain generation method of gossip propagation agreement by Fig. 1.
Specific embodiment
The Byzantine failure tolerance block chain generation method based on gossip propagation agreement that the invention discloses a kind of, in order to make this hair It is bright more obvious and easy to understand, the present invention is further elaborated below in conjunction with the drawings and specific embodiments.
As shown in Figure 1, including following step the present invention is based on the Byzantine failure tolerance block chain generation method of gossip propagation agreement It is rapid:
S1, common recognition network choose speaker's node according to rule;
S2, speaker's node are according to gossip propagation agreement to adjacent Congressman's node broadcasts motion;
Whether S3, Congressman's node verification speaker node and motion are all correct, if so, step S4 is continued to execute, if it is not, It then turns to step S1 and carries out new round common recognition, circulation carries out, until verifying is correct;
The local data LD (Local Data) of itself is calculated between S4, node;
Global data GD (Global Data) vector is calculated between S5, node;
Common recognition data CD (Common Data) is calculated between S6, node;
Verify whether node transaction data reaches common understanding between S7, node, if so, step S8 is continued to execute, if it is not, then turning New round common recognition is carried out to step S1, circulation carries out until verifying node transaction data is reached common understanding between node;
S8, each node generate block and are added in block chain;
The new intact block chain of S9, output.
In the step S1, specifically include:
Different with other common recognition methods, the Byzantine failure tolerance block chain of the invention based on gossip propagation agreement generates Speaker's node of method is proposed in turn by all nodes for participating in common recognition, each node for participating in common recognition is assigned one Number, since 0, the number of the last one node is n-1.The method that network of knowing together chooses node is as follows:
P=(l-r) mod n
Wherein, p refers to the number of speaker's node, and l refers to the length of current common recognition block chain, and r refers to current block chain length The wheel number of lower common recognition process is spent, n refers to the total nodal point number for participating in common recognition.Each round common recognition requires speaker's node, other Node is then Congressman's node, when new block generates and is added in block chain, immediately begins to the common recognition of a new round, r also by Reset to 0.
In the step S2, specifically include:
Gossip propagation agreement is that information is broadcast in whole network using a kind of random manner, mainly there is Push- (rumour based on " drawing " passes by based (being based on the gossip propagation agreement of " pushing away ", can also claim Push-Gossip) and Pull-based Agreement is broadcast, Pull-Gossip can also be claimed) two kinds.
Push-Gossip:
1) in network some host node it is random select arbitrarily a adjacent node as connection object;
2) the corresponding information of node-node transmission that the node is chosen to it;
3) passive node for receiving information is repeatedly performed identical work.
Pull-Gossip:
1) the random selection arbitrary neighborhood node of some host node is inquired either with or without newest information;
2) receive request passive node reply host node its be most recently received information the case where.
In order to improve the performance of gossip propagation agreement, there are also the hybrid protocols based on Push-Pull, for example, for two Node (A, B), such as: Push-Pull (A, B): being that A inquiry B is updated either with or without data, and if having, data are pushed to A by B, A self It updates, the data of update are pushed to B, B self-renewing again by A.
In the step S3, specifically include:
The verifying for the motion that Congressman's node broadcasts speaker includes the following:
1) whether the content of motion meets the rule of system, if it is satisfied, then think legal,;
2) transaction in motion whether there is in block chain, if it does not exist, then thinking legal;
3) transaction in motion whether there is dual payment, if it does not exist, then thinking legal;
4) whether all contract scripts of the transaction in motion are all correct executes, if it is, thinking legal;
If 5) meet above 4 points of legal judgements, then it is assumed that motion is correct, and receives motion.
In the step S4, specifically include:
Local data LD in step S4 is exactly the data attribute value that node itself contains.
In the step S5, specifically include:
The one-dimensional vector that global data GD is made of the LD value of n node calculates GD vector according to defined below;
It defines 1: setting vector GDiAnd GDjIt is the global data of node i and node j respectively.If GDi[x]≠GDj[x] andSet GDi[x]=GDj[x], i.e. GDiIn x-th of element updated;If GDj[x]≠GDi[x] andSet GDj[x]=GDi[x], i.e. GDjIn x-th of element updated.
In the step S6, specifically include:
Define 2: common recognition data CD refers to that the consistent element in the GD vector of node more than half, CD are finally consistent Value.
The method for calculating CD can be divided into according to the type of gossip propagation agreement actively to be propagated and passively propagates.
Wherein, the method actively propagated are as follows:
Step S61, the LD of calculate node itself is assigned to corresponding element in GD vector;
If step S62, circulation way is Push-Gossip, itself GD vector is pushed to destination node;If propagation side Formula is Pull-Gossip, then receives the GD vector of destination node transmission, updates itself GD vector according to definition 1;
Step S63, step 2 is repeated, until without null value in GD vector;
Step S64, common recognition data CD is calculated according to definition 2;
Step S65, output common recognition data CD, terminates.
The method passively propagated are as follows:
Step P61, the LD of calculate node itself is assigned to corresponding element in GD vector;
Step P62, whether node reviews itself are selected as destination node.If being chosen as destination node, and circulation way is Itself GD vector is then pushed to other side by Pull-Gossip;If circulation way is Push-Gossip, other side's transmission is received GD vector, according to definition 1 update itself GD vector;
Step P63, step 2 is repeated, until sign off;
Step P64, common recognition data CD is calculated according to definition 2;
Step P65, output common recognition data CD, terminates.
In the step S7, specifically include:
Between node verifying possess common recognition data CD node whether account for node total number more than half, if not, so into The common recognition for entering a new round reselects speaker's node and carries out motion;If it is, generating block and being added in block chain.
In the step S9, specifically include:
The block chain of output can regard big account book as, and each block is equivalent to one page in account book, mainly describes The data such as block head, Transaction Details, timestamp, random number, difficulty target, transaction counter and block size.
Block head is preceding 80 bytes of each data block, includes mainly upper block head cryptographic Hash, for guaranteeing block It connects in order;Timestamp records the generation time of the block;The arithmetic problem answer of random number, i.e. the whole network absence from work without reason PK together;It is difficult Spend target, the degree-of-difficulty factor marking of the arithmetic problem;Transaction Details, the detailed side of producing for having recorded every transaction, receipt side, gold The digital signature of volume and the side of producing is the main contents in each block;Transaction counter is stated in each block comprising transaction Quantity;Block size indicates the size of each block data, and current each block is limited within 1MB, however not excluded that Yi Houyou Widened possibility.
Method of the present invention is illustrated with an example below:
Assuming that having five nodes of A, B, C, D, E in common recognition network, each node has 2 neighbors, interior joint C and node E is Byzantium's node, and node A, node B and node D are correct node, and node relationships meet n >=2b+1, and n is total nodal point number, b For Byzantium's number of nodes.Assuming that current block chain length is 2, the LD that correct node calculates is s, according to p=(l-r) modn, the One wheel should be served as speaker's node by A node and broadcast motion.System initial value such as table 1.
1 algorithm examples system initial value of table
Node Adjacent Node LD BFT
A B、D s no
B C、E s no
C A、E any yes
D B、E s no
E A、B any yes
Node indicate node, Adjacent Node indicate adjacent node, LD indicate local data, BFT indicate whether for Byzantium's node (error node).It is communicated in the way of the Push-Pull of gossip propagation agreement between node, the first round is logical Believe result such as table 2, serial number 1 indicates that adjacent node B is elected to be destination node by speaker's node A, mutually sends the GD vector of oneself To other side, obtain consistent results [s, s ,-,-, -], and update oneself GD vector.Serial number 2 is also similar to serial number 5.It should be noted that Be node C and node E be Byzantium's node, the LD of itself can be arbitrary value.
2 first round of table result of communication
Number indicates serial number, and Node indicates that node, Initial GD indicate initial global data, Output GD node Between communicated after export global data.After the completion of first round communication, since the GD vector of node has null value, carry out The communication of second wheel, the results are shown in Table 3.In table 3, serial number 1 indicates that after the completion of communication, node A and node D may determine that section Point C and node E is Byzantium's node;Serial number 2 and serial number 5 indicate that after the completion of communication, node B may determine that node E is to visit to account for Front yard node;Serial number 4 indicates that after the completion of communication, node D may determine that node E is Byzantium's node.Example explanation, passes through two Wheel communication, the GD vector of all nodes is all free of null value, and the consistent element s of half is had more than in GD vector, while correct Node can identify Byzantium's node.That is, in the case where system Byzantium node is less than total half, it is correct to save Point can reach common understanding to motion, realize the purpose of Byzantine failure tolerance.
Table 3 second takes turns result of communication
It is discussed in detail although the contents of the present invention have passed through above preferred embodiment, but it should be appreciated that above-mentioned Description is not considered as limitation of the present invention.After those skilled in the art have read above content, for of the invention A variety of modifications and substitutions all will be apparent.Therefore, protection scope of the present invention should be limited to the appended claims.

Claims (10)

1. a kind of Byzantine failure tolerance block chain generation method based on gossip propagation agreement, which is characterized in that comprise the steps of:
S1, common recognition network choose speaker's node according to rule;
S2, speaker's node are according to gossip propagation agreement to adjacent Congressman's node broadcasts motion;
S3, when Congressman's node verification speaker node and motion are correct, continue to execute step S4;
The local data of itself is calculated between S4, node;
Global data vector is calculated between S5, node;
Common recognition data are calculated between S6, node;
S7, when between node verify node transaction data reach common understanding when, continue to execute step S8;
S8, each node generate block and are added in block chain;
The new intact block chain of S9, output.
2. the Byzantine failure tolerance block chain generation method based on gossip propagation agreement as described in claim 1, which is characterized in that
In the step S3, if one or two in verifying Congressman's node verification speaker node and motion are incorrect, The S1 that gos to step carries out new round common recognition, and circulation carries out until verifying is correct.
3. the Byzantine failure tolerance block chain generation method based on gossip propagation agreement, feature exist as claimed in claim 1 or 2 In,
In the step S7, when verifying node transaction data is not reached common understanding between node, then the S1 that gos to step carries out new one Wheel common recognition, circulation carries out until verifying node transaction data is reached common understanding between node.
4. the Byzantine failure tolerance block chain generation method based on gossip propagation agreement as claimed in claim 3, which is characterized in that
In the step S1, further include:
Speaker's node of Byzantine failure tolerance block chain generation method based on gossip propagation agreement is all sections by participating in common recognition Point proposes that each node for participating in common recognition is assigned a number, and since 0, the number of the last one node is in turn n-1;The method that network of knowing together chooses node are as follows:
P=(l-r) mod n
In formula, p refers to the number of speaker's node, and l refers to the length of current common recognition block chain, and r refers under current block chain length The wheel number of common recognition process, n refer to the total nodal point number for participating in common recognition;
Wherein, each round common recognition requires speaker's node, other nodes are then Congressman's node, when new block generates and adds When entering into block chain, the common recognition of a new round is immediately begun to, r is also reset as 0.
5. the Byzantine failure tolerance block chain generation method based on gossip propagation agreement as described in claim 1, which is characterized in that
In the step S2, the gossip propagation agreement is that information is broadcast in whole network using random manner, includes Push-Gossip and Pull-Gossip two ways;
Wherein, Push-Gossip mode includes following procedure:
1) in network some host node it is random select arbitrarily a adjacent node as connection object;
2) the corresponding information of node-node transmission that the node is chosen to it;
3) passive node for receiving information is repeatedly performed identical work;
Pull-Gossip mode includes following procedure:
1) the random selection arbitrary neighborhood node of some host node is inquired either with or without newest information;
2) receive request passive node reply host node its be most recently received information the case where.
6. the Byzantine failure tolerance block chain generation method based on gossip propagation agreement as described in claim 1, which is characterized in that
In the step S3, further include: Congressman's node includes following procedure to the verifying for the motion that speaker broadcasts:
1) judge whether the content of motion meets the rule of system, if satisfied, then thinking legal;
2) judge that the transaction in motion whether there is in block chain, if it does not exist, then it is assumed that legal;
3) judge that the transaction in motion whether there is dual payment, if it does not exist, then it is assumed that legal;
4) judge whether all contract scripts of the transaction in motion are all correct to execute, if so, thinking legal;
If 5) meet above 4 points of legal judgements, then it is assumed that motion is correct, and receives motion.
7. the Byzantine failure tolerance block chain generation method based on gossip propagation agreement as described in claim 1, which is characterized in that
In the step S4, the local data is the data attribute value that node itself contains.
8. the Byzantine failure tolerance block chain generation method based on gossip propagation agreement as described in claim 1, which is characterized in that
In the step S5, further include:
Global data includes the one-dimensional vector of the local data value composition of n node, calculates global data vector according to following fixed Justice:
It defines 1: setting vector GDiAnd GDjIt is the global data of node i and node j respectively;If GDi[x]≠GDj[x] andGD is seti[x]=GDj[x], then GDiIn x-th of element updated;If GDj[x]≠GDi[x] andGD is setj[x]=GDi[x], then GDjIn x-th of element updated;
In the step S6, further include:
It defines 2: being more than the consistent element of half in the global data vector of common recognition data finger joint point, common recognition data are final one Cause value;
Wherein, the method for calculating common recognition data can be divided into actively propagating according to the type of gossip propagation agreement to be propagated with passive;
The active transmission method comprises the steps of:
The local data of S61, calculate node itself is assigned to corresponding element in global data vector;
If S62, circulation way are Push-Gossip, itself global data vector is pushed to destination node;If circulation way For Pull-Gossip, then the global data vector of destination node transmission is received, itself global data vector is updated according to definition 1;
S63, step S62 is repeated, until without null value in global data vector;
S64, common recognition data are calculated according to definition 2;
S65, output common recognition data, terminate;
The passive transmission method comprises the steps of:
The local data of P61, calculate node itself is assigned to corresponding element in global data vector;
Whether P62, node reviews itself are selected as destination node.If being chosen as destination node, and circulation way is Pull- Itself global data vector is then pushed to other side by Gossip;If circulation way is Push-Gossip, other side's transmission is received Global data vector, according to definition 1 update itself global data vector;
P63, step P62 is repeated, until sign off;
P64, common recognition data are calculated according to definition 2;
P65, output common recognition data, terminate.
9. the Byzantine failure tolerance block chain generation method based on gossip propagation agreement as described in claim 1, which is characterized in that
In the step S7, further include:
Judge whether verifying possesses common recognition data between node node accounts for more than half of node total number, if it is not, then entering new The common recognition of one wheel reselects speaker's node and carries out motion;If so, generating block and being added in block chain.
10. the Byzantine failure tolerance block chain generation method based on gossip propagation agreement, feature exist as described in claim 1 In,
In the step S8, further include:
The block chain of output can be considered that account book, each block are equivalent to one page in account book, describe block head, Transaction Details, One of transaction counter, timestamp, random number, difficulty target, block size data are a variety of;
Wherein, it includes upper block head cryptographic Hash that the block head, which is preceding 80 bytes of each data block, for guaranteeing block It connects in order;The timestamp is used to record the generation time of block;The random number is arithmetic problem answer;The difficulty mesh It is designated as the degree-of-difficulty factor marking of arithmetic problem;The Transaction Details record the side of producing, receipt side, the amount of money and the side of producing of every transaction Digital signature;The transaction counter states the quantity comprising transaction in each block;The block size indicates each area The size of block number evidence.
CN201811149548.7A 2018-09-29 2018-09-29 A kind of Byzantine failure tolerance block chain generation method based on gossip propagation agreement Pending CN109246122A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811149548.7A CN109246122A (en) 2018-09-29 2018-09-29 A kind of Byzantine failure tolerance block chain generation method based on gossip propagation agreement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811149548.7A CN109246122A (en) 2018-09-29 2018-09-29 A kind of Byzantine failure tolerance block chain generation method based on gossip propagation agreement

Publications (1)

Publication Number Publication Date
CN109246122A true CN109246122A (en) 2019-01-18

Family

ID=65055171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811149548.7A Pending CN109246122A (en) 2018-09-29 2018-09-29 A kind of Byzantine failure tolerance block chain generation method based on gossip propagation agreement

Country Status (1)

Country Link
CN (1) CN109246122A (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109756589A (en) * 2019-02-20 2019-05-14 中国互联网络信息中心 A kind of domain-name information maintenance system controlled altogether in many ways based on block chain
CN110636113A (en) * 2019-08-23 2019-12-31 上海电力大学 Byzantine fault-tolerant consensus method, system, device and storage medium for blockchains
CN110915185A (en) * 2019-03-18 2020-03-24 阿里巴巴集团控股有限公司 Consensus system downtime recovery
WO2019170169A3 (en) * 2019-06-05 2020-04-02 Alibaba Group Holding Limited Consensus system and method
CN111010278A (en) * 2019-11-14 2020-04-14 江苏大学 High fault tolerance layered consensus method based on DPoS
CN111107103A (en) * 2019-12-31 2020-05-05 南京可信区块链与算法经济研究院有限公司 Method, system and storage medium for maintaining performance of alliance chain
CN111756548A (en) * 2020-06-17 2020-10-09 深圳市蔚链科技有限公司 Node consensus mechanism optimization method, system, device and storage medium
CN111866076A (en) * 2020-06-18 2020-10-30 中电健康云科技有限公司 Discrete acquisition front-end processor node data synchronization method based on gossip protocol
CN112187490A (en) * 2019-07-01 2021-01-05 深圳法大大网络科技有限公司 Byzantine fault-tolerant consensus method and system
CN112818409A (en) * 2020-07-03 2021-05-18 支付宝(杭州)信息技术有限公司 Block generation method and consensus node
CN112911011A (en) * 2021-02-05 2021-06-04 深圳前海益链网络科技有限公司 Block generation control method applied to block chain and related device
CN113127894A (en) * 2021-03-03 2021-07-16 合肥工业大学 Public opinion propagation model-based cryptocurrency network data propagation method and system
CN113810465A (en) * 2021-08-12 2021-12-17 清华大学 Asynchronous binary consensus method and device
US11250021B2 (en) 2020-04-17 2022-02-15 International Business Machines Corporation Faster view change for blockchain
CN115051924A (en) * 2022-06-08 2022-09-13 上海佰贝网络工程技术有限公司 Communication mode coordination method, device, equipment, system and medium in Gossip algorithm based on data broadcasting

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445711A (en) * 2016-08-28 2017-02-22 杭州云象网络技术有限公司 Byzantine-fault-tolerant consensus method applied to block chain
CN107124403A (en) * 2017-04-14 2017-09-01 朱清明 The generation method and computing device of common recognition block in block chain
CN108830711A (en) * 2018-05-07 2018-11-16 国网浙江省电力有限公司嘉兴供电公司 A kind of energy internet business account book management method and system based on block chain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445711A (en) * 2016-08-28 2017-02-22 杭州云象网络技术有限公司 Byzantine-fault-tolerant consensus method applied to block chain
CN107124403A (en) * 2017-04-14 2017-09-01 朱清明 The generation method and computing device of common recognition block in block chain
CN108830711A (en) * 2018-05-07 2018-11-16 国网浙江省电力有限公司嘉兴供电公司 A kind of energy internet business account book management method and system based on block chain

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
区块链数据中心: "《区块链"知识点"课堂(八)》", 《百度快照-看点快报》 *
张仕将等: "《基于Gossip协议的拜占庭共识算法》", 《计算机科学》 *
探其财经: "《区块链记录的信息有哪些_区块链节点是什么意思》", 《探其财经》 *
邵奇峰等: "《区块链技术_架构及进展》", 《计算机学报》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109756589A (en) * 2019-02-20 2019-05-14 中国互联网络信息中心 A kind of domain-name information maintenance system controlled altogether in many ways based on block chain
CN110915185A (en) * 2019-03-18 2020-03-24 阿里巴巴集团控股有限公司 Consensus system downtime recovery
EP3701701A4 (en) * 2019-06-05 2020-12-30 Alibaba Group Holding Limited Consensus system and method
WO2019170169A3 (en) * 2019-06-05 2020-04-02 Alibaba Group Holding Limited Consensus system and method
CN111630826B (en) * 2019-06-05 2022-07-29 创新先进技术有限公司 Consensus system and method
US10671599B2 (en) 2019-06-05 2020-06-02 Alibaba Group Holding Limited Consensus system and method
CN111630826A (en) * 2019-06-05 2020-09-04 阿里巴巴集团控股有限公司 Consensus system and method
CN112187490B (en) * 2019-07-01 2023-04-07 深圳法大大网络科技有限公司 Byzantine fault-tolerant consensus method and system
CN112187490A (en) * 2019-07-01 2021-01-05 深圳法大大网络科技有限公司 Byzantine fault-tolerant consensus method and system
CN110636113A (en) * 2019-08-23 2019-12-31 上海电力大学 Byzantine fault-tolerant consensus method, system, device and storage medium for blockchains
CN111010278A (en) * 2019-11-14 2020-04-14 江苏大学 High fault tolerance layered consensus method based on DPoS
CN111107103A (en) * 2019-12-31 2020-05-05 南京可信区块链与算法经济研究院有限公司 Method, system and storage medium for maintaining performance of alliance chain
CN111107103B (en) * 2019-12-31 2022-04-15 南京可信区块链与算法经济研究院有限公司 Method, system and storage medium for maintaining performance of alliance chain
US11775556B2 (en) 2020-04-17 2023-10-03 International Business Machines Corporation Faster view change for blockchain
US11250021B2 (en) 2020-04-17 2022-02-15 International Business Machines Corporation Faster view change for blockchain
CN111756548A (en) * 2020-06-17 2020-10-09 深圳市蔚链科技有限公司 Node consensus mechanism optimization method, system, device and storage medium
CN111866076A (en) * 2020-06-18 2020-10-30 中电健康云科技有限公司 Discrete acquisition front-end processor node data synchronization method based on gossip protocol
CN112818409A (en) * 2020-07-03 2021-05-18 支付宝(杭州)信息技术有限公司 Block generation method and consensus node
CN112818409B (en) * 2020-07-03 2022-06-14 支付宝(杭州)信息技术有限公司 Block generation method and consensus node
CN112911011A (en) * 2021-02-05 2021-06-04 深圳前海益链网络科技有限公司 Block generation control method applied to block chain and related device
CN113127894B (en) * 2021-03-03 2022-09-30 合肥工业大学 Public opinion propagation model-based cryptocurrency network data propagation method and system
CN113127894A (en) * 2021-03-03 2021-07-16 合肥工业大学 Public opinion propagation model-based cryptocurrency network data propagation method and system
CN113810465A (en) * 2021-08-12 2021-12-17 清华大学 Asynchronous binary consensus method and device
CN113810465B (en) * 2021-08-12 2022-08-12 清华大学 Asynchronous binary consensus method and device
WO2023016426A1 (en) * 2021-08-12 2023-02-16 清华大学 Asynchronous binary agreement method and apparatus, and electronic device and storage medium
CN115051924A (en) * 2022-06-08 2022-09-13 上海佰贝网络工程技术有限公司 Communication mode coordination method, device, equipment, system and medium in Gossip algorithm based on data broadcasting
CN115051924B (en) * 2022-06-08 2023-11-21 上海佰贝网络工程技术有限公司 Communication mode coordination method, device, equipment, system and medium in Gossip algorithm based on data broadcasting

Similar Documents

Publication Publication Date Title
CN109246122A (en) A kind of Byzantine failure tolerance block chain generation method based on gossip propagation agreement
Muzammal et al. Renovating blockchain with distributed databases: An open source system
CN107528886B (en) Block chain full-network splitting method and system
Madden et al. TAG: A tiny aggregation service for ad-hoc sensor networks
WO2020024904A1 (en) Method and device for searching blockchain data, and readable storage medium
Xie et al. A survey on blockchain consensus mechanism: research overview, current advances and future directions
Tang et al. Improved PBFT algorithm for high-frequency trading scenarios of alliance blockchain
CN111951108A (en) Chain structure design method with intelligent contract block chain with complete picture
CN109447605A (en) A kind of chain currency conversion method, apparatus, equipment and medium based on block chain
CN109146677A (en) Method, computer system and the readable storage medium storing program for executing of parallel building block chain view
Jiang et al. A trust-based hierarchical consensus mechanism for consortium blockchain in smart grid
Wu et al. On increasing scalability and liquidation of lightning networks for blockchains
CN111724258A (en) Realization method of alliance chain transaction concurrent scheme based on ring topology, dependency graph and multi-version control
Fan et al. Dlbn: Group storage mechanism based on double-layer blockchain network
CN113570365A (en) Community discovery-based DAG network topology construction method and trading method
Xu et al. Locking mechanism for concurrency conflicts on hyperledger fabric
Set et al. Service-aware dynamic sharding approach for scalable blockchain
Khan Efficient Partitioning of Large Databases without Query Statistics.
Wu et al. Chain or DAG? Underlying data structures, architectures, topologies and consensus in distributed ledger technology: A review, taxonomy and research issues
Gai et al. A summary of the research on the foundation and application of blockchain technology
CN101442466B (en) Superpose network and implementing method
Guo et al. A secure incentive mechanism for competitive organization data sharing: A contract theoretic approach
Wang et al. Multi-stage data synchronization for public blockchain in complex network environment
Ayari et al. Partac: A partition-tolerant atomic commit protocol for manets
CN115292311A (en) Energy data management-oriented block chain data storage consensus method and system

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190118