CN108831001B - Block chain-based node random selection method, system, node and electronic equipment - Google Patents

Block chain-based node random selection method, system, node and electronic equipment Download PDF

Info

Publication number
CN108831001B
CN108831001B CN201810663208.XA CN201810663208A CN108831001B CN 108831001 B CN108831001 B CN 108831001B CN 201810663208 A CN201810663208 A CN 201810663208A CN 108831001 B CN108831001 B CN 108831001B
Authority
CN
China
Prior art keywords
node
transaction
address
trusted
random
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.)
Active
Application number
CN201810663208.XA
Other languages
Chinese (zh)
Other versions
CN108831001A (en
Inventor
赵化强
杨霖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201810663208.XA priority Critical patent/CN108831001B/en
Publication of CN108831001A publication Critical patent/CN108831001A/en
Application granted granted Critical
Publication of CN108831001B publication Critical patent/CN108831001B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C15/00Generating random numbers; Lottery apparatus
    • G07C15/006Generating random numbers; Lottery apparatus electronically

Abstract

The application provides a node random selection method, a node, a system and electronic equipment based on a block chain. The method comprises the following steps: sending a first transaction address to any node in the block chain, wherein the first transaction address is used for receiving first transactions sent by all the nodes; when a preset cut-off condition is met, sending a second transaction address to any node in the block chain, wherein the second transaction address is used for receiving second transactions sent by all nodes; determining a trusted node according to the ciphertext in the first transaction and the random string in the second transaction which are sent by each node; determining a selected node according to the random string corresponding to each trusted node; and sending a message for determining the selected node to any node in the block chain. According to the method and the device, all the nodes participate in the random selection process, the randomness of the random selection result is guaranteed, meanwhile, the data in the whole node random selection process is recorded through the block chain technology, and it is guaranteed that any node cannot control the final selection result.

Description

Block chain-based node random selection method, system, node and electronic equipment
Technical Field
The present application relates to the field of blockchain technologies, and in particular, to a method, a system, a node, and an electronic device for randomly selecting a node based on a blockchain.
Background
When resources (such as license plates, houses, academic degree and the like) are distributed, fairness and justice can be guaranteed through the 'shaking number' mode. The "rocker" mode generally includes: the offline pan number and the online pan number.
The number shaking mode under the line is generally to adopt a number shaking box to extract, or to utilize a computer to extract on site and the like to obtain the number shaking result. The number shaking method on line is generally to extract the number shaking result from the number shaking participators through a computer according to the set number shaking rule.
In the number shaking mode in the related art, the number shaking rules cannot be set, the number shaking results cannot be published and transparent, and therefore fair and fair number shaking cannot be achieved.
Disclosure of Invention
The application provides a block chain-based node random selection method, a block chain-based node random selection device, an electronic device and a computer-readable storage medium, which can solve the problem that fairness and fairness can not be achieved in a random selection process. The technical scheme is as follows:
in a first aspect, the present application provides a method for randomly selecting a node based on a block chain, where the method includes:
sending a first transaction address to any node in the block chain, wherein the first transaction address is used for receiving a first transaction sent by each node, and the first transaction comprises a ciphertext corresponding to a random string generated by the node;
when a preset cut-off condition is met, sending a second transaction address to any node in the block chain, wherein the second transaction address is used for receiving second transactions sent by all nodes, and the second transactions comprise random strings generated by the nodes;
determining a trusted node according to a ciphertext in a first transaction and a random string in a second transaction, which are sent by each node, and determining a selected node according to the random string corresponding to each trusted node;
and sending a message for determining the selected node to any node in the block chain.
Optionally, the preset cutoff condition comprises: the preset first expiration time is reached, or each node has sent the first transaction to the first transaction address.
Optionally, determining a trusted node according to the ciphertext in the first transaction and the random string in the second transaction sent by each node, includes:
acquiring a random string in the second transaction from the second transaction address, and acquiring a ciphertext in the first transaction, which is sent by a node corresponding to the second transaction, from the first transaction address;
obtaining a first ciphertext according to the random string in the second transaction;
and comparing the first ciphertext with the ciphertext in the first transaction, and if the first ciphertext is the same as the ciphertext in the first transaction, determining the node corresponding to the second transaction as a credible node.
Optionally, determining a selected node according to a random string corresponding to each trusted node includes:
numbering each trusted node;
fusing the random strings corresponding to the trusted nodes to obtain fused random strings, and determining hash values of the fused random strings;
and performing modulus operation on the hash value of the fused random string, and determining the credible nodes corresponding to the serial numbers matched with the modulus operation result as selected nodes, wherein the divisor in the modulus operation is equal to the number of the credible nodes.
Optionally, numbering each trusted node includes:
numbering all the trusted nodes according to the timestamp sequence of the transaction records of all the trusted nodes;
or the like, or, alternatively,
and numbering all the trusted nodes according to the size sequence of the addresses corresponding to the trusted nodes.
Optionally, performing fusion processing on the random string corresponding to each trusted node to obtain a fused random string, including:
and connecting the random strings of all the trusted nodes according to the sequence number of each trusted node to obtain a fused random string.
Optionally, the method further comprises:
sending a designated address to the selector;
and obtaining the verification transaction sent by the node corresponding to the selected person from the designated address, comparing whether the address corresponding to the verification transaction is the same as the address of the selected node or not, and if so, taking the node corresponding to the selected person as the selected node.
Optionally, the method further comprises: and sending the virtual excitation identification to the address of the selected node.
In a second aspect, the present application provides a node random selection system based on a block chain, the system comprising a plurality of nodes, wherein,
the host node is used for sending a first transaction address to any node in the block chain;
each node is used for generating a random string and a ciphertext corresponding to the random string and sending a first transaction comprising the ciphertext to a first transaction address;
the host node is used for sending a second transaction address to any node in the block chain when a preset cutoff condition is met;
each node for sending a second transaction comprising a random string to a second transaction address;
the host node is used for determining a trusted node according to the ciphertext in the first transaction and the random string in the second transaction which are sent by each node, determining a selected node according to the random string corresponding to each trusted node, and sending a message for determining the selected node to any node in the block chain.
Optionally, the preset cutoff condition comprises: the preset first expiration time is reached or each node has sent the transaction to the first transaction address.
Optionally, the hosting node is specifically configured to:
acquiring a random string in the second transaction from the second transaction address, and acquiring a ciphertext in the first transaction, which is sent by a node corresponding to the second transaction, from the first transaction address;
obtaining a first ciphertext according to the random string in the second transaction;
and comparing the first ciphertext with the ciphertext in the first transaction, and if the first ciphertext is the same as the ciphertext in the first transaction, determining the node corresponding to the second transaction as a credible node.
Optionally, the hosting node is specifically configured to:
numbering each trusted node;
fusing the random strings corresponding to the trusted nodes to obtain fused random strings, and determining hash values of the fused random strings;
and performing modulus operation on the hash value of the fused random string, and determining the credible nodes corresponding to the serial numbers matched with the modulus operation result as selected nodes, wherein the divisor in the modulus operation is equal to the number of the credible nodes.
Optionally, the hosting node is specifically configured to:
numbering all the trusted nodes according to the timestamp sequence of the transaction records of all the trusted nodes;
or the like, or, alternatively,
and numbering all the trusted nodes according to the size sequence of the addresses corresponding to the trusted nodes.
Optionally, the hosting node is specifically configured to: and connecting the random strings of all the trusted nodes according to the sequence number of each trusted node to obtain a fused random string.
Optionally, the host node is further configured to:
sending a designated address to the selector, acquiring a verification transaction sent by the node corresponding to the selector from the designated address, comparing whether the address corresponding to the verification transaction is the same as the address of the selected node, and if so, taking the node corresponding to the selector as the selected node.
Optionally, the host node is further configured to send the virtual stimulus identification to the address of the selected node.
In a third aspect, the present application provides a host node for implementing random selection of nodes in a block chain, where the host node includes:
the first sending module is used for sending a first transaction address to any node in the block chain, the first transaction address is used for receiving a first transaction sent by each node, and the first transaction comprises a ciphertext corresponding to a random string generated by the node;
the second sending module is used for sending a second transaction address to any node in the block chain when a preset cutoff condition is met, wherein the second transaction address is used for receiving second transactions sent by all nodes, and the second transactions comprise random strings generated by the nodes;
the trusted node determining module is used for determining a trusted node according to the ciphertext in the first transaction and the random string in the second transaction;
the node random selection module is used for determining a selected node according to a random string corresponding to each trusted node;
and the selected message sending module is used for sending the message for determining the selected node to any node in the block chain.
In a fourth aspect, the present application provides an electronic device comprising: one or more processors;
a memory;
one or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the one or more processors, the one or more application programs configured to: the method for randomly selecting the nodes based on the block chains is implemented.
In a fifth aspect, the present application provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the block chain-based node random selection method shown in the first aspect of the present application.
The technical scheme provided by the embodiment of the application has the following beneficial effects: all nodes participate in the random selection process, the randomness of the random selection result is guaranteed, meanwhile, data in the whole node random selection process are recorded through the block chain technology, any node can use the recorded data to copy the random selection process, the final selection result cannot be controlled by any node, and fair, fair and open random selection is really achieved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings used in the description of the embodiments of the present application will be briefly described below.
Fig. 1 is a schematic flowchart of a block chain-based node random selection method according to an embodiment of the present disclosure;
fig. 2 is a schematic structural diagram of a host node for implementing random selection of nodes based on a blockchain according to an embodiment of the present disclosure;
fig. 3 is a schematic structural diagram of another host node for implementing random selection of nodes based on a blockchain according to an embodiment of the present disclosure;
fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present application.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. As used herein, the term "and/or" includes all or any element and all combinations of one or more of the associated listed items.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
Example one
The embodiment of the application provides a node random selection method based on a block chain, as shown in fig. 1, the method includes:
step S101, a first transaction address is sent to any node in a block chain, the first transaction address is used for receiving first transactions sent by all the nodes, and the first transactions comprise ciphertexts corresponding to random strings generated by the nodes;
step S102, when a preset cutoff condition is met, sending a second transaction address to any node in the block chain, wherein the second transaction address is used for receiving second transactions sent by all nodes, and the second transactions comprise random strings generated by the nodes;
step S103, determining a trusted node according to the ciphertext in the first transaction and the random string in the second transaction which are sent by each node;
s104, determining a selected node according to the random string corresponding to each trusted node;
and step S105, sending a message for determining the selected node to any node in the block chain.
Wherein, a host node is required to be determined in advance, and the host node executes the steps S101 to S105. The host node may be any node in the block chain, or a predetermined specific node, or a node selected from all nodes in the block chain, and the selection manner of the host node is not limited herein.
The trusted node is a node which sends a ciphertext corresponding to the random string to the first transaction address and sends the random string to the second transaction address before the preset cutoff condition is met. However, any node that sends the ciphertext to the first transaction address after the preset cutoff condition is met cannot be used as a trusted node.
First, a first transaction address is sent by the hosting node to any node in the blockchain. After each node in the block chain receives the first transaction address, each node generates a random string R, a ciphertext R corresponding to the random string is generated by using a preset algorithm, and a first transaction containing the ciphertext R is sent to the first transaction address. When a preset cutoff condition is met, the host node sends a second transaction address to any node in the blockchain. After each node receives the second transaction address, the node should stop sending the first transaction to the first transaction address and send a second transaction containing the random string R to the second transaction address. And then, the host node extracts the first transaction received before meeting a preset cutoff condition from the first transaction address, extracts the second transaction from the second transaction address, and determines a trusted node according to the ciphertext R in the first transaction and the random string R in the second transaction which are sent by each node. And then, the host node determines the selected node through a preset algorithm according to the random string corresponding to each trusted node. Finally, the host node sends a message to any node in the block chain to determine the selected node.
According to the method, the selected nodes are determined according to the random strings provided by the nodes, so that the final selected nodes are different due to slight change of the random string of any node, and the randomness of the final selected result is ensured. And the random string of each node is randomly generated by each node, no node can predict the final selected node before sending the random string to the second transaction address, and each node must send the ciphertext corresponding to the random string to the first transaction address in advance, so that each node cannot modify the random string sent to the second transaction address. Because once a node modifies the random string sent to the second transaction address by the node, the host node can find that the modified random string is not matched with the ciphertext sent to the first transaction address by the node, and the node cannot be determined as a trusted node, and cannot participate in final selection, so that any node cannot control a final selection result.
In addition, the whole node random selection process is realized in the blockchain, namely, data in the whole node random selection process, such as transaction data sent to the first transaction address, the second transaction address and a final node selection result, are recorded in the blockchain in a blockchain mode, so that any node in the blockchain can obtain records from the blockchain to duplicate the whole node random selection process, the whole node random selection process is realized, the whole chain node common supervision random selection process is realized, and cheating of any party is prevented. Thus, while the hosting node is responsible for the entire random picking process, each operation step of the hosting node is supervised by all nodes of the full chain.
It should be noted that the host node in this embodiment may also generate a random number and participate in the selection of the node.
Therefore, the block chain-based node random selection method of this embodiment enables all nodes to participate in the random selection process, ensures randomness of a random selection result, and simultaneously records data in the whole node random selection process through the block chain technology, so that any node can use the recorded data to copy the random selection process, and ensures that any node including a host node cannot control a final selection result, thereby truly realizing fair, fair and open random selection.
Example two
The embodiment of the application provides another possible implementation manner, and on the basis of the first embodiment, the method further comprises the method shown in the second embodiment.
Wherein the preset cut-off condition comprises: the preset first expiration time is reached, or each node has sent the first transaction to the first transaction address.
Optionally, step S102 specifically includes: when the preset first expiration time is reached, the host node sends a second transaction address to any node in the blockchain.
And after the first expiration time is reached, sending the ciphertext corresponding to the random string to the node of the first transaction address, wherein the ciphertext is not determined as a trusted node, namely the ciphertext does not participate in random selection.
Optionally, step S102 specifically includes: when each node has sent the first transaction to the first transaction address, the host node sends a second transaction address to any node in the blockchain.
Wherein the preset cutoff condition applies to the following case: it is determined in advance that each node will be and must participate in the random selection of nodes.
The node random selection process may also be performed only for a part of nodes in the block chain, for example, nodes that are determined to participate in random selection are determined in advance, and the first transaction address and the second transaction address are sent only to the participating nodes.
A second cutoff condition may also be preset, and the second cutoff condition may include: the preset second deadline is reached or each node has sent the second transaction to the second transaction address. When a preset second cut-off condition is met, the host node extracts a first transaction which is received before the preset cut-off condition is met from the first transaction address, extracts a second transaction which is received before the second cut-off condition is met from the second transaction address, and determines a credible node according to a ciphertext R in the first transaction and a random string R in the second transaction which are sent by each node.
Optionally, step S103 specifically includes:
step S1031, obtaining the random string in the second transaction from the second transaction address, and obtaining the ciphertext in the first transaction sent by the node corresponding to the second transaction from the first transaction address;
step S1032, obtaining a first ciphertext according to the random string in the second transaction;
step S1033, comparing the first ciphertext with the ciphertext in the first transaction, and if the first ciphertext is the same as the ciphertext in the first transaction, determining that the node corresponding to the second transaction is a trusted node.
And the host node also adopts a preset algorithm to generate a first ciphertext corresponding to the random string in the second transaction. The digest algorithm can be used to generate the ciphertext corresponding to the random string, such as a hash algorithm, to ensure that any node cannot crack the random string corresponding to the ciphertext after receiving the ciphertext.
Wherein a node is a trusted node only if it meets all of the following requirements: (1) the node sends a random string generated by the node to a first transaction address before meeting a preset cut-off condition; (2) the node sends the ciphertext to the second transaction address; (3) and a first ciphertext obtained according to the random string sent by the node to the first transaction address is the same as a ciphertext sent by the node to the second transaction address.
Optionally, step S104 specifically includes:
step S1041, numbering each credible node;
step S1042, carrying out fusion processing on the random strings corresponding to the trusted nodes to obtain fusion random strings, and determining hash values of the fusion random strings;
and S1043, performing modulus operation on the hash value of the fused random string, and determining a trusted node corresponding to the serial number matched with the modulus operation result as a selected node, wherein the divisor in the modulus operation is equal to the number of the trusted nodes.
Wherein, step S1042 specifically includes: and connecting the random strings of all the trusted nodes according to the sequence number of each trusted node to obtain a fused random string.
For example, the host node determines K trusted nodes in total, the host node numbers all the trusted nodes, each trusted node is assigned with a unique sequence number, and the sequence number is from 0 to K-1. In order of the sequence number of the trusted nodeAnd connecting the random strings of all the credible nodes to obtain a fused random string L ═ R0R1……RK-1And calculating a hash value H of L, performing a modulo operation on H, obtaining a modulo result re H mod K, and determining that the trusted node with the same sequence number as the modulo result re is the selected node, for example, if re 1, the trusted node with the sequence number 1 is the selected node.
According to the method for determining the selected node, the selected node is determined according to the random strings provided by all the trusted nodes, so that all the trusted nodes participate in the process of determining the selected node, and cheating of any party is prevented.
Further, step S1041 specifically includes: and numbering all the credible nodes according to the timestamp sequence of the transaction records of each credible node.
Further, step S1041 specifically includes: and numbering all the trusted nodes according to the size sequence of the addresses corresponding to the trusted nodes.
The address of the node is the identity of the node in the blockchain, and has uniqueness, for example, the wallet address in the bitcoin blockchain.
Further, by the method in step S1043, only one selected node can be determined at a time, and when a plurality of selected nodes need to be determined at a time, a plurality of selected nodes can be derived based on the modulo operation result. For example, assuming that the modulo result is a, all nodes corresponding to sequence numbers that are integer multiples of a are selected nodes, that is, all nodes with sequence numbers a, 2a, 3a, and … … na are selected nodes, and by setting n, the number of selected nodes can be controlled.
Optionally, the method of this embodiment further includes the following steps: sending a designated address to the selector; and obtaining the verification transaction sent by the node corresponding to the selected person from the designated address, comparing whether the address corresponding to the verification transaction is the same as the address of the selected node or not, and if so, taking the node corresponding to the selected person as the selected node.
For example, when the selected person corresponding to the selected node needs to receive the corresponding physical object, the physical object issuer may request the selected person to send a transaction to the designated address, and when the address corresponding to the transaction is the same as the address of the selected node, determine that the selected person is the user corresponding to the selected node, and issue the corresponding physical object to the selected person. The identity of the selected person is verified through the address of the node, so that the fake situation is prevented.
Optionally, the method of this embodiment further includes the following steps: and sending the virtual excitation identification to the address of the selected node.
Wherein the virtual incentive identification can be virtual currency, electronic ticket, etc. For example, when a corresponding virtual reward (e.g., a virtual coin) needs to be issued to the selected node, the virtual reward may be sent directly to the address of the selected node.
The block chain-based node random selection method provided by the embodiment can be applied to any scene needing random selection.
For example, when a resource (e.g., license plate, house, academic degree, etc.) is allocated, the resource is randomly allocated in a "shake number" manner. The "shaking" procedure in connection with the method of this example is briefly described below.
Before starting number shaking, a host for distributing resources provides a number shaking system realized by relying on a block chain technology, each user applying for number shaking finishes registration in the number shaking system in advance and obtains a unique address, and each user side corresponds to a node. In this application scenario, the host node may be a special node provided by the host that allocates resources. The "rocker" is actually a random selection of one or more nodes from all nodes in the blockchain.
After starting the "rocker", the host node sends a first transaction address to any node in the blockchain. After each node in the block chain receives the first transaction address, a random string R and a ciphertext R corresponding to the random string are generated, and a first transaction comprising the ciphertext R is sent to the first transaction address. When a preset cutoff condition is met, the host node sends a second transaction address to any node in the blockchain. After receiving the second transaction address, each node sends a second transaction including the random string R to the second transaction address. After the preset second cut-off condition is met, the host node extracts a first transaction received before the preset cut-off condition is met from the first transaction address, extracts a second transaction received before the preset second cut-off condition is met from the second transaction address, determines a credible node according to a ciphertext R in the first transaction sent by each node and a random string R in the second transaction, determines a selected node according to the random string R corresponding to each credible node, and sends a message for determining the selected node to any node in the block chain.
Data in the whole number shaking process is recorded in the block chain, after each node receives the message for determining the selected node, the data of the number shaking of this time is obtained from the block chain, and the number shaking result and the credibility of the process are verified according to the data.
After the number shaking result is generated, the host sends corresponding selected certificates to the address of the selected node, and a user corresponding to the selected node can transact relevant procedures through the selected certificates to obtain real objects such as license plates, houses and the like.
When a user corresponding to the selected node needs to pick up the allocated resources on site, the host can require the retriever to send a verification transaction to the designated address, the host obtains the verification transaction sent by the node corresponding to the retriever from the designated address, whether the address corresponding to the verification transaction is the same as the address of the selected node or not is compared, and if the address corresponding to the retriever is the same as the address of the selected node, the node corresponding to the retriever is the selected node. At this time, the corresponding resource may be issued to the retriever.
By the method, anyone can not control the final shaking result, fair and public shaking is truly realized, and meanwhile, the situation of impossibility is prevented.
For another example, the traditional lottery drawing method is easy to have dark box operation, and the lottery drawing process realized by the method of the embodiment can ensure the randomness of the lottery drawing result and simultaneously ensure that anyone can not control the final lottery drawing result. The specific implementation mode is as follows:
before the 'lottery' is started, a host node is determined in the blockchain by the host of the 'lottery' activity, or a host node is selected from each node in the blockchain. The "draw" is actually a random selection of one or more nodes from all the nodes of the blockchain.
After the "draw" is initiated, the host node sends a first transaction address to any node in the blockchain. After each node in the block chain receives the first transaction address, a random string R and a ciphertext R corresponding to the random string are generated, and a first transaction comprising the ciphertext R is sent to the first transaction address. When a preset cutoff condition is met, the host node sends a second transaction address to any node in the blockchain. After receiving the second transaction address, each node sends a second transaction including the random string R to the second transaction address. After the preset second cut-off condition is met, the host node extracts a first transaction received before the preset cut-off condition is met from the first transaction address, extracts a second transaction received before the preset second cut-off condition is met from the second transaction address, determines a credible node according to a ciphertext R in the first transaction sent by each node and a random string R in the second transaction, determines a selected node according to the random string R corresponding to each credible node, and sends a message for determining the selected node to any node in the block chain.
Data in the whole lottery drawing process is recorded in the blockchain, each node acquires the data of the current lottery drawing from the blockchain after receiving the message for determining the selected node, and the result of the lottery drawing and the process are verified to be credible according to the data.
When the prize is a real object, after a selector corresponding to the selected node reaches a prize receiving site, the real object issuing party can request the selector to send a transaction to a designated address, when the address corresponding to the transaction is the same as the address of the selected node, the selector is determined to be a user corresponding to the selected node, and the corresponding real object is issued to the selector. The identity of the selected person is verified through the address of the node, so that the fake situation is prevented.
When the prize is a virtual award (e.g., virtual currency, electronic ticket), the virtual award may be sent directly to the address of the selected node.
As another example, the method of the present embodiment may be applied to a biller election of a blockchain. The specific implementation method comprises the following steps:
the host node sends a first transaction address to any node in the blockchain. After each node in the block chain receives the first transaction address, a random string R and a ciphertext R corresponding to the random string are generated, and a first transaction comprising the ciphertext R is sent to the first transaction address. When a preset cutoff condition is met, the host node sends a second transaction address to any node in the blockchain. After receiving the second transaction address, each node sends a second transaction including the random string R to the second transaction address. After the preset second cut-off condition is met, the host node extracts a first transaction received before the preset cut-off condition is met from the first transaction address, extracts a second transaction received before the preset second cut-off condition is met from the second transaction address, determines a credible node according to a ciphertext R in the first transaction sent by each node and a random string R in the second transaction, determines a selected node according to the random string R corresponding to each credible node, and sends a message for determining the selected node to any node in the block chain. And each node verifies the random selection process, and when all the nodes complete verification and the selected result is confirmed to be correct, the selected node can be determined as the bookkeeper.
Wherein the host node may be any node in the block chain.
The current way of electing the biller is to randomly select a plurality of nodes in the transaction system as the biller, however, the random selection is by a random number, and the random number in the computer is a pseudo-random number generated by a determinable function (e.g., linear congruence) through a seed (e.g., system time). Thus, when the seed is known, or the random numbers that have been generated, it is possible to obtain information on the next sequence of random numbers. Therefore, the prior art selected billers are easily counterfeited and unreliable.
According to the method, all the nodes participate in the process of electing the bookkeeper, the randomness of the randomly selected result is guaranteed, meanwhile, the data in the whole node randomly selecting process is recorded through the block chain technology, any node can utilize the recorded data to copy the random selecting process, the final selected result cannot be controlled by any node, and the fairness, the justness and the openness of the electing process are guaranteed.
EXAMPLE III
Based on the same inventive concept as the first and second embodiments, the present embodiment provides a system for randomly selecting nodes based on a block chain, where the system includes a plurality of nodes.
Wherein the host node is configured to send the first transaction address to any node in the blockchain.
Each node is used for generating a random string and a ciphertext corresponding to the random string and sending a first transaction comprising the ciphertext to a first transaction address;
the host node is used for sending a second transaction address to any node in the block chain when a preset cutoff condition is met.
Each node is operable to send a second transaction comprising the random string to a second transaction address.
The host node is used for determining a trusted node according to the ciphertext in the first transaction and the random string in the second transaction which are sent by each node, determining a selected node according to the random string corresponding to each trusted node, and sending a message for determining the selected node to any node in the block chain.
A host node needs to be determined in advance, the host node may be any node in the block chain, or a predetermined specific node, or a node selected by all nodes in the block chain, and the specific selection manner of the support node is not limited herein.
The credible node is a node which sends a ciphertext corresponding to the random string to the first transaction address and sends the random string to the second transaction address when a preset cut-off condition is met. However, any node that sends the ciphertext to the first transaction address after the preset cutoff condition is met cannot be used as a trusted node.
First, a first transaction address is sent by the hosting node to any node in the blockchain. After each node in the block chain receives the first transaction address, each node generates a random string R, a ciphertext R corresponding to the random string is generated by using a preset algorithm, and a first transaction containing the ciphertext R is sent to the first transaction address. When a preset cutoff condition is met, the host node sends a second transaction address to any node in the blockchain. After each node receives the second transaction address, the node should stop sending the first transaction to the first transaction address and send a second transaction containing the random string R to the second transaction address. And then, the host node extracts the first transaction received before meeting a preset cutoff condition from the first transaction address, extracts the second transaction from the second transaction address, and determines a trusted node according to the ciphertext R in the first transaction and the random string R in the second transaction which are sent by each node. And then, the host node determines the selected node through a preset algorithm according to the random string corresponding to each trusted node. Finally, the host node sends a message to any node in the block chain to determine the selected node.
The block chain-based node random selection system of this embodiment enables all nodes to participate in the random selection process, ensures randomness of a random selection result, and simultaneously records data in the whole node random selection process through a block chain technology, so that any node can utilize the recorded data to copy the random selection process, and ensures that any node including a host node cannot control a final selection result, thereby truly realizing fair, fair and open random selection.
Wherein the preset cut-off condition comprises: the preset first expiration time is reached or each node has sent the transaction to the first transaction address.
Optionally, the hosting node is specifically configured to: acquiring a random string in the second transaction from the second transaction address, and acquiring a ciphertext in the first transaction, which is sent by a node corresponding to the second transaction, from the first transaction address; obtaining a first ciphertext according to the random string in the second transaction; and comparing the first ciphertext with the ciphertext in the first transaction, and if the first ciphertext is the same as the ciphertext in the first transaction, determining the node corresponding to the second transaction as a credible node.
Optionally, the hosting node is specifically configured to: numbering each trusted node; fusing the random strings corresponding to the trusted nodes to obtain fused random strings, and determining hash values of the fused random strings; and performing modulus operation on the hash value of the fused random string, and determining the credible nodes corresponding to the serial numbers matched with the modulus operation result as selected nodes, wherein the divisor in the modulus operation is equal to the number of the credible nodes.
Wherein the host node is specifically configured to: numbering each trusted node; connecting the random strings of all the trusted nodes according to the sequence number of each trusted node to obtain a fused random string, and determining the hash value of the fused random string; and performing modulus operation on the hash value of the fused random string, and determining the credible nodes corresponding to the serial numbers matched with the modulus operation result as selected nodes, wherein the divisor in the modulus operation is equal to the number of the credible nodes.
Optionally, the hosting node is specifically configured to: and numbering all the credible nodes according to the timestamp sequence of the transaction records of each credible node.
Optionally, the hosting node is specifically configured to: and numbering all the trusted nodes according to the size sequence of the addresses corresponding to the trusted nodes.
Optionally, the host node is further configured to: sending a designated address to the selector, acquiring a verification transaction sent by the node corresponding to the selector from the designated address, comparing whether the address corresponding to the verification transaction is the same as the address of the selected node, and if so, taking the node corresponding to the selector as the selected node.
Optionally, the host node is further configured to send the virtual stimulus identification to the address of the selected node.
The block chain-based node random selection system provided in this embodiment adopts the same inventive concept as in the first and second embodiments, and can obtain the same beneficial effects, which are not described herein again.
Example four
An embodiment of the present application provides a host node for implementing random selection of nodes in a block chain, and as shown in fig. 2, the host node 20 may include: the node selection method comprises a first sending module 201, a second sending module 202, a trusted node determination module 203, a node random selection module 204 and a selected message sending module 205.
The first sending module 201 is configured to send a first transaction address to any node in the block chain, where the first transaction address is used to receive a first transaction sent by each node, and the first transaction includes a ciphertext corresponding to a random string generated by the node.
The second sending module 202 is configured to send a second transaction address to any node in the block chain when a preset cutoff condition is met, where the second transaction address is used to receive a second transaction sent by each node, and the second transaction includes a random string generated by the node.
The trusted node determining module 203 is configured to determine a trusted node according to the ciphertext in the first transaction and the random string in the second transaction.
The node random selection module 204 is configured to determine a selected node according to a random string corresponding to each trusted node.
Wherein the selected message sending module 205 is configured to send a message for determining the selected node to any node in the block chain.
The host node for realizing the random selection of the nodes in the block chain in the embodiment enables all the nodes to participate in the random selection process, ensures the randomness of the random selection result, simultaneously records the data in the whole node random selection process through the block chain technology, enables any node to use the recorded data to copy the random selection process, ensures that any node including the host node cannot control the final selection result, and really realizes fair, fair and open random selection.
It should be noted that the host node in this embodiment may be any node in the block chain.
Wherein the preset cut-off condition comprises: the preset first expiration time is reached, or each node has sent the first transaction to the first transaction address.
Optionally, as shown in fig. 3, the trusted node determining module 203 specifically includes: an acquisition unit 2031, an encryption unit 2032, and a comparison unit 2033.
The obtaining unit 2031 is configured to obtain the random string in the second transaction from the second transaction address, and obtain the ciphertext in the first transaction sent by the node corresponding to the second transaction from the first transaction address.
The encryption unit 2032 is configured to obtain the first ciphertext according to the random string in the second transaction.
The comparing unit 2033 is configured to compare the first ciphertext with the ciphertext in the first transaction, and if the first ciphertext is the same as the ciphertext in the first transaction, determine that the node corresponding to the second transaction is a trusted node.
Optionally, the node random selection module 204 specifically includes: number unit 2041, fusion unit 2042, and modulo operation unit 2043.
The numbering unit 2041 is used to number each trusted node.
The fusing unit 2042 is configured to perform fusing processing on the random strings corresponding to the trusted nodes to obtain fused random strings, and determine hash values of the fused random strings.
The modulo operation unit 2043 is configured to perform modulo operation on the hash value of the fused random string, and determine a trusted node corresponding to a sequence number matched with a result of the modulo operation as a selected node, where a divisor in the modulo operation is equal to the number of the trusted nodes.
Optionally, numbering unit 2041 is specifically configured to: and numbering all the credible nodes according to the timestamp sequence of the transaction records of each credible node.
Optionally, numbering unit 2041 is specifically configured to: and numbering all the trusted nodes according to the size sequence of the addresses corresponding to the trusted nodes.
Optionally, the fusion unit 2042 is specifically configured to: and connecting the random strings of all the trusted nodes according to the sequence number of each trusted node to obtain a fused random string, and determining the hash value of the fused random string.
Optionally, the host node 20 of this embodiment further includes a node-in-transit verification module, where the node-in-transit verification module is configured to: sending a designated address to the selector, acquiring a verification transaction sent by the node corresponding to the selector from the designated address, comparing whether the address corresponding to the verification transaction is the same as the address of the selected node, and if so, taking the node corresponding to the selector as the selected node.
Optionally, the host node 20 of the present embodiment further includes an incentive issuing module, configured to: and sending the virtual excitation identification to the address of the selected node.
The host node provided by this embodiment for realizing the random selection of the nodes in the block chain adopts the same inventive concept as in the first and second embodiments, and can obtain the same beneficial effects, which are not described herein again.
EXAMPLE five
An embodiment of the present application provides an electronic device, as shown in fig. 4, an electronic device 40 shown in fig. 4 includes: a processor 401 and a memory 402. Wherein the processor 401 is coupled to the memory 402, such as via a bus 403. Optionally, the electronic device 40 may also include a transceiver 404. It should be noted that the transceiver 404 is not limited to one in practical applications, and the structure of the electronic device 40 is not limited to the embodiment of the present application.
The processor 401 is applied to the embodiment of the present application, and is configured to implement the functions of the first sending module 201, the second sending module 202, the trusted node determining module 203, the node random selecting module 204, and the selected message sending module 205 shown in fig. 2. The transceiver 404 includes a receiver and a transmitter.
The processor 401 may be a CPU, general purpose processor, DSP, ASIC, FPGA or other programmable logic device, transistor logic device, hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor 401 may also be a combination of computing functions, e.g., comprising one or more microprocessors, a combination of a DSP and a microprocessor, or the like.
Bus 403 may include a path that transfers information between the above components. The bus 403 may be a PCI bus or an EISA bus, etc. The bus 403 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in FIG. 4, but this does not indicate only one bus or one type of bus.
The memory 402 may be, but is not limited to, a ROM or other type of static storage device that can store static information and instructions, a RAM or other type of dynamic storage device that can store information and instructions, an EEPROM, a CD-ROM or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
Optionally, the memory 402 is used for storing application program codes for executing the scheme of the present application, and is controlled by the processor 401 to execute. The processor 401 is operative to execute application code stored in the memory 402 to carry out the actions of the hosting node 20 as provided by the embodiment shown in figure 2.
Compared with the prior art, the electronic device provided by the embodiment of the application ensures that all nodes participate in the random selection process, ensures the randomness of the random selection result, records the data in the whole node random selection process through the block chain technology, ensures that any node can use the recorded data to copy the random selection process, ensures that any node including the host node cannot control the final selection result, and really realizes fair, fair and open random selection.
Optionally, the processor 401 is configured to execute the application program code stored in the memory 402 to implement the actions of the host node 20 provided in the embodiment shown in fig. 3, which will not be described herein again.
EXAMPLE six
The embodiment of the present application provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the method for randomly selecting a node based on a block chain as shown in the first embodiment is implemented.
Compared with the prior art, all nodes participate in the random selection process, randomness of a random selection result is guaranteed, meanwhile, data in the whole node random selection process are recorded through a block chain technology, any node can utilize the recorded data to copy the random selection process, it is guaranteed that any node including a host node cannot control a final selection result, and fair, fair and open random selection is really achieved.
Optionally, an embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the method for randomly selecting a node based on a block chain as shown in the second embodiment is implemented, which is not described herein again.
It should be understood that, although the steps in the flowcharts of the figures are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and may be performed in other orders unless explicitly stated herein. Moreover, at least a portion of the steps in the flow chart of the figure may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
The foregoing is only a partial embodiment of the present application, and it should be noted that, for those skilled in the art, several modifications and decorations can be made without departing from the principle of the present application, and these modifications and decorations should also be regarded as the protection scope of the present application.

Claims (26)

1. A node random selection method based on a block chain is characterized by comprising the following steps:
sending a first transaction address to any node in a block chain, wherein the first transaction address is used for receiving a first transaction sent by each node, and the first transaction comprises a ciphertext corresponding to a random string generated by the node;
when a preset cutoff condition is met, sending a second transaction address to any node in the block chain, wherein the second transaction address is used for receiving second transactions sent by all nodes, and the second transactions comprise random strings generated by the nodes;
determining a trusted node according to the ciphertext in the first transaction and the random string in the second transaction which are sent by each node;
determining a selected node according to the random string corresponding to each trusted node;
and sending a message for determining the selected node to any node in the block chain.
2. The method of claim 1, wherein the preset cutoff condition comprises: the preset first expiration time is reached, or each node has sent a first transaction to the first transaction address.
3. The method of claim 1, wherein determining the trusted node according to the ciphertext in the first transaction and the random string in the second transaction sent by each node comprises:
acquiring a random string in a second transaction from the second transaction address, and acquiring a ciphertext in a first transaction, which is sent by a node corresponding to the second transaction, from the first transaction address;
obtaining a first ciphertext according to the random string in the second transaction;
and comparing the first ciphertext with the ciphertext in the first transaction, and if the first ciphertext is the same as the ciphertext in the first transaction, determining that the node corresponding to the second transaction is a trusted node.
4. The method of claim 1, wherein determining the selected node according to the random string corresponding to each trusted node comprises:
numbering each trusted node;
fusing the random strings corresponding to the trusted nodes to obtain fused random strings, and determining hash values of the fused random strings;
and performing modulus operation on the hash value of the fused random string, and determining the credible nodes corresponding to the serial numbers matched with the modulus operation result as selected nodes, wherein the divisor in the modulus operation is equal to the number of the credible nodes.
5. The method of claim 4, wherein said numbering each trusted node comprises:
numbering all the trusted nodes according to the timestamp sequence of the transaction records of all the trusted nodes;
or the like, or, alternatively,
and numbering all the trusted nodes according to the size sequence of the addresses corresponding to the trusted nodes.
6. The method according to claim 4, wherein the fusing the random strings corresponding to the trusted nodes to obtain fused random strings comprises:
and connecting the random strings of all the trusted nodes according to the sequence number of each trusted node to obtain a fused random string.
7. The method of claim 1, further comprising:
sending a designated address to the selector;
and obtaining the verification transaction sent by the node corresponding to the candidate from the designated address, comparing whether the address corresponding to the verification transaction is the same as the address of the selected node, and if so, determining that the node corresponding to the candidate is the selected node.
8. The method of claim 1, further comprising: and sending a virtual excitation identification to the address of the selected node.
9. A random selection system of nodes based on block chains is characterized in that the system comprises a plurality of nodes, wherein,
the host node is used for sending a first transaction address to any node in the block chain;
each node is used for generating a random string and a ciphertext corresponding to the random string and sending a first transaction comprising the ciphertext to the first transaction address;
the host node is used for sending a second transaction address to any node in the block chain when a preset cutoff condition is met;
each node for sending a second transaction comprising the random string to the second transaction address;
the host node is used for determining a trusted node according to the ciphertext in the first transaction and the random string in the second transaction which are sent by each node, determining a selected node according to the random string corresponding to each trusted node, and sending a message for determining the selected node to any node in the block chain.
10. The system of claim 9, wherein the preset cutoff condition comprises: the preset first cut-off time is reached, or all nodes send the transaction to the first transaction address.
11. The system of claim 9, wherein the hosting node is specifically configured to:
acquiring a random string in a second transaction from the second transaction address, and acquiring a ciphertext in a first transaction, which is sent by a node corresponding to the second transaction, from the first transaction address;
obtaining a first ciphertext according to the random string in the second transaction;
and comparing the first ciphertext with the ciphertext in the first transaction, and if the first ciphertext is the same as the ciphertext in the first transaction, determining that the node corresponding to the second transaction is a trusted node.
12. The system of claim 9, wherein the hosting node is specifically configured to:
numbering each trusted node;
fusing the random strings corresponding to the trusted nodes to obtain fused random strings, and determining hash values of the fused random strings;
and performing modulus operation on the hash value of the fused random string, and determining the credible nodes corresponding to the serial numbers matched with the modulus operation result as selected nodes, wherein the divisor in the modulus operation is equal to the number of the credible nodes.
13. The system of claim 12, wherein the hosting node is specifically configured to:
numbering all the trusted nodes according to the timestamp sequence of the transaction records of all the trusted nodes;
or the like, or, alternatively,
and numbering all the trusted nodes according to the size sequence of the addresses corresponding to the trusted nodes.
14. The system of claim 12, wherein the hosting node is specifically configured to: and connecting the random strings of all the trusted nodes according to the sequence number of each trusted node to obtain a fused random string.
15. The system of claim 9, wherein the hosting node is further configured to:
sending a designated address to a selector, acquiring a verification transaction sent by the node corresponding to the selector from the designated address, comparing whether the address corresponding to the verification transaction is the same as the address of the selected node, and if so, taking the node corresponding to the selector as the selected node.
16. The system of claim 9, wherein the hosting node is further configured to send a virtual stimulus identification to the address of the selected node.
17. A host node for enabling random selection of nodes in a blockchain, the host node comprising:
the system comprises a first sending module, a first receiving module and a first sending module, wherein the first sending module is used for sending a first transaction address to any node in a block chain, the first transaction address is used for receiving a first transaction sent by each node, and the first transaction comprises a ciphertext corresponding to a random string generated by the node;
the second sending module is used for sending a second transaction address to any node in the block chain when a preset cutoff condition is met, wherein the second transaction address is used for receiving a second transaction sent by each node, and the second transaction comprises a random string generated by the node;
the trusted node determining module is used for determining a trusted node according to the ciphertext in the first transaction and the random string in the second transaction;
the node random selection module is used for determining a selected node according to a random string corresponding to each trusted node;
and the selected message sending module is used for sending the message for determining the selected node to any node in the block chain.
18. The hosting node of claim 17, wherein the preset cutoff condition comprises: the preset first expiration time is reached, or each node has sent a first transaction to the first transaction address.
19. The hosting node of claim 17, wherein the trusted node determination module specifically includes: the device comprises an acquisition unit, an encryption unit and a comparison unit;
the acquiring unit is used for acquiring a random string in a second transaction from the second transaction address and acquiring a ciphertext in a first transaction sent by a node corresponding to the second transaction from the first transaction address;
the encryption unit is used for obtaining a first ciphertext according to the random string in the second transaction;
and the comparison unit is used for comparing the first ciphertext with the ciphertext in the first transaction, and if the first ciphertext is the same as the ciphertext in the first transaction, determining that the node corresponding to the second transaction is a trusted node.
20. The hosting node of claim 17, wherein the node random selection module specifically comprises: the device comprises a numbering unit, a fusion unit and a modulus taking operation unit;
the numbering unit is used for numbering each credible node;
the fusion unit is used for performing fusion processing on the random strings corresponding to the trusted nodes to obtain fusion random strings and determining hash values of the fusion random strings;
and the modulus operation unit is used for performing modulus operation on the hash value of the fused random string, and determining a credible node corresponding to the serial number matched with the modulus operation result as a selected node, wherein the divisor in the modulus operation is equal to the number of the credible nodes.
21. The hosting node of claim 20, wherein the numbering unit is specifically configured to:
numbering all the trusted nodes according to the timestamp sequence of the transaction records of all the trusted nodes; or numbering all the trusted nodes according to the size sequence of the addresses corresponding to the trusted nodes.
22. The hosting node of claim 20, wherein the fusion unit is specifically configured to:
and connecting the random strings of all the trusted nodes according to the sequence number of each trusted node to obtain a fused random string, and determining the hash value of the fused random string.
23. The hosting node of claim 17, wherein the hosting node further comprises a elected node validation module:
the selected node verification module is used for sending a designated address to a selector; and obtaining the verification transaction sent by the node corresponding to the candidate from the designated address, comparing whether the address corresponding to the verification transaction is the same as the address of the selected node, and if so, determining that the node corresponding to the candidate is the selected node.
24. The hosting node of claim 17, wherein the hosting node further comprises an incentive issuance module:
and the excitation issuing module is used for sending a virtual excitation identifier to the address of the selected node.
25. An electronic device, comprising:
one or more processors;
a memory;
one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the one or more processors, the one or more applications configured to: -performing the blockchain based node random selection method according to any one of claims 1 to 8.
26. A computer-readable storage medium for storing computer instructions which, when executed on a computer, enable the computer to perform the blockchain-based node random selection method of any one of claims 1 to 8.
CN201810663208.XA 2018-06-25 2018-06-25 Block chain-based node random selection method, system, node and electronic equipment Active CN108831001B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810663208.XA CN108831001B (en) 2018-06-25 2018-06-25 Block chain-based node random selection method, system, node and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810663208.XA CN108831001B (en) 2018-06-25 2018-06-25 Block chain-based node random selection method, system, node and electronic equipment

Publications (2)

Publication Number Publication Date
CN108831001A CN108831001A (en) 2018-11-16
CN108831001B true CN108831001B (en) 2021-06-18

Family

ID=64138570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810663208.XA Active CN108831001B (en) 2018-06-25 2018-06-25 Block chain-based node random selection method, system, node and electronic equipment

Country Status (1)

Country Link
CN (1) CN108831001B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111223227B (en) * 2018-11-26 2022-03-22 腾讯科技(深圳)有限公司 Target user screening method and device
CN109818837B (en) * 2018-12-13 2022-04-12 深圳壹账通智能科技有限公司 Intelligent household control method and device, computer equipment and storage medium
CN110189465B (en) * 2019-06-13 2020-12-25 北京瑞策科技有限公司 Random lottery method and equipment by means of block chain
CN110223440B (en) * 2019-06-13 2020-10-02 北京瑞策科技有限公司 Random number shaking method and equipment for application block chain
CN110223439B (en) * 2019-06-13 2020-10-02 北京瑞策科技有限公司 Random number shaking method and device for application block chain

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107493173A (en) * 2017-08-30 2017-12-19 北京知金链网络技术有限公司 Block chain random number common recognition election method
KR20180014534A (en) * 2016-08-01 2018-02-09 서강대학교산학협력단 Verification system and method for transaction based block chain
CN107820690A (en) * 2017-08-21 2018-03-20 达闼科技成都有限公司 Information choosing method, device, electronic equipment and computer-readable recording medium
CN108038954A (en) * 2017-12-01 2018-05-15 中国联合网络通信集团有限公司 Transaction operation method and digging ore deposit node based on block chain
CN108124505A (en) * 2017-12-19 2018-06-05 深圳前海达闼云端智能科技有限公司 Method and device for acquiring trusted node, storage medium and block link node

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180014534A (en) * 2016-08-01 2018-02-09 서강대학교산학협력단 Verification system and method for transaction based block chain
CN107820690A (en) * 2017-08-21 2018-03-20 达闼科技成都有限公司 Information choosing method, device, electronic equipment and computer-readable recording medium
CN107493173A (en) * 2017-08-30 2017-12-19 北京知金链网络技术有限公司 Block chain random number common recognition election method
CN108038954A (en) * 2017-12-01 2018-05-15 中国联合网络通信集团有限公司 Transaction operation method and digging ore deposit node based on block chain
CN108124505A (en) * 2017-12-19 2018-06-05 深圳前海达闼云端智能科技有限公司 Method and device for acquiring trusted node, storage medium and block link node

Also Published As

Publication number Publication date
CN108831001A (en) 2018-11-16

Similar Documents

Publication Publication Date Title
CN108831001B (en) Block chain-based node random selection method, system, node and electronic equipment
JP7407895B2 (en) Blockchain for general calculations
Lashkari et al. A comprehensive review of blockchain consensus mechanisms
Abuidris et al. Secure large‐scale E‐voting system based on blockchain contract using a hybrid consensus model combined with sharding
JP6986519B2 (en) Distributed transaction propagation and validation system
CN109359957B (en) Safe multiparty computing method and related device
Wahab et al. Survey of consensus protocols
WO2020082883A1 (en) Object selection method and device and electronic device
EP3543853A1 (en) Providing microservice information
CN111865587B (en) Data processing method, block link point device, electronic device, and computer program
CN112257095B (en) Method for selecting alliance chain consensus node
Alzahrani et al. A new product anti‐counterfeiting blockchain using a truly decentralized dynamic consensus protocol
WO2018234482A1 (en) Method for generating a transaction of a blockchain and method for validating a block of a blockchain
KR102525157B1 (en) Apparatus and Methods for Verifiable Lottery
CN111488134B (en) Public random number generation method and device based on block chain
CN109981586B (en) Node marking method and device
CN110990790B (en) Data processing method and equipment
JP2021530173A (en) Computer implementation systems and methods for accumulator-based protocols for the distribution of tasks between computer networks
CN114281888A (en) Block chain consensus method, device, equipment and storage medium
KR20220122994A (en) Proveably fair games using blockchain
CN112636904B (en) Random number generation and verification method and device, electronic equipment and readable storage medium
CN112181599B (en) Model training method, device and storage medium
CN112634034A (en) Reservation method, reservation device, electronic equipment and computer readable storage medium
Mahmood et al. Survey of consensus protocols
KR102248890B1 (en) System and method for lottery based on public blockchain and verification thereof

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