CN109784916A - A method of ether mill common recognition mechanism that improving PBFT is applied to alliance's chain - Google Patents
A method of ether mill common recognition mechanism that improving PBFT is applied to alliance's chain Download PDFInfo
- Publication number
- CN109784916A CN109784916A CN201811518523.XA CN201811518523A CN109784916A CN 109784916 A CN109784916 A CN 109784916A CN 201811518523 A CN201811518523 A CN 201811518523A CN 109784916 A CN109784916 A CN 109784916A
- Authority
- CN
- China
- Prior art keywords
- node
- chain
- block
- alliance
- common recognition
- 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
- 230000007246 mechanism Effects 0.000 title claims abstract description 78
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012546 transfer Methods 0.000 claims abstract description 4
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000005284 excitation Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 230000006872 improvement Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 abstract description 4
- 240000008042 Zea mays Species 0.000 abstract 1
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 abstract 1
- 235000002017 Zea mays subsp mays Nutrition 0.000 abstract 1
- 235000005822 corn Nutrition 0.000 abstract 1
- 238000012790 confirmation Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000002360 preparation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008045 co-localization Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S50/00—Market activities related to the operation of systems integrating technologies related to power network operation or related to communication or information technologies
- Y04S50/12—Billing, invoicing, buying or selling transactions or other related activities, e.g. cost or usage evaluation
Abstract
The present invention analyzes the problem of ether mill is applied encountered in alliance's chain at this stage first, the very corn of a subject is that the common recognition mechanism based on proof of work is not suitable in alliance's chain, therefore the ether mill common recognition mechanism for proposing a kind of improvement PBFT for this problem is applied to the method for alliance's chain, by PBFT mechanism in conjunction with the block structure of ether mill, and detailed elaborate the implementation procedure of the mechanism;It is described first against PBFT mechanism is improved, and illustrates correctness of the mechanism for alliance's chain ether mill;Then for how to be realized in the environment in ether mill improve PBFT common recognition mechanism be explained in detail, by a block from generation, transmission and checking process carry out principle and realize on explanation.It is finally directed to ether mill block structure, proposes the improvement to certificate reclaim mechanism and view handover mechanism, checkpoint protocol and view handoff protocol are realized using timeout mechanism, reduce the data transfer overhead of network to a certain extent.
Description
Technical field
The present invention relates to block chain technical fields, and in particular to a kind of improvement PBFT (Practical Byzantine
Fault TolerancePractical Byzantine Fault Tolerance, practical Byzantine failure tolerance algorithm) ether
Mill common recognition mechanism is applied to the method for alliance's chain.
Background technique
In block catenary system, algorithm of the common recognition algorithm as data consistency between guarantee distributed node can be divided
For two major classes, i.e. probabilistic consistency algorithm and absolute consistency algorithm.
Probabilistic consistency algorithm refers between different distributions formula node, has greater probability to guarantee that internodal data reaches one
It causes, but there are still certain probability to make certain internodal datas inconsistent.For some back end, data are in node
Between inconsistent probability can passage at any time be gradually decrease to level off to zero, to be finally reached consistency.Such as workload
Prove that algorithm (Proof of Work, PoW), share prove that algorithm (Proof of Stake, PoS) and commission equity prove to calculate
Method (Delegated Proof of Stake, DPoS) belongs to probabilistic consistency algorithm.
Absolute consistency algorithm refers to point at any time, and the data between different distributions formula node can all keep absolute one
It causes, there is no the inconsistent situations of different internodal datas.Such as it common PAXOS algorithm and its is derived in distributed system
RAFT algorithm etc. and Byzantine failure tolerance class algorithm (class BFT algorithm).
According to CAP principle it is found that probabilistic consistency algorithm ensure that the availability of system and sacrifice the consistency of system,
Absolute consistency algorithm in contrast, ensure that the consistency of system and sacrifice the availability of system.
It is different according to block chain application at present, block chain can be divided into three classes, be publicly-owned chain, privately owned chain and alliance
Chain.Publicly-owned chain is complete decentralization, anyone both can be traded or be read information.Anyone can participate in
Trade confirmation and common recognition mechanism, each node on chain can be added at any time, can also exit at any time;Privately owned chain is to individual
Personal or entity carries out open block catenary system, and the permission of each node in system requires tissue to distribute, to each
The open data volume of node will be determined optionally by organizing;However alliance's chain is controlled by multiple centers, system is by several power
The mechanism co-localization formula of prestige is kept accounts, these nodes are further according to common recognition mechanism coordination work.This is the block of part decentralization
Chain, the common people can consult and trade, but just need to determine inside alliance if verifying transaction.According to previously mentioned, general
When block chain is applied in agri-food supply chains, agri-food supply chains can be classified as alliance's chain.Because of the book keeping operation power control of agri-food supply chains
It makes in each node of supply chain, including supplier, manufacturer, retailer and regulatory agency etc., and consumer can check food
Information in each link of supply chain, while guaranteeing the security traceability of information.
The common recognition mechanism that ether mill uses at present is proof of work mechanism, although decentralization may be implemented in PoW, will be remembered
Account power is assigned to other nodes, and realizes the mutual trust between supply chain node well, but the common recognition mechanism is applied to
Alliance's chain has disadvantages that major defect has the following:
(1) the digging mine mechanism in PoW requires computing resource very high, easily causes a large amount of electric power resources wastes and hardware device
Waste.
(2) it is known together mechanism using PoW, will cause that block is long synchronization time, and scalability is very weak, that most fatal is TPS low
And response speed is slow, this is that present business alliance's chain institute is unacceptable.
(3) since the computing capability of alliance's chain is lower than publicly-owned chain, be easy by other nodes by calculate power accumulation (including malice
Alliance etc.) confidence level of destroying whole chain, causes immeasurable loss.
Summary of the invention
The present invention carries out the improvement of PBFT common recognition mechanism first, solves network congestion problems, then proposes based on DPoA+
Basis of the common recognition mechanism of PBFT as ether mill common recognition mechanism, can not only lifting system handle number of transaction, and can also be real
Existing fast and reliable second grade confirmation.
In order to realize above-mentioned task, the invention adopts the following technical scheme:
A method of ether mill common recognition mechanism that improving PBFT is applied to alliance's chain, comprising the following steps:
In block catenary system, for the node in alliance's chain, participation common recognition node is filtered out using DPoA common recognition mechanism,
These nodes are constituted to the charging network of alliance's chain;
PBFT algorithm is applied in alliance's chain, to guarantee that it is consistent that the Transaction Information of alliance's chain interior joint is reached common understanding
Property;If the node is into alliance's chain in alliance's chain when the information difference of the block chain data information of certain node and other nodes
Other 2f+1 node request alliance's chains missings block hash, wherein f is alliance Lian Zhong Byzantium number of nodes;If should
The hash that node receives the block of greater than f node return is consistent, then it is assumed that it is trusty for needing synchronous block;If the section
Point does not then synchronize this block to other nodes, local block is directly added to alliance's chain in the hash for locally having this block;It is no
Then, it just selects any one to receive the node of this block hash, and synchronizes this block;It is synchronized when node completion alliance's chain
Afterwards, the transaction List Table that the node memory is stored is automatically updated;According to block newest in alliance's chain generate time, remove by
It is packaged into the Transaction Information of block and cochain.
Further, the method further include:
Judge whether the host node in alliance's chain mistake occurs by the following method, carries out host node when the error occurs
It reselects:
When host node transaction List Table is empty, if the most newly added block data of alliance's chain be not it is empty, and current time with
The difference of the time of newest cochain block is greater than t, then determines that mistake occurs in host node, needs switch view to reselect host node;
Wherein, t is the maximum duration for generating and reaching common understanding from the block of newest cochain;
If the newest block of alliance's chain is sky, and currently needing the block known together also is sky, then checks after needing waiting time t
Currently need the block known together that can reach common understanding, as that cannot reach common understanding with regard to switch view;If host node transaction List Table is not
Empty and the time of current time and newest cochain block difference is greater than t, then determines that mistake occurs in host node, need to reselect main section
Point is to submit block information.
Further, the use DPoA common recognition mechanism filters out participation common recognition node, comprising:
It is filtered out from each node of alliance's chain with the high quality node for stablizing online, smooth transfer and superperformance
And concentrate in a candidate pool, then use DPoA common recognition mechanism to select a certain number of nodes as participation from candidate pool
Common recognition node.
Further, the charging network, be carry out common recognition calculating node participate in common recognition when it is required
Excitation expense.
The present invention has following technical characterstic:
1 alliance chain of the building based on ether mill, but ether mill common recognition mechanism PoW, which will cause system, calculates power waste, can also
Because network delay causes block chain to generate branch.It can reduce using the ether mill based on PBFT common recognition mechanism and calculate power loss,
And it can be realized the grade confirmation of transaction second.
Checkpoint protocol in 2 pairs of PBFT common recognition mechanism improves, after block is reached common understanding, memory by the block it
Preceding transaction is all deleted, and memory headroom loss is reduced, and is deleted block transaction data and is not needed to reach common understanding, and network money is reduced
The consumption in source.
View handover mechanism in 3 pairs of PBFT common recognition mechanism improves, and this programme is using overtime trigger mechanism come again
System host node is selected, inter-node communication is reduced, so that grid resource loss is reduced.
Detailed description of the invention
Fig. 1 is that block generates flow chart;
Fig. 2 is the algorithm pattern for judging how many Byzantium's node in alliance's chain;
Fig. 3 is that request message is reached common understanding consistency protocol procedure chart;
Fig. 4 is the schematic diagram of the view handover mechanism proposed in this programme;
(a), (b) of Fig. 5 is respectively that the core of this programme experiment porch, thread check that interface is checked at interface and configuration;
Fig. 6 is the result schematic diagram of Byzantium's node test;
Fig. 7 is CPU proportion of goods damageds comparison diagram;
Fig. 8 is to remove encrypted communication to consume comparison diagram;
Fig. 9 is that system view handover network consumes comparison diagram.
Specific embodiment
One, block generation mechanism
When the member of alliance's chain (such as agri-food supply chains) trades, the node traded first verifies transaction
To guarantee the validity of transaction, then trade sequentially (including being transmitted through the transaction come from network other nodes) in write-in block.When
After block is generated according to standard (block size and block generate time standard), then broadcast to other nodes of network, other nodes
Block is then parsed, the transaction in block is verified, verification is added in block chain by rear each node by block is asynchronous.Area
The holding of data consistency is kept by father's Hash in block head to block chain in systems, and block head will by father's Hash
All blocks are linked to be a chain.
When there is no when transaction, i.e., the node transaction List Table is empty (possible in some period of alliance's chain node
Situations such as appearance network delay or the meshed network interrupt), which can calculate system time and add recently with block chain
The difference of upper block time, we are calculated as t.Node is calculated as δ t the time required to reaching common understanding from generation block to the whole network.As t > δ t,
Then show to produce an empty block at this time, and reach an agreement in common recognition network, dead zone block is then added to block chain
In, finally the node stops production block, and the whole network can reselect the generation that host node is responsible for block.If host node transaction column
Table is not empty, but within a specified time the whole network cannot reach common understanding, then reselect host node.There is malice for node to change
Transaction Information can then cancel its qualification as host node.
As shown in Figure 1, alliance chain node A initiates to trade to node B, private key A and public key B oneself is first used to add Transaction Information
It is close, transaction data is then sent to node B.After node B receives encrypting transactions data, then it is solved with the private key B of oneself
It is close, after confirmation transaction, then confirmation Transaction Information is encrypted with private key B and public key A and returns to node A.Node A uses the private of oneself again
Encrypted transaction message is decrypted in key, and confirmation B has confirmed that then transaction is completed to Transaction Information, and transaction is put into trading pit
In, and broadcast to other nodes of supply chain.When supply chain host node first judges the block that current time and block chain are added recently
Between stab difference whether be greater than δ t, if be not more than if do not generate block.If more than δ t, then a block task is added, and using lock
Mechanism prevents multithreading from causing verifying block data inconsistent.Then start to execute block task until block is added by verifying
It is added in block chain.
Two, the agreement that block is reached common understanding
1. Byzantium's number of nodes calculates
So-called Byzantium's node is the node that arbitrary act possible be presented, for example, the node cannot send it is any
Message, Xiang Butong neighbor node send different and mistake message, and lie about the input value etc. of oneself.Judge have in alliance's chain
How many a Byzantium's nodes, the algorithm gone out given in Fig. 2.
2. participating in the selection of common recognition node
DPoA (Delegated Proof-of-Ability) common recognition mechanism is the thought according to DPoS, proposes a kind of choosing
Select the mechanism for participating in the node of common recognition.The difference is that, DPoA common recognition mechanism is not to be held according to miner with traditional DPoS
Some token quantity or coin age as election criterion ballot weight, but by participate in each node of supply chain device storage capacity,
The indexs such as network stabilization, bandwidth, time delay, CPU usage are as measurement standard, to obtain better fairness and network effect
Rate.
The specific treatment mechanism of DPoA common recognition mechanism is as follows: for the equipment of memory space inadequate, being then no longer participate in book keeping operation;
For the node of unstable networks, then reduce its weight, then proposes that the probability of (Propose) block reduces by it, thus can
The node for making Network status good proposes block more;For with roomy node, then increasing its weight, propose block to improve it
Probability;The node low for time delay, then increase its weight, to improve the probability that it proposes block;The section high for CPU usage
Point then reduces its weight, to reduce the probability that it proposes block.
DPoA common recognition mechanism can be effectively ensured participate in accounting nodes always have enough memory spaces, system mode preferably, net
The preferable node of network environment, ensure that the stable operation of block catenary system, and it is big to solve each multi-node network environment difference of supply chain
The problem of.Since the every wheel dynamic selected section of DPoA meets the node of condition as ballot node, make common recognition mechanism it is safer,
It is stable and efficient.
Monitoring system is selected from each node of alliance's chain with the N for stablizing online, smooth transfer and superperformance first
A high quality node, and focus in a candidate pool.Then certain amount is selected from candidate pool using DPoA common recognition mechanism
Node, to form the charging network of entire alliance's chain;The charging network is to carry out the node of common recognition calculating in participation common recognition
When required excitation expense.These nodes are rotated at regular intervals and are re-elected, to prevent calculate node by external world's exposure and attack
It hits.
The consistency protocol of 3.PBFT common recognition
Assuming that system interior joint quantity is R >=3f+1, wherein f is Byzantium's number of nodes in system.Sending message
When by ambient condition, timestamp, request, return information, client equally waits 2f+1 reply, at the same guarantee to sign,
Timestamp, return information guarantee consistency.Here there are two kinds of situations, one is client request time-out, that is just retransmited
Once, it is out of order if it is host node P, that just changes ambient condition, selects a host node P, newly to guarantee secondary execution
Process (view handover mechanism).
In actual algorithm flow, PBFT algorithm defines three task phases: pre-preparation (pre-prepare) prepares
(prepare), confirm (commit).
1) pre-preparation: host node P distributes a system serial number ID, sends block to every other node B.Send format
(ambient condition, ID, informative abstract, client request).B node verification information abstract is consistent with client request, and verifying is current
Ambient condition number.
2) prepare: B node adds the message logging of oneself after receiving information, is sent to remaining node.P and B node are same
When verify information signature, if unanimously, just being verified write-in message logging.Each node is in the preparation stage to each
The message of replica node verifying pre-preparation and preparation message consistency check finish.
3) confirm: in front pre-preparation and preparation stage under normal circumstances, in same system environment, all request serial numbers
Unanimously, verifying message is consistent, that is to say the serial number and message sent before 2f+1 node of confirmation has sent.
Each node is accepted confirmation message, and signature is correct;The system environments number V of the message and environment number V mono- of node
It causes;The serial number ID of message meets sequence requirements.Node ensure that Transaction Information is reached by confirmation at least 2f+1 copy information
The consistency of common recognition.
As shown in figure 3, client is client, host node P, node 1, node 2 and node 3 are the sections in distributed system
Point member, wherein propose that block, the block that 1,2,3 node of node comes out proposal are voted by host node P, interior joint 3
It has broken down.It is invalid that our default nodes 3, which send information,.The process of so PBFT algorithm execution is as follows:
1) client initiates a request and arrives host node P.(request can be broadcast to each node)
2) node P starts to request sequencing numbers, and request serial number is sent to node 1,2,3.
3) node 2,3 sends message between node 1 from each other.
4) Allotment Serial Number that node P is confirmed between node 1,2,3, is confirmed each other.
5) 1,2,3 confirmation message of node replys client.
6) client judgement, which receives, is confirmed whether in 2f+1, confirms result.
4. improved checkpoint protocol
PBFT algorithm is applied in alliance's chain by this programme, to guarantee what the Transaction Information of alliance's chain interior joint was reached common understanding
Consistency;And working as some nodes in alliance's chain may cause nodal information to update journey because of reasons such as network failure or network delays
It spends and falls behind other nodes.So node needs periodically to synchronize other node datas, keep data consistent with other nodes
Property.The method of synchronization that ether mill uses is directly to identify oneself the synchronous block of node trusty to him, and be added in block chain,
However there may be insincere nodes in alliance's chain, therefore cannot be using the method for trusted node block synchronous in ether mill.
This programme proposition, if in alliance's chain when the information difference of the block chain data information of certain node A and other nodes,
The hash of the block of other 2f+1 node request alliance chain missings of the node A into alliance's chain, wherein f is to visit in alliance's chain
Account for front yard number of nodes;If the hash that node A receives the block of greater than f node return is consistent, then it is assumed that need synchronous area
Block is trusty;If node A does not synchronize this block to other nodes in the hash for locally having this block;Directly it incite somebody to action this
Ground block is added to alliance's chain;Otherwise, just selecting any one to receive the node of this block hash, (described is greater than f node
In any node), and synchronize this block.
The node of alliance's chain needs to recycle certificate information, reduces the memory of node device after completing block chain and synchronizing
Expense.Node A can automatically update the transaction List Table that node A memory is stored after other node block chain informations of periodic synchronization.
According to the time that block newest in alliance's chain generates, the Transaction Information for being packaged into block and cochain is removed, is thus not required to
It to be the transaction that cochain is cleared up by three stage protocols using pervious checkpoint protocol, this avoid a large amount of nets
Network expense.
5. improved view handover mechanism
The mechanism can quickly solve the problems, such as that host node cannot go out block at the appointed time, even if guaranteeing system host node
Error also can guarantee that system operates normally, and avoid waiting when client confirms long.Block cannot be gone out when host node is abnormal, then
It needs to reselect host node.PBFT may cause system that could not select in view handoff procedure because of view switching is improper
Propose the host node of block out, while view switching will do it the communication between node also to select host node.This programme does not use
The mode of communication chooses host node, but is elected using timeout mechanism.The main section in alliance's chain is judged by the following method
Whether point there is mistake, carries out reselecting for host node when the error occurs:
When host node transaction List Table is empty, if the most newly added block data of alliance's chain be not it is empty, and current time with
The difference of the time of newest cochain block is greater than t, then determines that mistake occurs in host node, needs switch view to reselect host node;
Wherein, t is the maximum duration for generating and reaching common understanding from the block of newest cochain, and t can be obtained according to system testing.Switch view
The information that last node is propagated during common recognition is purged releasing memory space in the process, and is proposed by new host node
The block information for needing to reach common understanding, operates normally system.
If the newest block of alliance's chain is sky, and currently needing the block known together also is sky, then checks after needing waiting time t
Currently need the block known together that can reach common understanding, as that cannot reach common understanding with regard to switch view;If host node transaction List Table is not
Empty and the time of current time and newest cochain block difference is greater than t, then determines that mistake occurs in host node, need to reselect main section
Point is to submit block information.
View switching in PBFT needs to know together being in communication with each other between node.After host node breaks down, select new
View handover information is simultaneously sent to other nodes by host node, when other nodes receive the 2f+1 handover information including oneself,
It then needs to send confirmation message to new host node.After host node receives confirmation message, restarting to execute block common recognition association
View.The method that the view handover mechanism that this programme proposes re-elects host node using time-out triggering, is added according to newest block
To block chain time and block generate to the maximum duration t for reaching common understanding required to determine whether progress view switching,
Being in communication with each other between node can be reduced in this way, reduce flow loss.
Experimental section:
As shown in Figure 5, it can be seen that the processor of this programme experiment porch is Intel (R) Core (TM) i5-6300HQ
CPU@2.3GHz, memory 16G, can view testing machines by order is four core, four thread.We grasp in Windows10
Make that Vmware virtual machine is installed in system and 4 ubuntu virtual machines are installed in virtual skill as 4 analog nodes, they are total
Enjoy the CPU of testing machines.
The testing machines of this programme are configured with 4 analog nodes, and four nodes possess equivalent configuration parameter and calculate energy
Power, each node deploy PoW common recognition mechanism code and improve PBFT common recognition mechanism code.Then, artificial experiment two is total
The Byzantine fault that knowledge mechanism can be tolerated, experimental result can tolerate node error number as shown in fig. 6, showing supply chain
It can reach common understanding in the case where amount and realize decentralization.From fig. 6, it can be seen that PoW common recognition mechanism can tolerate that 2 are visitd
Front yard node is accounted for, and PBFT common recognition mechanism can only at most tolerate 1 Byzantium's node.Come from Byzantine fault node tolerance quantity
It says, PoW common recognition mechanism ratio PBFT common recognition mechanism is more.
Next the calculation power for starting single node test PoW common recognition mechanism and PBFT common recognition mechanism consumes, because of testing machines
It is four core, four thread, PoW can calculate (four threads dig mine) with four cores simultaneously, finally calculate satisfactory random value,
And PBFT only needs single thread i.e. available three stages to reach common understanding.Its result as shown in fig. 7, abscissa represent test carry out when
Between, ordinate represents the CPU proportion of goods damageds.The proportion of goods damageds of the improved PBFT common recognition mechanism on testing machines substantially 20% or so,
And the proportion of goods damageds of PoW common recognition mechanism are equivalent to oepration at full load, therefore the improved PBFT common recognition mechanism proportion of goods damageds close to 100%
It is more much smaller than PoW common recognition mechanism, it reduces many power of calculating and consumes, while can also reach the common recognition of supply chain block.
Next in the communication consumption of more existing PBFT common recognition mechanism and improvement PBFT common recognition mechanism.Node is being deleted
When the block transaction data reached common understanding, the comparison of Internet resources spent by network transmission block data, as shown in figure 8,
Abscissa represents the quantity that block transaction in memory is removed when executing checkpoint protocol, and ordinate is represented assists in execution checkpoint
Network transmission block Hash quantity when view.The block reached common understanding in PBFT common recognition mechanism understands it is using three stages in memory
The method of verifying that is to say and need to reach common understanding with other nodes that ability is clear, and which results in nets removing the block known together
Network consumption, and improved PBFT does not need then to be lost.It can be seen from the figure that network transmission number of blocks in PBFT common recognition mechanism
The directly proportional increase with the increase with number of blocks of reaching common understanding, and improve network transmission number of blocks in PBFT common recognition mechanism
Number of blocks of having reached common understanding is not related and transmission quantity is 0.
Finally we have a look when host node generation mistake, compare lower PBFT common recognition mechanism and improved PBFT common recognition machine
System carries out view in system and switches generated network consumption.After Fig. 9 illustrates system host node generation failure, system is regarded
Figure switches generated network consumption, and abscissa represents system total node number amount in figure, and ordinate represents system progress view and cuts
Reach common understanding when changing to block required number of nodes.According to curve in figure: in PBFT common recognition mechanism, network consumption can be with
In system Byzantium's number of nodes increase and increase, and improve in PBFT common recognition mechanism, Byzantium in network consumption and system
Number of nodes is not related and network consumption is 0.
Claims (4)
1. a kind of ether mill common recognition mechanism for improving PBFT is applied to the method for alliance's chain, which comprises the following steps:
In block catenary system, for the node in alliance's chain, participation common recognition node is filtered out using DPoA common recognition mechanism, by this
A little nodes constitute the charging network of alliance's chain;
PBFT algorithm is applied in alliance's chain, to guarantee consistency that the Transaction Information of alliance's chain interior joint is reached common understanding;If
In alliance's chain when the information difference of the block chain data information of certain node and other nodes, then other into alliance's chain of the node
The hash of the block of 2f+1 node request alliance's chain missing, wherein f is alliance Lian Zhong Byzantium number of nodes;If the node is received
It is consistent to the hash for being greater than the block that f node returns, then it is assumed that it is trusty for needing synchronous block;If the node is at this
There is the hash of this block on ground, then does not synchronize this block to other nodes, and local block is directly added to alliance's chain;Otherwise,
It selects any one to receive the node of this block hash, and synchronizes this block;After the node completes the synchronization of alliance's chain, from
The dynamic transaction List Table for updating the node memory and being stored;According to the time that block newest in alliance's chain generates, removing has been packaged
At block and the Transaction Information of cochain.
2. the ether mill common recognition mechanism for improving PBFT as described in claim 1 is applied to the method for alliance's chain, which is characterized in that
The method further include:
Judge whether the host node in alliance's chain mistake occurs by the following method, carries out host node again when the error occurs
Selection:
When host node transaction List Table is empty, if the most newly added block data of alliance's chain be not it is empty, and current time with it is newest
The difference of the time of cochain block is greater than t, then determines that mistake occurs in host node, needs switch view to reselect host node;Wherein,
T is the maximum duration for generating and reaching common understanding from the block of newest cochain;
If the newest block of alliance's chain is sky, and currently needing the block known together also is sky, then checks currently after needing waiting time t
Can the block that need to know together reach common understanding, as that cannot reach common understanding with regard to switch view;If host node transaction List Table be not it is empty and
The difference of the time of current time and newest cochain block is greater than t, then determines that mistake occurs in host node, need to reselect host node
Submit block information.
3. the ether mill common recognition mechanism for improving PBFT as described in claim 1 is applied to the method for alliance's chain, which is characterized in that
Described filters out participation common recognition node using DPoA common recognition mechanism, comprising:
It is filtered out from each node of alliance's chain with the high quality node union for stablizing online, smooth transfer and superperformance
In in a candidate pool, then use DPoA common recognition mechanism selected from candidate pool a certain number of nodes as participate in common recognition
Node.
4. the ether mill common recognition mechanism for improving PBFT as described in claim 1 is applied to the method for alliance's chain, which is characterized in that
The charging network is to carry out the node of common recognition calculating required excitation expense when participating in common recognition.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811518523.XA CN109784916A (en) | 2018-12-12 | 2018-12-12 | A method of ether mill common recognition mechanism that improving PBFT is applied to alliance's chain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811518523.XA CN109784916A (en) | 2018-12-12 | 2018-12-12 | A method of ether mill common recognition mechanism that improving PBFT is applied to alliance's chain |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109784916A true CN109784916A (en) | 2019-05-21 |
Family
ID=66495846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811518523.XA Pending CN109784916A (en) | 2018-12-12 | 2018-12-12 | A method of ether mill common recognition mechanism that improving PBFT is applied to alliance's chain |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109784916A (en) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245951A (en) * | 2019-06-19 | 2019-09-17 | 西南交通大学 | A kind of alliance's chain principal and subordinate's multichain common recognition method based on tree structure |
CN110555129A (en) * | 2019-08-16 | 2019-12-10 | 桂林电子科技大学 | space image data interaction method and device based on alliance chain |
CN110727644A (en) * | 2019-09-29 | 2020-01-24 | 南京金宁汇科技有限公司 | Method, system and storage medium for cutting block chain data |
CN110730204A (en) * | 2019-09-05 | 2020-01-24 | 阿里巴巴集团控股有限公司 | Method for deleting nodes in block chain network and block chain system |
CN110784346A (en) * | 2019-10-18 | 2020-02-11 | 深圳供电局有限公司 | Reputation value-based PBFT consensus system and method |
CN110971684A (en) * | 2019-11-28 | 2020-04-07 | 北京工业大学 | PBFT-based block chain network node load balancing method |
CN111092896A (en) * | 2019-12-23 | 2020-05-01 | 北京工商大学 | Food traceability distributed data synchronization method based on optimized PAXOS |
CN111371877A (en) * | 2020-02-28 | 2020-07-03 | 桂林电子科技大学 | Consensus method of heterogeneous alliance chain |
CN111507717A (en) * | 2020-04-20 | 2020-08-07 | 腾讯科技(深圳)有限公司 | Data processing method, device, block node and computer readable storage medium |
CN111526165A (en) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | Consensus method and system in alliance chain |
CN111598565A (en) * | 2020-04-24 | 2020-08-28 | 广西电网有限责任公司电力科学研究院 | Storage construction method and system based on PBFT block chain technology |
CN111724258A (en) * | 2020-05-28 | 2020-09-29 | 天津大学 | Realization method of alliance chain transaction concurrent scheme based on ring topology, dependency graph and multi-version control |
CN111917748A (en) * | 2020-07-22 | 2020-11-10 | 上海飞博激光科技有限公司 | Intelligent laser remote control system and method based on IPFS + alliance chain |
WO2021042885A1 (en) * | 2019-09-05 | 2021-03-11 | 创新先进技术有限公司 | Method for adding node to blockchain network, and blockchain system |
WO2021068919A1 (en) * | 2019-10-10 | 2021-04-15 | 杭州趣链科技有限公司 | Pbft algorithm-based improved method for active recovery of single node from anomaly |
CN113381861A (en) * | 2021-06-16 | 2021-09-10 | 哈尔滨工业大学 | Improved Ripple consensus method suitable for unlicensed chain |
WO2021196350A1 (en) * | 2020-03-30 | 2021-10-07 | 南京中诚区块链研究院有限公司 | Blockchain raft + pbft hybrid consensus network algorithm and system |
CN113709122A (en) * | 2019-09-24 | 2021-11-26 | 支付宝(杭州)信息技术有限公司 | Service verification method of alliance chain and alliance chain system |
CN113746637A (en) * | 2021-09-03 | 2021-12-03 | 华东师范大学 | SEGBFT consensus algorithm applicable to alliance chain and having high expandability |
CN113821569A (en) * | 2021-09-30 | 2021-12-21 | 广州智链未来科技有限公司 | Block chain consensus method and block chain |
CN113836232A (en) * | 2021-09-24 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | Consensus method and system in alliance chain |
CN114466050A (en) * | 2022-04-11 | 2022-05-10 | 国汽智控(北京)科技有限公司 | Vehicle-mounted data processing method and device based on block chain and electronic equipment |
CN116991623A (en) * | 2023-08-30 | 2023-11-03 | 杭州趣链科技有限公司 | Block chain node exception recovery method and device, electronic equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878000A (en) * | 2017-03-06 | 2017-06-20 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | A kind of alliance's chain common recognition method and system |
CN107395403A (en) * | 2017-07-07 | 2017-11-24 | 北京区块链云科技有限公司 | A kind of fiduciary block chain common recognition method suitable for extensive ecommerce |
CN108492103A (en) * | 2018-02-07 | 2018-09-04 | 北京大学深圳研究生院 | A kind of alliance's block chain common recognition method |
-
2018
- 2018-12-12 CN CN201811518523.XA patent/CN109784916A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878000A (en) * | 2017-03-06 | 2017-06-20 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | A kind of alliance's chain common recognition method and system |
CN107395403A (en) * | 2017-07-07 | 2017-11-24 | 北京区块链云科技有限公司 | A kind of fiduciary block chain common recognition method suitable for extensive ecommerce |
CN108492103A (en) * | 2018-02-07 | 2018-09-04 | 北京大学深圳研究生院 | A kind of alliance's block chain common recognition method |
Non-Patent Citations (1)
Title |
---|
黄秋波等: "一种改进PBFT算法作为以太坊共识机制的研究与实现", 《计算机应用与软件》 * |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245951A (en) * | 2019-06-19 | 2019-09-17 | 西南交通大学 | A kind of alliance's chain principal and subordinate's multichain common recognition method based on tree structure |
CN110245951B (en) * | 2019-06-19 | 2021-04-20 | 西南交通大学 | Tree structure based alliance chain master-slave multi-chain consensus method |
CN110555129A (en) * | 2019-08-16 | 2019-12-10 | 桂林电子科技大学 | space image data interaction method and device based on alliance chain |
CN110555129B (en) * | 2019-08-16 | 2022-02-18 | 桂林电子科技大学 | Space image data interaction method and device based on alliance chain |
CN110730204A (en) * | 2019-09-05 | 2020-01-24 | 阿里巴巴集团控股有限公司 | Method for deleting nodes in block chain network and block chain system |
CN110730204B (en) * | 2019-09-05 | 2022-09-02 | 创新先进技术有限公司 | Method for deleting nodes in block chain network and block chain system |
CN114401150A (en) * | 2019-09-05 | 2022-04-26 | 创新先进技术有限公司 | Method for adding node in block chain network and block chain system |
WO2021042885A1 (en) * | 2019-09-05 | 2021-03-11 | 创新先进技术有限公司 | Method for adding node to blockchain network, and blockchain system |
CN114401150B (en) * | 2019-09-05 | 2023-10-20 | 创新先进技术有限公司 | Method for adding node in blockchain network and blockchain system |
CN113709122A (en) * | 2019-09-24 | 2021-11-26 | 支付宝(杭州)信息技术有限公司 | Service verification method of alliance chain and alliance chain system |
CN113709122B (en) * | 2019-09-24 | 2023-08-22 | 支付宝(杭州)信息技术有限公司 | Service verification method of alliance chain and alliance chain system |
CN110727644A (en) * | 2019-09-29 | 2020-01-24 | 南京金宁汇科技有限公司 | Method, system and storage medium for cutting block chain data |
CN110727644B (en) * | 2019-09-29 | 2022-06-24 | 南京金宁汇科技有限公司 | Method, system and storage medium for cutting block chain data |
US11841778B2 (en) | 2019-10-10 | 2023-12-12 | Hangzhou Qulian Technology Co., Ltd. | Method and system for active failure recovery of single node improved based on PBFT algorithm, computer device and storage medium |
WO2021068919A1 (en) * | 2019-10-10 | 2021-04-15 | 杭州趣链科技有限公司 | Pbft algorithm-based improved method for active recovery of single node from anomaly |
CN110784346A (en) * | 2019-10-18 | 2020-02-11 | 深圳供电局有限公司 | Reputation value-based PBFT consensus system and method |
CN110971684B (en) * | 2019-11-28 | 2022-09-09 | 北京工业大学 | PBFT-based block chain network node load balancing method |
CN110971684A (en) * | 2019-11-28 | 2020-04-07 | 北京工业大学 | PBFT-based block chain network node load balancing method |
CN111092896A (en) * | 2019-12-23 | 2020-05-01 | 北京工商大学 | Food traceability distributed data synchronization method based on optimized PAXOS |
CN111092896B (en) * | 2019-12-23 | 2022-08-26 | 北京工商大学 | Food source tracing distributed data synchronization method based on optimized PAXOS |
CN111371877A (en) * | 2020-02-28 | 2020-07-03 | 桂林电子科技大学 | Consensus method of heterogeneous alliance chain |
CN111371877B (en) * | 2020-02-28 | 2022-02-18 | 桂林电子科技大学 | Consensus method of heterogeneous alliance chain |
WO2021196350A1 (en) * | 2020-03-30 | 2021-10-07 | 南京中诚区块链研究院有限公司 | Blockchain raft + pbft hybrid consensus network algorithm and system |
CN111507717B (en) * | 2020-04-20 | 2022-08-12 | 腾讯科技(深圳)有限公司 | Data processing method, device, block node and computer readable storage medium |
CN111507717A (en) * | 2020-04-20 | 2020-08-07 | 腾讯科技(深圳)有限公司 | Data processing method, device, block node and computer readable storage medium |
CN111598565A (en) * | 2020-04-24 | 2020-08-28 | 广西电网有限责任公司电力科学研究院 | Storage construction method and system based on PBFT block chain technology |
CN111598565B (en) * | 2020-04-24 | 2022-08-19 | 广西电网有限责任公司电力科学研究院 | Storage construction method and system based on PBFT block chain technology |
CN111724258A (en) * | 2020-05-28 | 2020-09-29 | 天津大学 | Realization method of alliance chain transaction concurrent scheme based on ring topology, dependency graph and multi-version control |
US11240034B2 (en) | 2020-07-03 | 2022-02-01 | Alipay (Hangzhou) Information Technology Co., Ltd. | Consensus methods and systems in consortium blockchain |
CN111526165A (en) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | Consensus method and system in alliance chain |
CN111917748A (en) * | 2020-07-22 | 2020-11-10 | 上海飞博激光科技有限公司 | Intelligent laser remote control system and method based on IPFS + alliance chain |
CN113381861A (en) * | 2021-06-16 | 2021-09-10 | 哈尔滨工业大学 | Improved Ripple consensus method suitable for unlicensed chain |
CN113746637B (en) * | 2021-09-03 | 2024-02-27 | 华东师范大学 | SEGBFT consensus algorithm applicable to alliance chains and high in expandability |
CN113746637A (en) * | 2021-09-03 | 2021-12-03 | 华东师范大学 | SEGBFT consensus algorithm applicable to alliance chain and having high expandability |
WO2023045574A1 (en) * | 2021-09-24 | 2023-03-30 | 蚂蚁区块链科技(上海)有限公司 | Consensus in consortium blockchain |
CN113836232A (en) * | 2021-09-24 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | Consensus method and system in alliance chain |
CN113821569A (en) * | 2021-09-30 | 2021-12-21 | 广州智链未来科技有限公司 | Block chain consensus method and block chain |
CN113821569B (en) * | 2021-09-30 | 2024-02-06 | 广州智链未来科技有限公司 | Block chain consensus method and block chain |
CN114466050A (en) * | 2022-04-11 | 2022-05-10 | 国汽智控(北京)科技有限公司 | Vehicle-mounted data processing method and device based on block chain and electronic equipment |
CN114466050B (en) * | 2022-04-11 | 2022-11-08 | 国汽智控(北京)科技有限公司 | Vehicle-mounted data processing method and device based on block chain and electronic equipment |
CN116991623A (en) * | 2023-08-30 | 2023-11-03 | 杭州趣链科技有限公司 | Block chain node exception recovery method and device, electronic equipment and storage medium |
CN116991623B (en) * | 2023-08-30 | 2024-01-02 | 杭州趣链科技有限公司 | Block chain node exception recovery method and device, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109784916A (en) | A method of ether mill common recognition mechanism that improving PBFT is applied to alliance's chain | |
CN108492103B (en) | Joint block chain consensus method | |
Saad et al. | e-pos: Making proof-of-stake decentralized and fair | |
CN111131209B (en) | Improved efficient consensus method, system, computer device and storage medium | |
CN111598566A (en) | Network payment system based on mixed cross-chain | |
CN111291060B (en) | Method, device and computer readable medium for managing blockchain nodes | |
CN109150972A (en) | A kind of the common recognition mechanism and its working method of the efficient block chain of bilayer fragment | |
EP4318362A1 (en) | Blockchain-based data processing method, apparatus and device, and storage medium | |
CN109688012A (en) | A kind of method of alliance's chain node hot standby switch | |
CN105701159B (en) | A kind of data synchronization unit and method | |
CN110610421B (en) | Guarantee fund management method and device under fragment framework | |
Hu et al. | CRSM: An effective blockchain consensus resource slicing model for real-time distributed energy trading | |
CN110298754A (en) | A kind of common recognition method applied to block chain | |
EP3675416B1 (en) | Consensus process recovery method and related nodes | |
CN112118321A (en) | Practical Byzantine fault-tolerant consensus mechanism optimization system of industrial block chain | |
CN111159297A (en) | Block chain accounting method, device, node and storage medium | |
Sun et al. | Rtchain: A reputation system with transaction and consensus incentives for e-commerce blockchain | |
EP4222677A1 (en) | Distributed ledger network implementing a synchronous trust consensus model | |
Vizier et al. | Comchain: Bridging the gap between public and consortium blockchains | |
CN113568972A (en) | Mixed consensus realization device and method for schema block chain | |
CN110505084A (en) | A kind of block chain packing node common recognition election method | |
De la Rocha et al. | Hierarchical consensus: A horizontal scaling framework for blockchains | |
CN112184454B (en) | Block chain consensus method, device, system and storage medium | |
Zhang et al. | A data-aided security constraint prescreening technique and application to real-world system | |
CN106254373A (en) | Digital certificate synchronous method, digital signature server and digital certificate synchronize 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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190521 |
|
WD01 | Invention patent application deemed withdrawn after publication |