CN107493173A  Block chain random number common recognition election method  Google Patents
Block chain random number common recognition election method Download PDFInfo
 Publication number
 CN107493173A CN107493173A CN201710760229.9A CN201710760229A CN107493173A CN 107493173 A CN107493173 A CN 107493173A CN 201710760229 A CN201710760229 A CN 201710760229A CN 107493173 A CN107493173 A CN 107493173A
 Authority
 CN
 China
 Prior art keywords
 random number
 node
 keeping operation
 book keeping
 operation person
 Prior art date
Links
 230000001360 synchronised Effects 0.000 claims abstract description 6
 230000000875 corresponding Effects 0.000 claims description 15
 230000000694 effects Effects 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 communication
 H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, nonrepudiation, key authentication or verification of credentials
 H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, nonrepudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

 H—ELECTRICITY
 H04—ELECTRIC COMMUNICATION TECHNIQUE
 H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
 H04L41/00—Arrangements for maintenance or administration or management of packet switching networks
 H04L41/30—Decision processes by autonomous network management units using voting and bidding

 H—ELECTRICITY
 H04—ELECTRIC COMMUNICATION TECHNIQUE
 H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
 H04L67/00—Networkspecific arrangements or communication protocols supporting networked applications
 H04L67/10—Networkspecific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network

 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 communication
 H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, nonrepudiation, key authentication or verification of credentials
