CN109327548A - A kind of block chain update method and block chain more new system - Google Patents

A kind of block chain update method and block chain more new system Download PDF

Info

Publication number
CN109327548A
CN109327548A CN201811438024.XA CN201811438024A CN109327548A CN 109327548 A CN109327548 A CN 109327548A CN 201811438024 A CN201811438024 A CN 201811438024A CN 109327548 A CN109327548 A CN 109327548A
Authority
CN
China
Prior art keywords
node
request message
point group
group
block chain
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
CN201811438024.XA
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.)
Beijing Brilliant Hi Tech Development Co Ltd
Original Assignee
Beijing Brilliant Hi Tech Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Brilliant Hi Tech Development Co Ltd filed Critical Beijing Brilliant Hi Tech Development Co Ltd
Priority to CN201811438024.XA priority Critical patent/CN109327548A/en
Publication of CN109327548A publication Critical patent/CN109327548A/en
Pending legal-status Critical Current

Links

Classifications

    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

The present invention relates to a kind of block chain update method and block chain more new systems, method includes the following steps: central node receives the request message that client is sent;Request message described in each node broadcasts in first segment point group where from central node to central node, each node carries out common recognition processing to the request message in the first segment point group;When each node reaches common understanding to the request message in the first segment point group, each node is synchronous to request message progress data with the first segment point group interior joint in second node group;When each node is synchronous to request message completion data in the second node group, block chain is updated according to the request message.All nodes of block chain are divided into two parts by block chain update method and block chain more new system of the invention, avoid the not applicable problem of the excessive Byzantine failure tolerance of node, the total node number mesh that network can accommodate is improved, network fault tolerance ability and scalability are enhanced.

Description

