CN107493173A - Block chain random number common recognition election method - Google Patents

Block chain random number common recognition election method Download PDF

Info

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
Application number
CN201710760229.9A
Other languages
Chinese (zh)
Other versions
CN107493173B (en
Inventor
叶季青
杨立峰
叶昊
Original Assignee
北京知金链网络技术有限公司
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 北京知金链网络技术有限公司 filed Critical 北京知金链网络技术有限公司
Priority to CN201710760229.9A priority Critical patent/CN107493173B/en
Publication of CN107493173A publication Critical patent/CN107493173A/en
Application granted granted Critical
Publication of CN107493173B publication Critical patent/CN107493173B/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic 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, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic 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, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance or administration or management of packet switching networks
    • H04L41/30Decision processes by autonomous network management units using voting and bidding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/32Cryptographic 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, non-repudiation, key authentication or verification of credentials

Abstract

The present invention gives the method that a kind of block chain random number common recognition elects book keeping operation person, including:All specific nodes produce random number x respectively in alliancei;Random number x is mutually synchronized between all specific nodesi;Each specific node is for all random number xiCalculate function f1Obtain a reference value M of whole random numbers;In each specific node, pass through a reference value M and random number x respectivelyiPass through function f2Candidate book keeping operation person functional value J is calculated, takes f2(xi, M) meet default feature hold random number xiNode PiAs candidate book keeping operation person;Candidate book keeping operation person is mutually in step between all specific nodes, and puts forward book keeping operation person.

Description

Block chain random number common recognition election method

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:Publicly-owned chain, alliance's chain and privately owned chain.It is publicly-owned Chain non-stop layer server, network can freely be accessed according to the rule of system by participating in the node of publicly-owned chain, be based on altogether between node Knowledge mechanism is carried out the work, and bit coin belongs to typical publicly-owned 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 above-described three kinds of block chains, only publicly-owned 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 publicly-owned 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 time-consuming 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 respectivelyi;Random number x is mutually synchronized between all specific nodesi;Each specific node is first Pass through preset function f1The a reference value M of whole random numbers is obtained, secondly by preset function f2Obtain random number xiWith a reference value M Between book keeping operation person functional value J, choose book keeping operation person's functional value J and random number xiMeet the node P corresponding to default featureiMake 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 numberi, 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 positioni, and x will be heldiNode 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 Pi, random number xi With random number xiCaused time ti

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 respectivelykTo tk+1Caused 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 xiWhether x is meti≤ B, the B choosing value are 2e, the e is appropriate integer;Time judges: Time tiWhether in tkTo tk+1Time range in, the tkBetween at the beginning of once being elected for certain, the tk+1To push away next time Between at the beginning of act;Node identification judges:Whether include node identification P in Z nodeiCorresponding node Pi;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=f1(x1, x2..., xi..., xZ)Mod B;The x1, x2..., xi..., xZRespectively corresponding node P1, P2..., Pi..., PZCaused random number;The f1The 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=f2(xi, M);The f2It is any one to random number xiAnd 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 f1Calculate, obtain a reference value, then function f is passed through with random number and a reference value2Calculate, 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 △ (△=| tk-tk+1|, tkBetween at the beginning of once being elected for certain, tk+1To 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 ti(time tiIn tkTo tk+1Between), actual online node is P1、P2、P3、…、Pi、…、Pz; Then, random number caused by corresponding to is x1、x2、x3、…、xi、…、xz;That is PiHold xi

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 PiBy its data Block is pushed in other Z-1 node P, and other Z-1 node P reversely pushes homogeneous data block to node PiIn, i.e., Now, in arbitrary node PiIn, synchronous Z node P all data blocks.

Above-described data block includes but is not limited to node identification Pi, random number xiWith random number xiCaused time ti

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 Z-1 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 xiWhether x is meti≤ B, B selectable value are 2e, e is appropriate integer;

Time verifying:Time tiWhether in t1To t2Time range in;

Node identification is verified:Node PiWhether it is node P1、P2、P3、…、Pi、…、PzIn one;

Once random number verification, time verifying and node identification checking meet above-described rule, then confirm to test Card passes through;Once any one inequality in random number verification, time verifying and node identification checking meets above-described Rule, then authentication failed, needs return to step one, re-executes.

After being verified, then in time ti(time tiIn tkTo tk+1Between) caused by all random number x pass through such as Lower formula calculates:

M=f1(x1, x2..., xi..., xZ)ModB;

The x1, x2..., xi..., xZRespectively corresponding P1, P2..., Pi..., PZCaused random number, letter therein Number f1The function calculated for any one random number.

Secondly, according to default function f2Associate numerical value of the random number x with a reference value M is asked for, calculation formula is as follows:

J=f2(xi, M);

Wherein, function f2It is any one to random number xiThe function calculated with a reference value M.In the calculating process, Take f2(xi, M) meet default feature hold random number xiNode PiAs candidate book keeping operation person.

Such as, the default function f2X can be associated with to be anyiWith 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 Pi(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 J-shaped 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 Above-described function f2It is random number x in actual useiWith 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 Ji, And by random number xiIt is associated with node Pi, node PiAs 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 reportsi, 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 PiChecked, once hair The existing candidate book keeping operation person P differedi, then step 1 is re-started;Once all node P have found candidate book keeping operation person PiIt 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 non-Z 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 non-Z 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 obtainediFor 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)

  1. 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 xi
    Random number x is mutually synchronized between all specific nodesi
    Each specific node passes through preset function f first1The a reference value M of whole random numbers is obtained, secondly by preset function f2Obtain Obtain random number xiBook keeping operation person functional value J between a reference value M, chooses book keeping operation person's functional value J and random number xiMeet default spy The corresponding node P of signiAs 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.
  2. 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 numberi, in alliance in N number of node, actual Z online node.
  3. 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 positioni, and x will be heldiNode be defined as candidate book keeping operation person Node P criterion.
  4. 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 Pi, random number xiWith random number xiCaused time ti
  5. 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 respectivelykTo tk+1Caused all legal random number x a reference value M in time.
  6. 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 xiWhether x is meti≤ B, the B choosing value are 2e, the e is appropriate integer;
    Time judges:Time tiWhether in tkTo tk+1Time range in, the tkIt is described between at the beginning of once being elected for certain tk+1Between to elect next time at the beginning of;
    Node identification judges:Whether include node identification P in Z nodeiCorresponding node Pi
    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.
  7. 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=f1(x1, x2..., xi..., xZ)Mod B;
    The x1, x2..., xi..., xZRespectively corresponding node P1, P2..., Pi..., PZCaused random number;The f1For Any one function calculated random number;
    The nodes value is Z;
    The computational methods of book keeping operation person's functional value J:
    J=f2(xi, M);
    The f2It is any one to random number xiThe function calculated with a reference value M.
  8. 8. according to any described block chain random number common recognition election methods of claim 1-7, 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.
CN201710760229.9A 2017-08-30 2017-08-30 Block chain random number common recognition election method CN107493173B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710760229.9A CN107493173B (en) 2017-08-30 2017-08-30 Block chain random number common recognition election method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710760229.9A CN107493173B (en) 2017-08-30 2017-08-30 Block chain random number common recognition election method

Publications (2)

Publication Number Publication Date
CN107493173A true CN107493173A (en) 2017-12-19
CN107493173B CN107493173B (en) 2018-09-25

Family

ID=60650787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710760229.9A CN107493173B (en) 2017-08-30 2017-08-30 Block chain random number common recognition election method

Country Status (1)

Country Link
CN (1) CN107493173B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905198A (en) * 2014-03-07 2014-07-02 宁波大学 Mobile CA node electing method based on MD5 hash information abstract
CN106157142A (en) * 2016-06-30 2016-11-23 惠众商务顾问(北京)有限公司 A kind of block chain common recognition and synchronous method, system and device
CN106548397A (en) * 2016-11-22 2017-03-29 天津米游科技有限公司 A kind of block chain common recognition mechanism
CN106850536A (en) * 2016-11-30 2017-06-13 北京瑞卓喜投科技发展有限公司 Block chain common recognition method and system
CN106934611A (en) * 2017-03-21 2017-07-07 北京汇通金财信息科技有限公司 A kind of method and device of data processing
US20170237554A1 (en) * 2016-02-12 2017-08-17 Mondo Jacobs Methods and systems for using digital signatures to create trusted digital asset transfers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905198A (en) * 2014-03-07 2014-07-02 宁波大学 Mobile CA node electing method based on MD5 hash information abstract
US20170237554A1 (en) * 2016-02-12 2017-08-17 Mondo Jacobs Methods and systems for using digital signatures to create trusted digital asset transfers
CN106157142A (en) * 2016-06-30 2016-11-23 惠众商务顾问(北京)有限公司 A kind of block chain common recognition and synchronous method, system and device
CN106548397A (en) * 2016-11-22 2017-03-29 天津米游科技有限公司 A kind of block chain common recognition mechanism
CN106850536A (en) * 2016-11-30 2017-06-13 北京瑞卓喜投科技发展有限公司 Block chain common recognition method and system
CN106934611A (en) * 2017-03-21 2017-07-07 北京汇通金财信息科技有限公司 A kind of method and device of data processing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KRAFT D: "Difficulty control for blockchain-based consensus systems", 《PEER-TO-PEER 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) 2018-09-25

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. Bitcoin-ng: A scalable blockchain protocol
Noether et al. Ring confidential transactions
Kokoris-Kogias et al. Omniledger: A secure, scale-out, decentralized ledger via sharding
Bissias et al. Sybil-resistant 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 e-voting 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. Black-box concurrent zero-knowledge 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 zero-knowledge proof systems
Goldwasser Multi party computations: past and present
Rosenfeld Analysis of hashrate-based double spending
Ziegeldorf et al. Coinparty: Secure multi-party mixing of bitcoins
CN1716855B (en) Call signs
Goodrich et al. Super-efficient 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. One-way functions are essential for non-trivial zero-knowledge

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