Abstract
Description
Technical field
The present invention relates to a kind of block chain technology, is a kind of block chain random number common recognition election method.
Background technology
Block chain technology is current hot technology, and it is segmented into three classes：Publiclyowned chain, alliance's chain and privately owned chain.It is publiclyowned Chain nonstop layer server, network can freely be accessed according to the rule of system by participating in the node of publiclyowned chain, be based on altogether between node Knowledge mechanism is carried out the work, and bit coin belongs to typical publiclyowned chain.The node that alliance's chain participates in member by presetting forms, and saves Spot net is accessed and exited and carried out in alliance.Privately owned chain is typically found at some enterprises, the operation regulation of system according to Enterprise requirements are set, and the member into privately owned chain is still to be controlled and formulated by center.
In the type of abovedescribed three kinds of block chains, only publiclyowned chain really solves trust problem, alliance's chain and private There is chain to be also built upon what is carried out on the basis of certain faith mechanism.
But because the calculation power of " digging ore deposit " demand in publiclyowned chain is very huge, cause its performance in the area of these three types It is minimum in block chain.Such as, the faith mechanism of bit coin election book keeping operation person (is used " digging ore deposit " using proof of work method Mode), who takes the lead in completing the calculating for meeting certain condition, and who is exactly book keeping operation person.
" the digging ore deposit " of bit coin elects the faith mechanism of book keeping operation person at present, be it is unique meet it is random, openly, common recognition will Ask.But bit coin determines that book keeping operation person needs to carry out a large amount of timeconsuming calculating, is a kind of method of inefficient determination book keeping operation person, It is not suitable with the requirement of alliance's chain.And the method that current alliance's chain elects book keeping operation person is not random, thus the spy with centralization Sign.
The content of the invention
The technical problem to be solved in the present invention is to provide the book keeping operation person of a kind of random, notarization, common recognition to determine method.
In order to solve the above technical problems, the present invention provides a kind of block chain random number common recognition election method, including：In alliance All specific nodes produce random number x respectively_{i}；Random number x is mutually synchronized between all specific nodes_{i}；Each specific node is first Pass through preset function f_{1}The a reference value M of whole random numbers is obtained, secondly by preset function f_{2}Obtain random number x_{i}With a reference value M Between book keeping operation person functional value J, choose book keeping operation person's functional value J and random number x_{i}Meet the node P corresponding to default feature_{i}Make For candidate book keeping operation person；Candidate book keeping operation person is mutually in step between all specific nodes and participates in the nodes value that a reference value M is calculated, And put forward new book keeping operation person.
Improvement as election method of being known together to block chain random number of the present invention：The specific node is random Time t caused by number_{i}, in alliance in N number of node, actual Z online node.
Further improvements in methods are elected as being known together to block chain random number of the present invention：Described preset is characterized as All J are ranked up, choose the x corresponding to a J on some position_{i}, and x will be held_{i}Node be defined as candidate note Account person's node P criterion.
Further improvements in methods are elected as being known together to block chain random number of the present invention：It is mutually synchronized random number Step：Mutual propelling data block between all specific nodes；The data block includes but is not limited to node identification P_{i}, random number x_{i} With random number x_{i}Caused time t_{i}。
Further improvements in methods are elected as being known together to block chain random number of the present invention：Obtain random number benchmark It is worth step：First, whether legal each specific node separately verifies the data block；If illegal, repeatedly specific node is distinguished Produce random number step；If legal, each specific node calculates t respectively_{k}To t_{k+1}Caused all legal random number x in time A reference value M.
Further improvements in methods are elected as being known together to block chain random number of the present invention：The verification step bag Include：Random number judges：Random number x_{i}Whether x is met_{i}≤ B, the B choosing value are 2^{e}, the e is appropriate integer；Time judges： Time t_{i}Whether in t_{k}To t_{k+1}Time range in, the t_{k}Between at the beginning of once being elected for certain, the t_{k+1}To push away next time Between at the beginning of act；Node identification judges：Whether include node identification P in Z node_{i}Corresponding node P_{i}；If random number is sentenced The fixed, time judges and node identification judgement is legal, then judges that data block is legal；If random number judge, the time judge and Any one is illegal during node identification judges, then judges that data block is illegal.
Further improvements in methods are elected as being known together to block chain random number of the present invention：The a reference value M's Computational methods：M=f_{1}(x_{1}, x_{2}..., x_{i}..., x_{Z})Mod B；The x_{1}, x_{2}..., x_{i}..., x_{Z}Respectively corresponding node P_{1}, P_{2}..., P_{i}..., P_{Z}Caused random number；The f_{1}The function calculated for any one random number；The number of nodes It is worth for Z；The computational methods of book keeping operation person's functional value J：J=f_{2}(x_{i}, M)；The f_{2}It is any one to random number x_{i}And benchmark The function that value M is calculated.
Further improvements in methods are elected as being known together to block chain random number of the present invention：The election process is such as Under：First, whether the node that each specific node calculates corresponding to book keeping operation person respectively is unique, if the node is not unique, Return to all specific nodes in alliance and produce random number step respectively；If the node is unique, each specific node distinguishes core It is whether consistent to the nodes value that participation a reference value calculates in arbitrary node；If inconsistent, return all specific in alliance Node produces random number step respectively, if unanimously, completing to elect.
The general principle of the present invention is that each member of alliance (node server or terminal of each member of alliance, is also referred to as Node), random one random number of output, each member by the random number of the other all members received and the random number of oneself with Function f_{1}Calculate, obtain a reference value, then function f is passed through with random number and a reference value_{2}Calculate, and default feature carries out final number It is worth selection course, and the node for most holding corresponding random number at last is defined as candidate's book keeping operation person's node.If multiple node quilts It is defined as candidate's book keeping operation person's node, then is once elected again in this way between them.It is final to elect a note by recurrence Account person.This method efficiency high, it is random, just, fair, it is adapted to alliance's chain node to elect the effect of book keeping operation person, and for connection The decentralization of alliance's chain is significant.
The main advantage of the present invention is：
1st, randomness：The whole calculating process of caused data is random in each node in this patent, so book keeping operation person And randomly choose out, it is equal that this randomness actually selects book keeping operation person with bit coin.
2nd, fairness：Book keeping operation person is to select at random, and the probability that each node is chosen as book keeping operation person is equal, embodies justice Property.Book keeping operation of one node to a business has cheating, is possible to not be found unless the node is book keeping operation person in itself (actually we can also repeating algorithm, select reinspection person, other nodes may also be checked accounting results in addition).
3rd, it is Consensus：This algorithm is that all line nodes participate in, and all nodes enter according to unified specification (algorithm) Row calculates, and has elected book keeping operation person jointly.
4th, security：Any one node is practised fraud, and does not influence the randomness and fairness elected, and number people is even most of People practises fraud, as long as also a node can still make random, fair selection using random number, algorithmic system.
Brief description of the drawings
The embodiment of the present invention is described in further detail below in conjunction with the accompanying drawings.
Fig. 1 is the schematic flow sheet of the present invention.
Embodiment
Embodiment 1, Fig. 1 give a kind of block chain random number common recognition election method BCMR (a blockchain Consensus method by random number, or blockchain choose method by random Number), this method is suitable to book keeping operation person's election of alliance's chain.
It is comprised the following steps that：
Step 1: any node P produces random number x in alliance：
Once elect time △ (△= t_{k}t_{k+1}, t_{k}Between at the beginning of once being elected for certain, t_{k+1}To push away next time Between at the beginning of act) in the range of, in N number of node P in alliance, there is that Z node P is actually online, the Z node P is produced respectively Corresponding random number x；
That is, in time t_{i}(time t_{i}In t_{k}To t_{k+1}Between), actual online node is P_{1}、P_{2}、P_{3}、…、P_{i}、…、P_{z}； Then, random number caused by corresponding to is x_{1}、x_{2}、x_{3}、…、x_{i}、…、x_{z}；That is P_{i}Hold x_{i}。
Step 2: node P is to other node propelling data blocks, and receive the homogeneous data block that other nodes P push comes：
In step 1, all node P for producing random number x mutually carry out data block push, such as node P_{i}By its data Block is pushed in other Z1 node P, and other Z1 node P reversely pushes homogeneous data block to node P_{i}In, i.e., Now, in arbitrary node P_{i}In, synchronous Z node P all data blocks.
Abovedescribed data block includes but is not limited to node identification P_{i}, random number x_{i}With random number x_{i}Caused time t_{i}。
Step 3: a reference value M of random number x produced by each node P calculates whole Z node P respectively, then by random Number x and a reference value M, carries out book keeping operation person's functional value J calculating, and finally gives J values, and selects candidate book keeping operation person according to the J values：
In step 2, pushed by the mutual data block between node P so that each node P holds other Z1 Node P related data information；
By being verified to related data, determine whether this calculating is legal, and the process of the checking is as follows：
Random number verification：Random number x_{i}Whether x is met_{i}≤ B, B selectable value are 2^{e}, e is appropriate integer；
Time verifying：Time t_{i}Whether in t_{1}To t_{2}Time range in；
Node identification is verified：Node P_{i}Whether it is node P_{1}、P_{2}、P_{3}、…、P_{i}、…、P_{z}In one；
Once random number verification, time verifying and node identification checking meet abovedescribed rule, then confirm to test Card passes through；Once any one inequality in random number verification, time verifying and node identification checking meets abovedescribed Rule, then authentication failed, needs return to step one, reexecutes.
After being verified, then in time t_{i}(time t_{i}In t_{k}To t_{k+1}Between) caused by all random number x pass through such as Lower formula calculates：
M=f_{1}(x_{1}, x_{2}..., x_{i}..., x_{Z})ModB；
The x_{1}, x_{2}..., x_{i}..., x_{Z}Respectively corresponding P_{1}, P_{2}..., P_{i}..., P_{Z}Caused random number, letter therein Number f_{1}The function calculated for any one random number.
Secondly, according to default function f_{2}Associate numerical value of the random number x with a reference value M is asked for, calculation formula is as follows：
J=f_{2}(x_{i}, M)；
Wherein, function f_{2}It is any one to random number x_{i}The function calculated with a reference value M.In the calculating process, Take f_{2}(x_{i}, M) meet default feature hold random number x_{i}Node P_{i}As candidate book keeping operation person.
Such as, the default function f_{2}X can be associated with to be any_{i}With the arbitrary function of M numerical value, and by can be with after calculating Draw book keeping operation person functional value J, then by arbitrary node P_{i}(step 2 exchanges number to the book keeping operation person's functional value J obtained with other nodes P When according to block, all data are obtained) book keeping operation person's functional value Jshaped for being obtained is into ordered series of numbers, and on ordered series of numbers, with certain default spy Sign is judged, eventually finds the random number x associated with J values, and be associated with candidate book keeping operation person by random number x.Further, if Abovedescribed function f_{2}It is random number x in actual use_{i}With the difference between average M, then, by by all nodes Difference caused by P is J, and J is carried out into ordered series of numbers sequence (by taking descending as an example), if selection front end numerical value, for maximum, If selection rearmost end numerical value, for minimum value, if some bit values after number before selection, for special rules numerical value, at this In embodiment, a kind of criterion of default feature is selected, you can to find corresponding random number x with related book keeping operation person's functional value J_{i}, And by random number x_{i}It is associated with node P_{i}, node P_{i}As candidate book keeping operation person.
Step 5: the candidate book keeping operation person P that each node P calculates to other all Z 1 nodes P reports_{i}, participate in calculate Nodes value, and receive the report of other nodes.
Now, each node P is reported that mutually each node P is obtained with other Z 1 node P in alliance The book keeping operation person P that other Z 1 node P is calculated, and participate in the nodes value calculated.
Now, the new candidate book keeping operation person P that arbitrary node P is calculated to all node P_{i}Checked, once hair The existing candidate book keeping operation person P differed_{i}, then step 1 is restarted；Once all node P have found candidate book keeping operation person P_{i}It is only One, then further confirm that all node P are carrying out the calculating moment of random number a reference value, the nodes value for participating in calculating is No consistent, e.g., in this calculating, the nodes value that the participation of Z 1 node P reports calculates is identical, and has a node P only (herein, as long as any one node P occur the nodes value that nonZ participation calculates occurs, it is intended to carry out then return to step one The step of) report the nodes value that calculates of participation be nonZ numerical value, then return to step one；Such as, now, arbitrary node P is equal Confirm that the nodes value that the moment participation that all node P for participating in calculating are used calculates is Z, then verification step four is obtained The interdependent node P obtained_{i}For new book keeping operation person.
Finally, it is also necessary to it is noted that listed above is only a specific embodiment of the invention.Obviously, it is of the invention Above example is not limited to, there can also be many deformations.One of ordinary skill in the art can be straight from present disclosure Export or all deformations associated are connect, are considered as protection scope of the present invention.
Claims (8)
 A kind of election method 1. block chain random number is known together, it is characterized in that：Including：In alliance all specific nodes produce respectively with Machine number x_{i}；Random number x is mutually synchronized between all specific nodes_{i}；Each specific node passes through preset function f first_{1}The a reference value M of whole random numbers is obtained, secondly by preset function f_{2}Obtain Obtain random number x_{i}Book keeping operation person functional value J between a reference value M, chooses book keeping operation person's functional value J and random number x_{i}Meet default spy The corresponding node P of sign_{i}As candidate book keeping operation person；Candidate book keeping operation person is mutually in step between all specific nodes and participates in the nodes value of mean value calculation, and puts forward note Account person.
 The election method 2. block chain random number according to claim 1 is known together, it is characterized in that：The specific node be with Time t caused by machine number_{i}, in alliance in N number of node, actual Z online node.
 The election method 3. block chain random number according to claim 1 is known together, it is characterized in that：Described preset is characterized as to institute Some J are ranked up, and choose the x corresponding to a J on some position_{i}, and x will be held_{i}Node be defined as candidate book keeping operation person Node P criterion.
 The election method 4. block chain random number according to claim 1 is known together, it is characterized in that：It is mutually synchronized random number step Suddenly：Mutual propelling data block between all specific nodes；The data block includes but is not limited to node identification P_{i}, random number x_{i}With random number x_{i}Caused time t_{i}。
 The election method 5. block chain according to claim 4 is known together at random, it is characterized in that：Function calculates and obtains candidate's note The step of account node：First, whether legal each specific node separately verifies the data block；If illegal, repeatedly specific node produces respectively Random number step；If legal, each specific node calculates t respectively_{k}To t_{k+1}Caused all legal random number x a reference value M in time.
 The election method 6. block chain random number according to claim 5 is known together, it is characterized in that：The verification step includes：Random number judges：Random number x_{i}Whether x is met_{i}≤ B, the B choosing value are 2^{e}, the e is appropriate integer；Time judges：Time t_{i}Whether in t_{k}To t_{k+1}Time range in, the t_{k}It is described between at the beginning of once being elected for certain t_{k+1}Between to elect next time at the beginning of；Node identification judges：Whether include node identification P in Z node_{i}Corresponding node P_{i}；If random number judges, the time judges and node identification judgement is legal, judge that data block is legal；If any one is illegal during random number judgement, time judgement and node identification judge, judge that data block is illegal.
 The election method 7. block chain random number according to claim 5 is known together, it is characterized in that：The calculating of a reference value M Method：M=f_{1}(x_{1}, x_{2}..., x_{i}..., x_{Z})Mod B；The x_{1}, x_{2}..., x_{i}..., x_{Z}Respectively corresponding node P_{1}, P_{2}..., P_{i}..., P_{Z}Caused random number；The f_{1}For Any one function calculated random number；The nodes value is Z；The computational methods of book keeping operation person's functional value J：J=f_{2}(x_{i}, M)；The f_{2}It is any one to random number x_{i}The function calculated with a reference value M.
 8. according to any described block chain random number common recognition election methods of claim 17, it is characterized in that：The election process It is as follows：First, whether the node that each specific node calculates corresponding to book keeping operation person respectively is unique, if the node is not unique, Return to all specific nodes in alliance and produce random number step respectively；If the node is unique, each specific node checks the nodes value that mean value calculation is participated in arbitrary node respectively It is whether consistent；If inconsistent, return to all specific nodes in alliance and produce random number step respectively, if unanimously, completion pushes away Lift.
Priority Applications (1)
Application Number  Priority Date  Filing Date  Title 

CN201710760229.9A CN107493173B (en)  20170830  20170830  Block chain random number common recognition election method 
Applications Claiming Priority (1)
Application Number  Priority Date  Filing Date  Title 

CN201710760229.9A CN107493173B (en)  20170830  20170830  Block chain random number common recognition election method 
Publications (2)
Publication Number  Publication Date 

CN107493173A true CN107493173A (en)  20171219 
CN107493173B CN107493173B (en)  20180925 
Family
ID=60650787
Family Applications (1)
Application Number  Title  Priority Date  Filing Date 

CN201710760229.9A CN107493173B (en)  20170830  20170830  Block chain random number common recognition election method 
Country Status (1)
Country  Link 

CN (1)  CN107493173B (en) 
Citations (6)
Publication number  Priority date  Publication date  Assignee  Title 

CN103905198A (en) *  20140307  20140702  宁波大学  Mobile CA node electing method based on MD5 hash information abstract 
CN106157142A (en) *  20160630  20161123  惠众商务顾问（北京）有限公司  A kind of block chain common recognition and synchronous method, system and device 
CN106548397A (en) *  20161122  20170329  天津米游科技有限公司  A kind of block chain common recognition mechanism 
CN106850536A (en) *  20161130  20170613  北京瑞卓喜投科技发展有限公司  Block chain common recognition method and system 
CN106934611A (en) *  20170321  20170707  北京汇通金财信息科技有限公司  A kind of method and device of data processing 
US20170237554A1 (en) *  20160212  20170817  Mondo Jacobs  Methods and systems for using digital signatures to create trusted digital asset transfers 

2017
 20170830 CN CN201710760229.9A patent/CN107493173B/en active IP Right Grant
Patent Citations (6)
Publication number  Priority date  Publication date  Assignee  Title 

CN103905198A (en) *  20140307  20140702  宁波大学  Mobile CA node electing method based on MD5 hash information abstract 
US20170237554A1 (en) *  20160212  20170817  Mondo Jacobs  Methods and systems for using digital signatures to create trusted digital asset transfers 
CN106157142A (en) *  20160630  20161123  惠众商务顾问（北京）有限公司  A kind of block chain common recognition and synchronous method, system and device 
CN106548397A (en) *  20161122  20170329  天津米游科技有限公司  A kind of block chain common recognition mechanism 
CN106850536A (en) *  20161130  20170613  北京瑞卓喜投科技发展有限公司  Block chain common recognition method and system 
CN106934611A (en) *  20170321  20170707  北京汇通金财信息科技有限公司  A kind of method and device of data processing 
NonPatent Citations (2)
Title 

KRAFT D: "Difficulty control for blockchainbased consensus systems", 《PEERTOPEER NETWORKING AND APPLICATIONS》 * 
TYLER CRAIN等: "(Leader/Randomization/Signature)free Byzantine Consensus for Consortium Blockchains", 《(LEADER/RANDOMIZATION/SIGNATURE)FREE BYZANTINE CONSENSUS FOR CONSORTIUM BLOCKCHAINS》 * 
Also Published As
Publication number  Publication date 

CN107493173B (en)  20180925 
Similar Documents
Publication  Publication Date  Title 

CN106445711B (en)  A kind of Byzantine failure tolerance common recognition method applied to block chain  
KR101950912B1 (en)  Verification system and method for transaction based block chain  
Eyal et al.  Bitcoinng: A scalable blockchain protocol  
Noether et al.  Ring confidential transactions  
KokorisKogias et al.  Omniledger: A secure, scaleout, decentralized ledger via sharding  
Bissias et al.  Sybilresistant mixing for bitcoin  
Watanabe et al.  Blockchain contract: Securing a blockchain applied to smart contracts  
US20170323392A1 (en)  Consensus system for manipulation resistant digital record keeping  
Mokken  Cliques, clubs and clans  
Hanifatunnisa et al.  Blockchain based evoting recording system design  
Feige et al.  Witness indistinguishable and witness hiding protocols  
Li et al.  A remote password authentication scheme for multiserver architecture using neural networks  
Canetti et al.  Blackbox concurrent zeroknowledge requires\tilde {Ω}(log n) rounds  
US5610982A (en)  Compact certification with threshold signatures  
Lipmaa et al.  Designated verifier signature schemes: attacks, new security notions and a new construction  
Kogias et al.  Enhancing bitcoin security and performance with strong consistency via collective signing  
Goldreich et al.  On the composition of zeroknowledge proof systems  
Goldwasser  Multi party computations: past and present  
Rosenfeld  Analysis of hashratebased double spending  
Ziegeldorf et al.  Coinparty: Secure multiparty mixing of bitcoins  
CN1716855B (en)  Call signs  
Goodrich et al.  Superefficient verification of dynamic outsourced databases  
CN100550738C (en)  A kind of authentication method of distributed network and system  
Bellare et al.  Entity authentication and key distribution  
Ostrovsky et al.  Oneway functions are essential for nontrivial zeroknowledge 
Legal Events
Date  Code  Title  Description 

PB01  Publication  
PB01  Publication  
SE01  Entry into force of request for substantive examination  
SE01  Entry into force of request for substantive examination  
GR01  Patent grant  
GR01  Patent grant 