A kind of block chain update method and block chain more new system
Technical field
The present invention relates to block chain technical field more particularly to a kind of block chain update methods and block chain more new system.
Background technique
It is to guarantee that all node datas are identical in cluster and can be right that distributed system, which works normally key problem, Some motion is reached an agreement.Traditional distributed systems face following two problem:
1. number of nodes increases or reduces, it may be possible to node failure failure delay machine
2. communicating between node, the disturbed perhaps terminal speed of service is had differences or block chain network has delay etc. Deng.
Block chain network presence delay is inevitable in reality, and tradeoff is made between strong consistency and availability, Mainstream distributed system final choice consistency at present.Multiple nodes are allowed to conflict, it can be just between node as long as meeting Normal open letter, and conflict can solve two conditions in finite time and can reach final consistency.Tradition distribution at present Formula system can be very good to solve consistency problem by Paxos and Raft common recognition algorithm.
Block chain technology is verified and storing data using the block structure of encryption chain type, is known together using distributed node Algorithm generates and more new data, programs the decentralization base completely new with one kind of operation data using automatized script code Plinth framework and distributed computing normal form.
In block chain network, such as bit coin block chain network, there is only Problem of Failure for node, and there is also what is done evil May, i.e., node may deliberately send wrong data.Here we will introduce Byzantium's appearance general's problem, Byzantium general Model is then most complicated stringent Fault-tolerant Model in field of distributed type, it allows node to do evil, i.e., node, which can choose, is not responding to Even deliberately send wrong data.In order to avoid such mistake, block catenary system introduces a kind of common recognition mechanism, it is desirable that each The global account book that node has only one generally acknowledged.
Presently, there are common recognition mechanism algorithm have proof of work mechanism POW (Proof of Work, proof of work machine System, miner constantly carry out Hash calculation while handling transaction data, and 23 are before obtaining one for 0 cryptographic Hash Nonce, this process is exactly the still feasible computational problem that acquires a certain degree of difficulty at solution one, but the process pair of Validation Answer Key It is easily that is, be not easy answer but be easily verified that the problem of for other nodes, this problem is logical Often need to consume a certain amount of calculating power, miner compares with competition block book keeping operation power and token reward by calculating power), equity proves machine (Proof of Stake, equity prove mechanism, and basic thought is the node for allowing in block chain network and possessing more equity by POS processed Have an opportunity to make more decisions in a shorter time, because equity holder is more likely to maintenance block chain network interests and fears It is penalized after doing evil), (Proof Of Authority, authority prove authoritative proof mechanism POA, use one group of so-called " power Limit " allows people to create new node on block chain and ensure network-wide security), commission equity proves DPOS (Delegated Proof Of Stake, commission equity prove that DPOS can allow each node to select the node participation that can represent oneself interests Into the contention of book keeping operation power, that is, it is similar to the voting mechanism of the board of directors, elects n accounting nodes, subsequent motion is by these quilts The node wheel stream process chosen), practical Byzantium's algorithm PBFT (Practical Byzantine Fault Tolerance, reality With Byzantium's algorithm, PBFT algorithm under the premise of guaranteeing flexibility and safety maximum allowable (n-1)/3 fault-tolerance, information After intercoursing among the nodes, each node lists all obtained information finally using most of result as solution) Etc..
Bit coin is the most successful application of block chain technology so far, is reached common understanding by the way of competition book keeping operation, competing The judgement for striving result has proof of work mechanism POW to complete.POW the disadvantage is that the inefficiency/wasting of resources that needs to know together/ There is huge power cost of bifurcated/needs etc., POW belongs to probability byzantine agreement.
The POS equity that ether mill uses proves that mechanism is reached common understanding, and drinks coin age, makes up POW common recognition mechanism common recognition efficiency Low problem can reach common understanding in a shorter time, the disadvantage is that may result in certain account rights because using equity surplus It is too big.
1999, Castro Liskov was in document " Practical Byzantine Fault Tolerance and Proactive Recovery " propose PBFT algorithm, for the first time Byzantine failure tolerance algorithm complexity from it is exponential be reduced to it is more Item formula grade, the algorithm are based on Paxos algorithm and optimize, also referred to as Byzantine Paxos.It has been answered extensively at present With PBFT ensures that message process can not using cryptography the relevant technologies (RSA signature algorithm/information authentication coding/abstract) It is tampered and destroys.It can guarantee safety and flexibility when malicious node is no more than 1/3.
PBFT algorithm is reached common understanding by ballot, be can be very good to solve bifurcation problem and is promoted block chain network effect Rate;POW and POS algorithm can not be detached from the presence of token, and PBFT can be independent of this, and common recognition is high-efficient also to be can be applied to High frequency transaction scene.
PBFT algorithm there are the problem of:
1. computational efficiency depends on the number of nodes of participation agreement, more than 100 nodes, Byzantine failure tolerance is just no longer applicable in , the excessive block chain of number of nodes, such as public chain environment are not suitable for, so PBFT is highly suitable for alliance's chain or privately owned The middle and small scales environment such as chain.
2. set expandability is poor.
3. system node be it is fixed, the open environment of publicly-owned chain can not be coped with, be only applicable to alliance's chain or private chain.
4.PBFT algorithm requires total node number n >=3f+1 (wherein, f represents number of nodes of doing evil).The failure node number of system Amount must not exceed the 1/3 of the whole network node, and otherwise whole system can not operate, and serious forgiveness is relatively low.
Therefore it provides a kind of block chain update method and block chain more new system.
Summary of the invention
In view of the above problems, the present invention is proposed in order to provide a kind of block chain update method and block chain more new system, The problem of overcoming the excessive Byzantine failure tolerance of system interior joint not applicable, causing network that can not know together.
According to an aspect of the present invention, a kind of block chain update method is provided, comprising the following steps:
Central node receives the request message that client is sent;
Request message described in each node broadcasts, the first segment in first segment point group where from central node to central node Each node carries out common recognition processing to the request message in point group;
When each node reaches common understanding to the request message in the first segment point group, in second node group each node with It is synchronous that the first segment point group interior joint carries out data to the request message;
When each node is synchronous to request message completion data in the second node group, according to the request message Block chain is updated.
Further, the central node requests to disappear into the first segment point group where central node described in each node broadcasts Before breath, further includes:
First segment point group is formed according to the node that the central node chooses destination number, in addition to the first segment point group Remaining node forms second node group;
Wherein, the destination number is less than preset threshold.
Further, in the first segment point group each node to the request message carry out common recognition processing the step of include:
Each node is total to the request message by practical Byzantine failure tolerance PBFT algorithm in the first segment point group Knowledge processing.
Further, in the second node group each node and the first segment point group interior joint to the request message into The synchronous step of row data includes:
Each node is by Gossip agreement and the first segment point group interior joint to the request in the second node group It is synchronous that message carries out data.
Further, each node disappears to the request by practical Byzantine failure tolerance PBFT algorithm in the first segment point group Ceasing the step of carrying out common recognition processing includes:
Each node is to the information signature of the request message, view number and message SN in the first segment point group It is verified, if being verified, confirmation is reached common understanding.
Further, each node passes through Gossip agreement and the first segment point group interior joint pair in the second node group The request message carries out the synchronous step of data
Any node and the first segment point group interior joint complete data to the request message in the second node group After synchronizing, newest data are sent to the neighbor node of the node;
If any node is synchronous without completing data in the given time in the second node group, to the neighbour of the node It occupies node and sends the synchronous request of propelling data.
According to another aspect of the present invention, a kind of block chain more new system is provided, comprising: central node, second node group With the first segment point group where central node,
Central node, for receiving the request message of client transmission, and into the first segment point group where central node Request message described in each node broadcasts;
Each node in first segment point group, for carrying out common recognition processing to the request message, and in the second node group In each node to the request message complete data it is synchronous when, block chain is updated according to the request message;
Each node in second node group, in the first segment point group each node reach common understanding to the request message When, it is synchronous that data are carried out to the request message with the first segment point group interior joint, and respectively save in the second node group When point is synchronous to request message completion data, block chain is updated according to the request message.
Further, block chain more new system, further includes:
Node cluster categorization module, the node for choosing destination number according to the central node form first segment point group, Remaining node in addition to the first segment point group forms second node group,
Wherein, the destination number is less than preset threshold.
Further, in first segment point group, each node knows together to the request message in the first segment point group The step of processing includes:
Each node is total to the request message by practical Byzantine failure tolerance PBFT algorithm in the first segment point group Knowledge processing.
Further, in second node group, each node and the first segment point group interior joint in the second node group Carrying out the synchronous step of data to the request message includes:
Each node is by Gossip agreement and the first segment point group interior joint to the request in the second node group It is synchronous that message carries out data.
The present invention has the advantage that compared with prior art
All nodes of block chain are divided into two parts by block chain update method and block chain more new system of the invention, the One node cluster interior joint is to the processing of request message common recognition, and second node group interior joint and first segment point group interior joint are to request message It carries out data to synchronize, avoids the not applicable problem of the excessive Byzantine failure tolerance of node, improve total node that network can accommodate Number enhances network fault tolerance ability and scalability.
Detailed description of the invention
Below in conjunction with drawings and examples, the invention will be further described.
Fig. 1 is block chain update method block diagram of the invention;
Fig. 2 is that block chain of the invention updates system schematic;
The communication process schematic diagram that Fig. 3 is PBFT node cluster of the invention when including 4 nodes;
In the accompanying drawings, 10- first segment point group, 20- second node group, 30- central node.
Specific embodiment
Exemplary embodiments of the present disclosure are described in more detail below with reference to accompanying drawings.Although showing the disclosure in attached drawing Exemplary embodiment, it being understood, however, that may be realized in various forms the disclosure without should be by embodiments set forth here It is limited.On the contrary, these embodiments are provided to facilitate a more thoroughly understanding of the present invention, and can be by the scope of the present disclosure It is fully disclosed to those skilled in the art.
Those skilled in the art of the present technique are appreciated that unless expressly stated, singular " one " used herein, " one It is a ", " described " and "the" may also comprise plural form.It is to be further understood that being arranged used in specification of the invention Diction " comprising " refer to that there are the feature, integer, step, operation, element and/or component, but it is not excluded that in the presence of or addition Other one or more features, integer, step, operation, element, component and/or their group.
Those skilled in the art of the present technique are appreciated that unless otherwise defined, all terms used herein (including technology art Language and scientific term), there is meaning identical with the general understanding of those of ordinary skill in fields of the present invention.Should also Understand, those terms such as defined in the general dictionary, it should be understood that have in the context of the prior art The consistent meaning of meaning, and unless otherwise will not be explained in an idealized or overly formal meaning by specific definitions.
Fig. 1 is block chain update method block diagram of the invention, referring to Fig. 1, block chain update method provided by the invention, The following steps are included:
Central node receives the request message that client is sent;
Request message described in each node broadcasts, the first segment in first segment point group where from central node to central node Each node carries out common recognition processing to the request message in point group;
When each node reaches common understanding to the request message in the first segment point group, in second node group each node with It is synchronous that the first segment point group interior joint carries out data to the request message;
When each node is synchronous to request message completion data in the second node group, according to the request message Block chain is updated.
All nodes of block chain are divided into two parts, first segment point group interior joint pair by block chain update method of the invention The processing of request message common recognition, second node group interior joint is synchronous to request message progress data with first segment point group interior joint, keeps away The not applicable problem of the excessive Byzantine failure tolerance of node is exempted from, has improved the total node number mesh that network can accommodate, enhance network Fault-tolerant ability and scalability.
Preferably, central node request message described in each node broadcasts into the first segment point group where central node Before, further includes:
First segment point group is formed according to the node that the central node chooses destination number, in addition to the first segment point group Remaining node forms second node group;
Wherein, the destination number is less than preset threshold.Specifically, the selection of first node group node is random, value It is noted that first node group node can be with the node around Selection Center node, preset threshold can be 100, but unlimited In this.
Preferably, in the first segment point group each node to the request message carry out common recognition processing the step of include:
Each node is total to the request message by practical Byzantine failure tolerance PBFT algorithm in the first segment point group Knowledge processing.Herein, first segment point group is properly termed as PBFT node cluster.
Specifically, as shown in figure 3, for ease of description PBFT in destination number M (M < 100) node Principles of Communication, I Assume M=4 to sketch the course of work.Center is saved centered on client Client sends request random selection arbitrary node Point chooses any 3 nodes and center center node composition PBFT node cluster around the node and carries out PBFT algorithm.Here objective Family end Client selects center node centered on server-side 0, and server-side 0,1,2,3 forms PBFT node, it is assumed that No. 3 are to delay Machine server-side:
1) request stage: client Client (being equivalent to commander-in-chief) sends a request message to the 0 (army of being equivalent to of server-side It is long).
2) the pre-preparation stage: the request message that server-side 0 receives client Client is broadcasted, and is spread to service Hold 1,2,3 (being equivalent to three teachers).
3) preparation stage: server-side 1,2,3 is broadcasted again after receiving request message, and server-side 1 is spread respectively to server-side 0, tentatively 2,3, server-side 2 is spread respectively to server-side 0,1,3,3 because delay machine can not be broadcasted, and here thinks that the teacher turns traitor.
4) confirmation stage: if 0,1,2,3 server-sides receive a certain number of same requests in the preparation stage, enter confirmation Stage, broadcast acknowledgements request.
5) transfer stages: 0,1,2,3 nodes, if receiving more than certain amount same request, are tied this in confirmation stage Fruit passes to remaining non-PBFT node cluster (second node group) interior joint, and remaining node is synchronized by data reaches common understanding.
A problem is referred here to, it is the node of delay machine that 4 nodes, which only have 1 node, and PBFT is to be in M > 3F+1, M PBFT total node number mesh, F is fault tolerant node number in the node cluster, as long as so fault tolerant node number meets M > 3F+1 Byzantium Fault-tolerant to can be obtained by solution, each node is reached common understanding quickly.
Preferably, each node and the first segment point group interior joint carry out the request message in the second node group The synchronous step of data includes:
Each node is by Gossip agreement and the first segment point group interior joint to the request in the second node group It is synchronous that message carries out data.Herein, second node group is properly termed as Gossip node cluster.
Gossip node cluster is reached common understanding by Gossip agreement:
Gossip is the tolerant fail algorithm with redundancy, and further, Gossip is a final consistency algorithm.
Although Gossip not can guarantee consistent in sometime all node states, but can guarantee in " final " all sections Point is consistent, and " final " is existed in a reality, but theoretically undemonstrable time point.It is passed similar to the rumour in crowd It broadcasts, Gossip agreement is a kind of communication mode for voluntarily selecting adjacent node in their own needs and exchanging information therewith.
In the embodiment of the present invention, remove first segment point group M node except, N number of node of other second node groups and First node group node is reached common understanding by Gossip agreement.Each node is communicated with other nodes at random, miscellaneous by some The disorderly communication without chapter, final all node states can all reach an agreement.Each node may know that all other node, it is also possible to Just know that several neighbor nodes, as long as these nodes can be connected to by block chain network, the state of finish nodes is all one It causes, Gossip agreement has the characteristics that epidemic situation propagation.
Node by Gossip come with it is a kind of it is expansible in the way of broadcast account book and channel data.Gossip comes out message Continuously, each node and on channel compliance in constantly receiving the account book current from multiple nodes Data.The message for the forgery that can be each signed by the message that Gossip is transmitted, therefore be sent by Byzantium's node will Can easily be identified, and can prevent by message distribution to be not intended to send target at.Node because by The influence of delay, block chain network subregion or other reasons causes the case where lacking Partial Block, finally will be by contacting The mode for possessing the node of the block of these missings, synchronizes with current account book state.
Data dissemination agreement based on Gossip executes three major functions in block chain network:
1. the discovery by way of constantly identifying available member node and final monitoring node off-line state, to node It is managed with the member in channel.
2. distributing account book data by all nodes in channel.The node that any data do not synchronize can be by logical Other nodes are in road to identify the block of missing, and are synchronized by replicating correct data.
3. synchronizing the node that connection is newly added quickly by allowing point-to-point state transfer to update account book data.
The node that block chain update method of the invention first randomly selects fixed quantity carries out the communication of PBFT algorithm, Qi Tajie Point carries out Gossip communication and reaches common understanding, and is finally reached consistency, improves the total node number mesh that block chain network can accommodate, Enhance block chain network fault-tolerant ability and scalability.It specifically, can from the block chain network that M+N node forms Out, the M node randomly selected does the communication of PBFT algorithm, as long as fault tolerant node number is less than 1/3M, N number of node is done Gossip communication, fault tolerant node is unlimited, has generally increased block chain network fault-tolerance, and increase block chain network interior joint Number.
Preferably, each node passes through practical Byzantine failure tolerance PBFT algorithm to the request message in the first segment point group Carrying out the step of common recognition is handled includes:
Each node is to the information signature of the request message, view number and message SN in the first segment point group It is verified, if being verified, confirmation is reached common understanding.
Herein, each node specifically verifies following three problems in first segment point group: whether information signature is correct, and view is compiled Number whether consistent and message SN meets waterline condition.The condition of being verified includes: that information signature is correct, message View number and node active view number is consistent and message SN meets waterline condition.Once being verified, PBFT Node cluster interior joint will confirm that in message write-in message logging that each PBFT node group node is confirmed by above-mentioned verifying, Reach common understanding, executes order.
Preferably, each node passes through Gossip agreement and the first segment point group interior joint to institute in the second node group Stating the synchronous step of request message progress data includes:
Any node and the first segment point group interior joint complete data to the request message in the second node group After synchronizing, newest data are sent to the neighbor node of the node;
If any node is synchronous without completing data in the given time in the second node group, to the neighbour of the node It occupies node and sends the synchronous request of propelling data.
At this point, newest state can be sent to it after the data of any node A obtain update in second node group Neighbor node B;It, can initiative neighbour if any node A is not updated whithin a period of time in second node group Node B is occupied to its propelling data, to passively be updated, after the exchange of several wheels, finally can make all nodes all Obtain newest data.
Referring to Fig. 3, the algorithm specific implementation based on PBFT in conjunction with Gossip is as follows, it is assumed that in block chain network There is M+N node, M node forms PBFT node cluster, and N number of node forms Gossip node cluster, and PBFT interstitial content is more than 100 Node, it is invalid for Byzantine failure tolerance effect, and M needs to meet condition M < 100 here, and the quantity of N is temporarily with no restrictions.
Present invention method comprises the following processes:
(1) client sends a request to the node in block chain network
Node centered on arbitrary node, chooses any around the node in the randomly selected node of client transmission request M node carries out PBFT algorithm.After reaching common understanding, transmitting consensus information to Gossip node cluster.
(2) the PBFT communication of M node is reached common understanding
M node reach PBFT common recognition need to undergo it is several under several stages:
Request (Request) stage: center center node is issued a command under client request, client is suitable Commander-in-chief Yu, center node are army commander, and commander-in-chief sends instruction to following army commander.
Pre-preparation (pre-prepare) stage: host node sends pre-preparation message to all replica nodes, including working as Front view number, client request and request are made a summary, and whether signature is consistent etc..Army commander's (central node) is to every teacher (replica node) is said, is my epoch (view) now, I is army commander, you are teachers, and all people listen mine.Now The order of commander-in-chief is announced, command context includes commander-in-chief's title and order clip Text.
Prepare (prepare) stage: all replica nodes are receiving preparation message including central node, to message label Whether name is correct, and whether view number is consistent and whether message SN meets three conditions of waterline and verified.If verifying By that preparation message can be written in message logging, replica node checks signing messages, for example other teachers hear commander-in-chief's name Word says pair, really this people of commander-in-chief is quite right, and then checking commander-in-chief and once appointing host node is army commander, and information is errorless, army commander If it is credible.
Confirm (commit) stage: each copy set, which receives the errorless condition of confirmation message, is:
1) signature is correct;
2) view of message improves consistent with node active view number;
3) the serial number n of message meets waterline condition, between h and H;
Once the acceptable conditions of confirmation message are met, then the replica node will confirm that in message write-in message logging.Often A teacher is to reach common understanding by above-mentioned confirmation, execute order.
(3) transfer stages: the consensus information that copy set is reached passes to remaining node, and remaining node passes through Gossip agreement Reach common understanding.
(4) reply: M+N node feedback result of reaching common understanding gives client node, the node reached common understanding, and generates Block chain is written in new block.
Block chain update method combination PBFT algorithm of the invention and Gossip algorithm can randomly select node, so that being Unite scalability enhancing, individual PBFT system node be it is fixed, the open environment of publicly-owned chain can not be coped with, be only applicable to alliance Chain or privately owned chain, this algorithm can randomly select node and be communicated.
Block chain update method combination PBFT algorithm of the invention and the enhancing of Gossip algorithm serious forgiveness, individual PBFT are calculated Method requires total node number n >=3f+1, wherein f represents number of nodes of doing evil, and the failure node quantity of system must not exceed the whole network node 1/3, otherwise whole system can not operate, and serious forgiveness is relatively low.
For embodiment of the method, for simple description, therefore, it is stated as a series of action combinations, but this field Technical staff should be aware of, and embodiment of that present invention are not limited by the describe sequence of actions, because implementing according to the present invention Example, some steps may be performed in other sequences or simultaneously.Secondly, those skilled in the art should also know that, specification Described in embodiment belong to preferred embodiment, the actions involved are not necessarily necessary for embodiments of the present invention.
Fig. 2 is that block chain of the invention updates system block diagram, referring to fig. 2, block chain more new system provided by the invention, packet It includes: first segment point group 10, second node group 20 where central node 30, central node,
Central node, for receiving the request message of client transmission, and into the first segment point group where central node Request message described in each node broadcasts;
Each node in first segment point group, for carrying out common recognition processing to the request message, and in the second node group In each node to the request message complete data it is synchronous when, block chain is updated according to the request message;
Each node in second node group, in the first segment point group each node reach common understanding to the request message When, it is synchronous that data are carried out to the request message with the first segment point group interior joint, and respectively save in the second node group When point is synchronous to request message completion data, block chain is updated according to the request message.
All nodes of block chain are divided into two parts, first segment point group interior joint pair by block chain more new system of the invention The processing of request message common recognition, second node group interior joint is synchronous to request message progress data with first segment point group interior joint, keeps away The not applicable problem of the excessive Byzantine failure tolerance of node is exempted from, has improved the total node number mesh that network can accommodate, enhance network Fault-tolerant ability and scalability.
Further, block chain more new system, further includes:
Node cluster categorization module, the node for choosing destination number according to the central node form first segment point group, Remaining node in addition to the first segment point group forms second node group,
Wherein, the destination number is less than preset threshold.
Further, in first segment point group, each node knows together to the request message in the first segment point group The step of processing includes:
Each node is total to the request message by practical Byzantine failure tolerance PBFT algorithm in the first segment point group Knowledge processing.
Further, in second node group, each node and the first segment point group interior joint in the second node group Carrying out the synchronous step of data to the request message includes:
Each node is by Gossip agreement and the first segment point group interior joint to the request in the second node group It is synchronous that message carries out data.
Further, in first segment point group, each node passes through practical Byzantine failure tolerance PBFT in the first segment point group Algorithm carries out the step of common recognition is handled to the request message
Each node is to the information signature of the request message, view number and message SN in the first segment point group It is verified, if being verified, confirmation is reached common understanding.
Further, in second node group, each node passes through Gossip agreement and described the in the second node group One node cluster interior joint carries out the synchronous step of data to the request message
Any node and the first segment point group interior joint complete data to the request message in the second node group After synchronizing, newest data are sent to the neighbor node of the node;
If any node is synchronous without completing data in the given time in the second node group, to the neighbour of the node It occupies node and sends the synchronous request of propelling data.
The algorithm that Gossip agreement of the present invention and PBFT are combined, the node by randomly selecting fixed quantity do PBFT calculation Method, other nodes carry out data by Gossip agreement and synchronize, and are finally reached consistency.
Gossip agreement is in a bounded block chain network, and each node is communicated with other nodes at random, is passed through Rambling communication, final all node states can all reach an agreement.Each node may know that all other node, It may also just know that several neighbor nodes, as long as these nodes can be connected to by block chain network, the state of finish nodes It is all consistent, Gossip agreement has the characteristics that epidemic situation propagation.
Gossip agreement is the agreement of comparative maturity in P2P block chain network, and advantage is increased even if clustered node quantity Add, the load of each node will not increase very much, almost constant.Even if there is node to restart because of delay machine, also have new Node intervention, but after a period of time, the state of these nodes can also reach an agreement with other nodes.Gossip naturally has It is distributed formula fault-tolerant ability.
Traditional Byzantium's algorithm complexity be 0 (N*N), block chain network more for node be it is non-expandable, It is appropriate to increase and attempt middle communication when the scale of system increases since Gossip agreement itself has preferable scalability The number of node still can guarantee high efficiency transmitting information between node.So increasing block link network in Gossip node cluster Network scalability also increases the scalability of entire block chain network.
The node that block chain more new system of the invention first randomly selects fixed quantity carries out the communication of PBFT algorithm, Qi Tajie Point carries out Gossip communication and reaches common understanding, and is finally reached consistency, improves the total node number mesh that block chain network can accommodate, Enhance block chain network fault-tolerant ability and scalability.
Block chain of the invention more new system combination PBFT algorithm and Gossip algorithm can randomly select node, so that being Unite scalability enhancing, individual PBFT system node be it is fixed, the open environment of publicly-owned chain can not be coped with, be only applicable to alliance Chain or privately owned chain, this algorithm can randomly select node and be communicated.
Block chain of the invention more new system combination PBFT algorithm and the enhancing of Gossip algorithm serious forgiveness, individual PBFT are calculated Method requires total node number n >=3f+1, wherein f represents number of nodes of doing evil, and the failure node quantity of system must not exceed the whole network node 1/3, otherwise whole system can not operate, and serious forgiveness is relatively low.
Specifically, it is as follows to update System Working Principle with block chain of the invention:
The node that the present invention randomly selects fixed quantity does PBFT communication, these nodes is called PBFT node cluster, then Other nodes are reached common understanding by Gossip agreement and PBFT, and to carry out data synchronous for node, is finally reached unanimously.
Steps are as follows for specific implementation:
Input: motion
Output: new block chain
Step 1 client sends a request to the node in block chain network;
Step 2 selects motion node and PBFT node cluster;
Step 3 broadcasts the message in PBFT node cluster group;
Step 4PBFT node cluster is reached common understanding;
Step 5Gossip node cluster is reached common understanding;
Step 6, which checks whether, reaches common understanding, if reaching common understanding and result of knowing together is not False, issues intact block, no Step 1 is then repeated, block chain is added in block, exports new block chain;
Step 7 feeds back client, terminates.
For system embodiments, since it is basically similar to the method embodiment, related so being described relatively simple Place illustrates referring to the part of embodiment of the method.
The above embodiments are merely illustrative of the technical solutions of the present invention, rather than its limitations;Although with reference to the foregoing embodiments Invention is explained in detail, those skilled in the art should understand that: it still can be to aforementioned each implementation Technical solution documented by example is modified or equivalent replacement of some of the technical features;And these modification or Replacement, the spirit and scope for technical solution of various embodiments of the present invention that it does not separate the essence of the corresponding technical solution.

