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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group 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
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.
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)
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)
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 |
-
2018
- 2018-09-29 CN CN201811149548.7A patent/CN109246122A/en active Pending
Patent Citations (3)
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)
Title |
---|
区块链数据中心: "《区块链"知识点"课堂(八)》", 《百度快照-看点快报》 * |
张仕将等: "《基于Gossip协议的拜占庭共识算法》", 《计算机科学》 * |
探其财经: "《区块链记录的信息有哪些_区块链节点是什么意思》", 《探其财经》 * |
邵奇峰等: "《区块链技术_架构及进展》", 《计算机学报》 * |
Cited By (27)
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 |