Claims (10)

1. a kind of block chain update method, which comprises the following steps:
Central node receives the request message that client is sent;
Request message described in each node broadcasts in first segment point group where from central node to central node, the first segment point group In each node common recognition processing is carried out to the request message;
When each node reaches common understanding to the request message in the first segment point group, in second node group each node with it is described It is synchronous that first segment point group interior joint carries out data to the request message;
When each node is synchronous to request message completion data in the second node group, according to the request message to area Block chain is updated.
2. the method according to claim 1, wherein the central node is to the first node where central node In group before request message described in each node broadcasts, further includes:
First segment point group is formed according to the node that the central node chooses destination number, the residue in addition to the first segment point group Node forms second node group;
Wherein, the destination number is less than preset threshold.
3. block chain update method according to claim 1, which is characterized in that each node is to institute in the first segment point group Stating the step of request message carries out common recognition processing includes:
Each node carries out at common recognition the request message by practical Byzantine failure tolerance PBFT algorithm in the first segment point group Reason.
4. block chain update method according to claim 1, which is characterized in that each node and institute in the second node group Stating the first segment point group interior joint step synchronous to request message progress data includes:
Each node is by Gossip agreement and the first segment point group interior joint to the request message in the second node group It is synchronous to carry out data.
5. block chain update method according to claim 3, which is characterized in that each node passes through in the first segment point group Practical Byzantine failure tolerance PBFT algorithm carries out the step of common recognition is handled to the request message
Each node carries out the information signature of the request message, view number and message SN in the first segment point group Verifying, if being verified, confirmation is reached common understanding.
6. block chain update method according to claim 4, which is characterized in that each node passes through in the second node group Gossip agreement carries out the synchronous step of data to the request message with the first segment point group interior joint
Any node is synchronous to request message completion data with the first segment point group interior joint in the second node group Afterwards, newest data are sent to the neighbor node of the node;
If any node is synchronous without completing data in the given time in the second node group, saved to the neighbours of the node Point sends the synchronous request of propelling data.
7. a kind of block chain more new system characterized by comprising where central node, second node group and central node First segment point group,
Central node for receiving the request message of client transmission, and is respectively saved into the first segment point group where central node Point broadcasts the request message;
Each node in first segment point group, it is each for carrying out common recognition processing to the request message, and in the second node group When node is synchronous to request message completion data, block chain is updated according to the request message;
Each node in second node group, for when each node reaches common understanding to the request message in the first segment point group, It is synchronous to request message progress data with the first segment point group interior joint, and each node pair in the second node group When the request message completion data synchronize, block chain is updated according to the request message.
8. block chain more new system according to claim 7, which is characterized in that further include:
Node cluster categorization module, the node for choosing destination number according to the central node form first segment point group, remove institute The remaining node composition second node group outside first segment point group is stated,
Wherein, the destination number is less than preset threshold.
9. block chain more new system according to claim 8, which is characterized in that in first segment point group, the first segment In point group each node to the request message carry out common recognition processing the step of include:
Each node carries out at common recognition the request message by practical Byzantine failure tolerance PBFT algorithm in the first segment point group Reason.
10. block chain more new system according to claim 9, which is characterized in that in second node group, second section Each node step synchronous to request message progress data with the first segment point group interior joint includes: in point group
Each node is by Gossip agreement and the first segment point group interior joint to the request message in the second node group It is synchronous to carry out data.
CN201811438024.XA 2018-11-27 2018-11-27 A kind of block chain update method and block chain more new system Pending CN109327548A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811438024.XA CN109327548A (en) 2018-11-27 2018-11-27 A kind of block chain update method and block chain more new system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811438024.XA CN109327548A (en) 2018-11-27 2018-11-27 A kind of block chain update method and block chain more new system

Publications (1)

Publication Number Publication Date
CN109327548A true CN109327548A (en) 2019-02-12

Family

ID=65259361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811438024.XA Pending CN109327548A (en) 2018-11-27 2018-11-27 A kind of block chain update method and block chain more new system

Country Status (1)

Country Link
CN (1) CN109327548A (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902097A (en) * 2019-03-02 2019-06-18 杭州复杂美科技有限公司 Data-updating method, data reconstruction method, equipment and storage medium
CN110084596A (en) * 2019-04-01 2019-08-02 杜晓楠 A kind of method and apparatus of processing block chain mixing common recognition
CN110099127A (en) * 2019-05-13 2019-08-06 西安华域网络文化发展有限公司 A kind of block chain method of data synchronization, device, medium and electronic equipment
CN110166364A (en) * 2019-05-15 2019-08-23 武汉理工大学 A kind of software definition opportunistic network flow table update method based on practical Byzantine failure tolerance algorithm
CN110430282A (en) * 2019-08-16 2019-11-08 微位(深圳)网络科技有限公司 Data transmission method and device between distributed system node
CN110474986A (en) * 2019-08-20 2019-11-19 深圳前海微众银行股份有限公司 A kind of common recognition method, apparatus and system based on block catenary system
CN110597459A (en) * 2019-08-08 2019-12-20 上海隔镜信息科技有限公司 Storage method, main node, auxiliary node and system comprising main node and auxiliary node
CN110636113A (en) * 2019-08-23 2019-12-31 上海电力大学 Byzantine fault-tolerant consensus method, system, device and storage medium for blockchains
CN110650193A (en) * 2019-09-20 2020-01-03 腾讯科技(深圳)有限公司 Node management method, cluster management device and storage medium
CN110800258A (en) * 2019-03-18 2020-02-14 阿里巴巴集团控股有限公司 System and method for ending a view change protocol
CN110796547A (en) * 2019-10-30 2020-02-14 桂林电子科技大学 Improved practical Byzantine fault-tolerant system based on alliance block chain
CN111198895A (en) * 2020-02-18 2020-05-26 夏南南 Block chain updating method
CN111314427A (en) * 2020-01-16 2020-06-19 杭州趣链科技有限公司 Method, equipment and storage medium for acquiring all node information of block chain
CN111553594A (en) * 2020-04-28 2020-08-18 腾讯科技(深圳)有限公司 Resource allocation method, device, computer equipment and computer readable storage medium
CN111600965A (en) * 2020-06-05 2020-08-28 支付宝(杭州)信息技术有限公司 Consensus method and system in block chain
WO2020177547A1 (en) * 2019-03-05 2020-09-10 深圳前海微众银行股份有限公司 Blockchain system and transaction processing method for blockchain system
CN111654415A (en) * 2020-05-28 2020-09-11 腾讯科技(深圳)有限公司 Block chain based information processing method, device, equipment and readable storage medium
CN112162768A (en) * 2020-10-14 2021-01-01 支付宝(杭州)信息技术有限公司 Block chain upgrading method and system
CN112231415A (en) * 2020-12-16 2021-01-15 腾讯科技(深圳)有限公司 Data synchronization method and system of block chain network, electronic device and readable medium
CN112422526A (en) * 2020-11-03 2021-02-26 山西特信环宇信息技术有限公司 Cone block chain consensus system, method and network

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts
CN107257374A (en) * 2017-06-15 2017-10-17 中国银行股份有限公司 Transaction processing method and system on a kind of block chain
CN107807984A (en) * 2017-10-31 2018-03-16 上海分布信息科技有限公司 A kind of block chain network of subregion and its method for realizing subregion common recognition
CN108616596A (en) * 2018-05-09 2018-10-02 南京邮电大学 It is adaptively known together method based on the block chain that dynamic authorization and network environment perceive
CN108763302A (en) * 2018-04-19 2018-11-06 深圳市网心科技有限公司 Block chain common recognition processing method, electronic device and computer readable storage medium
CN108810077A (en) * 2018-04-19 2018-11-13 深圳市网心科技有限公司 Block chain common recognition processing method, electronic device and computer readable storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts
CN107257374A (en) * 2017-06-15 2017-10-17 中国银行股份有限公司 Transaction processing method and system on a kind of block chain
CN107807984A (en) * 2017-10-31 2018-03-16 上海分布信息科技有限公司 A kind of block chain network of subregion and its method for realizing subregion common recognition
CN108763302A (en) * 2018-04-19 2018-11-06 深圳市网心科技有限公司 Block chain common recognition processing method, electronic device and computer readable storage medium
CN108810077A (en) * 2018-04-19 2018-11-13 深圳市网心科技有限公司 Block chain common recognition processing method, electronic device and computer readable storage medium
CN108616596A (en) * 2018-05-09 2018-10-02 南京邮电大学 It is adaptively known together method based on the block chain that dynamic authorization and network environment perceive

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902097A (en) * 2019-03-02 2019-06-18 杭州复杂美科技有限公司 Data-updating method, data reconstruction method, equipment and storage medium
WO2020177547A1 (en) * 2019-03-05 2020-09-10 深圳前海微众银行股份有限公司 Blockchain system and transaction processing method for blockchain system
CN110800258B (en) * 2019-03-18 2022-04-22 创新先进技术有限公司 System and method for ending a view change protocol
CN110800258A (en) * 2019-03-18 2020-02-14 阿里巴巴集团控股有限公司 System and method for ending a view change protocol
CN110084596A (en) * 2019-04-01 2019-08-02 杜晓楠 A kind of method and apparatus of processing block chain mixing common recognition
CN110084596B (en) * 2019-04-01 2023-02-10 杜晓楠 Method and device for processing block chain mixed consensus
CN110099127A (en) * 2019-05-13 2019-08-06 西安华域网络文化发展有限公司 A kind of block chain method of data synchronization, device, medium and electronic equipment
CN110166364A (en) * 2019-05-15 2019-08-23 武汉理工大学 A kind of software definition opportunistic network flow table update method based on practical Byzantine failure tolerance algorithm
CN110597459A (en) * 2019-08-08 2019-12-20 上海隔镜信息科技有限公司 Storage method, main node, auxiliary node and system comprising main node and auxiliary node
CN110430282A (en) * 2019-08-16 2019-11-08 微位(深圳)网络科技有限公司 Data transmission method and device between distributed system node
CN110430282B (en) * 2019-08-16 2022-03-01 微位(深圳)网络科技有限公司 Data transmission method and device between nodes of distributed system
CN110474986A (en) * 2019-08-20 2019-11-19 深圳前海微众银行股份有限公司 A kind of common recognition method, apparatus and system based on block catenary system
CN110474986B (en) * 2019-08-20 2022-08-12 深圳前海微众银行股份有限公司 Consensus method, device and system based on block chain system
CN110636113A (en) * 2019-08-23 2019-12-31 上海电力大学 Byzantine fault-tolerant consensus method, system, device and storage medium for blockchains
CN110650193B (en) * 2019-09-20 2021-06-25 腾讯科技(深圳)有限公司 Node management method, cluster management device and storage medium
CN110650193A (en) * 2019-09-20 2020-01-03 腾讯科技(深圳)有限公司 Node management method, cluster management device and storage medium
CN110796547A (en) * 2019-10-30 2020-02-14 桂林电子科技大学 Improved practical Byzantine fault-tolerant system based on alliance block chain
CN111314427A (en) * 2020-01-16 2020-06-19 杭州趣链科技有限公司 Method, equipment and storage medium for acquiring all node information of block chain
CN111198895A (en) * 2020-02-18 2020-05-26 夏南南 Block chain updating method
CN111553594A (en) * 2020-04-28 2020-08-18 腾讯科技(深圳)有限公司 Resource allocation method, device, computer equipment and computer readable storage medium
CN111553594B (en) * 2020-04-28 2023-04-14 腾讯科技(深圳)有限公司 Resource allocation method, device, computer equipment and computer readable storage medium
CN111654415A (en) * 2020-05-28 2020-09-11 腾讯科技(深圳)有限公司 Block chain based information processing method, device, equipment and readable storage medium
CN111600965A (en) * 2020-06-05 2020-08-28 支付宝(杭州)信息技术有限公司 Consensus method and system in block chain
CN111600965B (en) * 2020-06-05 2023-10-27 支付宝(杭州)信息技术有限公司 Consensus method and system in blockchain
CN112162768A (en) * 2020-10-14 2021-01-01 支付宝(杭州)信息技术有限公司 Block chain upgrading method and system
CN112422526A (en) * 2020-11-03 2021-02-26 山西特信环宇信息技术有限公司 Cone block chain consensus system, method and network
CN112422526B (en) * 2020-11-03 2023-02-03 山西特信环宇信息技术有限公司 Cone block chain consensus system, method and network
CN112231415A (en) * 2020-12-16 2021-01-15 腾讯科技(深圳)有限公司 Data synchronization method and system of block chain network, electronic device and readable medium

Similar Documents

Publication Publication Date Title
CN109327548A (en) A kind of block chain update method and block chain more new system
KR102157452B1 (en) Performing a recovery process for network nodes in a distributed system
CN110868438B (en) Block chain network system
Alfandi et al. Blockchain solution for iot-based critical infrastructures: Byzantine fault tolerance
CN108769150A (en) Data processing method, device, clustered node and the storage medium of block chain network
CN111311414A (en) Block chain multi-party consensus method based on consistent hash algorithm
CN111625593B (en) Block chain-based data processing method and device and computer equipment
CN113347164B (en) Block chain-based distributed consensus system, method, device and storage medium
CN115811396A (en) Fast propagation of recent transactions over blockchain networks
CN109711192B (en) Method and system for inter-node transaction of block chain system
CN114218612B (en) Consensus method suitable for alliance chain high-frequency transaction scene
JP3910538B2 (en) How to share a secret verifiably in a potentially asynchronous network
CN112636989A (en) Method and device for federated learning communication
KR20200081533A (en) Blockchain Consensus Method based Improved Dynamic Blind Voting for Internet of Things Environment
Rahman et al. Modified bully algorithm using election commission
CN114050904A (en) Consensus system and method based on two-level leader node fragmentation structure
CN115134086A (en) Method and device for dynamic committee secret sharing and updating of asynchronous network
CN115174570A (en) Cross-chain consensus method and system based on dynamic committee
CN116451776A (en) Federal learning method based on high-availability non-interactive security aggregation
CN116455685A (en) PBFT improved consensus method under broadcast network
CN103095827B (en) A kind of local multi-client synergistic data method for down loading based on random network code
CN111818152B (en) Leader election consensus method based on distributed network
US10389647B2 (en) Controller coordination system
CN101969641A (en) Rapid ECDSA (Elliptic Curve Digital Signature Algorithm) based lightweight byzantine fault-tolerant routing of large-scale wireless sensor network
CN110443616A (en) Byzantine failure tolerance common recognition method based on random thresholding signature mechanism

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

Application publication date: 20190212

RJ01 Rejection of invention patent application after publication