CN112101940A - Random verifiable sample selection system implemented with block chains - Google Patents
Random verifiable sample selection system implemented with block chains Download PDFInfo
- Publication number
- CN112101940A CN112101940A CN202010974993.8A CN202010974993A CN112101940A CN 112101940 A CN112101940 A CN 112101940A CN 202010974993 A CN202010974993 A CN 202010974993A CN 112101940 A CN112101940 A CN 112101940A
- Authority
- CN
- China
- Prior art keywords
- seed
- module
- user
- block chain
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005070 sampling Methods 0.000 claims abstract description 13
- 238000013500 data storage Methods 0.000 claims abstract description 12
- 230000000007 visual effect Effects 0.000 claims abstract description 12
- 238000003860 storage Methods 0.000 claims abstract description 10
- 230000005540 biological transmission Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 25
- 238000000034 method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000012800 visualization Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 230000006870 function Effects 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 239000002994 raw material Substances 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 241001481828 Glyptocephalus cynoglossus Species 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
The invention provides a verifiable random sample sampling system implemented by a block chain, which comprises: the system comprises a client, a block chain object processing module and a block chain distributed data storage module; the client comprises: the visual information operation module and the transmission module of data from the chain to the block chain; the block chain transaction processing module comprises: the system comprises a verifiable random number generation module, a dynamic block chain verifier cluster generation module, a service contract module, a P2P module and a consensus module; the block chain distributed data storage module comprises; and (5) a transaction and evidence storage module. The invention can randomly generate a verifiable random number according to the given random number seed through the verifiable random number generation module, and any user on the block chain can verify the authenticity of the random number by using the secret key disclosed by the generator.
Description
Technical Field
The present invention relates to the field of blockchain technology, and in particular, to a system for randomly verifiable sample selection implemented with blockchains.
Background
In the traditional business scene similar to the quality inspection process requiring high-credibility random numbers, a credibility random number generation scheme capable of removing human factor interference is lacked at present, meanwhile, in the embodiment of quality inspection, the whole business process cannot reach the degree of openness and transparency, great hidden dangers can be brought to production of enterprises, and meanwhile, the enterprises can trace back to the source for problems, and the cost of data storage needs to be additionally generated.
The difficulties are as follows: 1) the generation process 2) of the verifiable random number, the generation process 3) of the dynamic block chain verifier cluster, and the traditional enterprise business process can be combined with the block chain through the modules, so that the time of the business process is shortened and the production efficiency is improved on the premise of inheriting the superiority that the block chain is public and transparent and cannot be tampered.
Disclosure of Invention
In view of the deficiencies in the prior art, it is an object of the present invention to provide a verifiable random sample sampling system implemented with a block chain.
According to the invention, a verifiable random sampling system implemented by a block chain is provided, which comprises: the system comprises a client, a block chain object processing module and a block chain distributed data storage module;
the client comprises: the visual information operation module and the transmission module of data from the chain to the block chain;
the block chain transaction processing module comprises: the system comprises a verifiable random number generation module, a dynamic block chain verifier cluster generation module, a service contract module, a P2P module and a consensus module;
the block chain distributed data storage module comprises; and (5) a transaction and evidence storage module.
Preferably, the visual information operation module adopts an internet front-end technology to display a user-friendly visual UI (user interface);
the information displayed by the visualization module comprises: block height, node information, transaction events of the block chain;
the visualization module provides the user with the ability to visualize operations on the blockchain.
Preferably, the data is transmitted from the link down to the transport module of the block link, and the web-end data is adopted, and includes: AJAX, iframe, and Websocket;
the web end data refers to data input by a user through operation at the web end, the web end transmits the data to the background, and the background calls a block chain interface to complete one-time calling of a block chain;
the data is transmitted to the background from a transmission module which is linked down to the block chain, web end data is transmitted to the background through an interactive technology, when a user sends a transaction, form information is collected, the account balance of the user and the effectiveness of the transaction are automatically judged, transaction information is packaged, the transaction is sent to the block chain in a form of sending by a remote node agent, and after the transaction receipt is obtained, the capability of the user for checking the transaction receipt is provided.
Preferably, the verifiable random number generation module writes a verifiable random function VRF in the bottom implementation code of the blockchain for calling;
for any input string x, VRF _ { sk } (x) returns two values: hash value and proof, the VRF _ { sk } refers to a VRF algorithm based on a private key sk, x is the input of the algorithm;
the hash value is a value with the length of hash-len as one digit and is uniquely determined by sk and x, but the value is equivalent to a random number for a person who does not know the private key sk;
and the proof of pi enables anyone who knows the public key pk to verify that the output hash indeed corresponds to the input x without knowing the private key sk, and the caller can obtain a verifiable random number by inputting a random number seed.
Preferably, the dynamic block chain verifier cluster generation module divides the verifier selection process into two parts, namely seed selection and calling of a VRF algorithm.
Preferably, the seed selection comprises:
in order to ensure the safety of seed, a new seed is issued in each round in the block chain network, the seed issued in the r-th round is determined by using VRF and the seed of the previous round, namely r-1, and in the block proposal stage of the r-1-th round, each user u selected as a block proposer calculates a proposed seed _ r for the r-th round;
seed _ r and the corresponding VRF prove pi is contained in each proposed block, so once a consensus of consistency is reached on the blocks of round r-1, everyone will know seed _ r at the beginning of round r; if the proposed block does not contain a valid seed, the user considers the entire proposed block as an empty block and uses the hash function H to calculate the corresponding seed for round r: seedr=H(seed_{r-1}||r)。
The value of the initial value seed _0 chosen by the entire seed can be chosen randomly by the initial participant using a distributed random number generator at the beginning of the system construction of the blockchain after declaring its public key.
Preferably, the invoking VRF algorithm includes:
to select according to the proportion of currency held by the user, consider each currency unit in the blockchain as a different child, if user i owns w _ i currency units, then model user (i, j) ∈ {1, …, wiDenotes the j-th monetary unit owned by i and the probability that it is selectedWhere W is the total number of monetary units in the blockchain and t is the number of users expected to be selected;
in VRF algorithm, user calculates<hash,π>←VRFsk(seed | role) to draw lots, sk is the private key of the user, hash is a pseudorandom value to determine how many sub-users the user has selected, the principle is as follows:
wherein the content of the first and second substances,
b (k; w; p) is a binomial distribution expression, wherein in the VRF algorithm, w represents that the user has w currency units, so that the user can be divided into w sub-users having one unit of currency, k represents that the user has k sub-users to be selected, and p is the probability that each sub-account is selected;
B(k1;n1,p)+B(k2;n2,p)=B(k1+k2;n1+n2p), therefore, if a user distributes the weight to different users, the number of the selected sub-users will not be affected, and therefore the witch attack cannot be carried out in this way;
to determine how many sub-users have been selected for a user with weight w, the VRF algorithm divides the interval [0,1) into a plurality of consecutive intervalsWherein j ∈ {0,1.., W }; if has h/2hashlenLocated in the interval IjAnd if the hash is the bit length of the hash, j sub-users of the user are selected, and the number of the selected sub-users can be publicly verified by using the certificate pi output by the VRF.
Preferably, the service contract module:
is a user's own customized intelligent contract, which is a set of numerically defined commitments, including agreements on which contract participants can enforce those commitments;
the implementation forms comprise a script mode and a virtual machine mode.
Preferably, the P2P module refers to a P2P communication network of a blockchain;
a seed node exists in the whole network nodes of the blockchain, the seed node is in a P2P module, a user wants to join a P2P communication network of the blockchain, the seed node is needed to be used as a bridge for establishing connection, and the seed node is the earliest node in the network and is responsible for sharing work of other nodes; the method comprises the steps that information of seed nodes is initialized and configured in an installation program of a block chain, the information comprises IP addresses and port numbers of the nodes, all newly added nodes can be connected with the initialized seed nodes when the block chain program is installed and started, the IP addresses and the port numbers of the newly added nodes are informed to the seed nodes, the seed nodes also inform other node information in the existing P2P network to the new nodes, the newly added nodes are informed to the other nodes, and the new nodes establish connection with the existing nodes after receiving the information of the other nodes.
Preferably, the consensus module adopts a BFT type consensus algorithm to ensure the safety and robustness of the system;
the transaction evidence storage module adopts a bottom data storage mechanism of the block chain, and transaction contents can be stored in a bottom database as account book information.
The consensus module adopts a pluggable consensus switching scheme;
the transaction and certificate storage module is used for protecting the privacy of the user in a cryptographic encryption mode.
Compared with the prior art, the invention has the following beneficial effects:
1. the invention can be used in random number scenes with high reliability, such as quality inspection sample selection, house purchase shaking number and the like; the user inputs corresponding original data in the business contract, the contract calculates a random number by calling a VRF algorithm and completes corresponding business logic, an execution result is verified and linked by a verifier cluster generated by the VRF algorithm, and finally the execution result is permanently recorded on a block chain book.
2. Various information on the block chain can be visually expressed through the visual information operation module, and the user is endowed with the capability of visually operating the block chain, such as transaction sending, transaction receipt checking and the like.
3. The verifiable random number generation module can randomly generate a verifiable random number according to a given random number seed, and any user on the block chain can verify the authenticity of the random number by using the secret key disclosed by the generator.
4. The dynamic verifier generation module adopts the random number generated by the verifiable random number generation module, provides a round switching mechanism and an error response mechanism, and ensures the safety and the liveness of the whole block chain.
Drawings
Other features, objects and advantages of the invention will become more apparent upon reading of the detailed description of non-limiting embodiments with reference to the following drawings:
fig. 1 is a schematic diagram of the operation flow of the verifiable random sample sampling system implemented by the blockchain provided in the present invention.
Detailed Description
The present invention will be described in detail with reference to specific examples. The following examples will assist those skilled in the art in further understanding the invention, but are not intended to limit the invention in any way. It should be noted that it would be obvious to those skilled in the art that various changes and modifications can be made without departing from the spirit of the invention. All falling within the scope of the present invention.
The present invention will be described more specifically with reference to examples.
Example (b):
1.1, describing a system framework structure:
as shown in fig. 1, a verifiable random sample sampling system implemented by a block chain comprises: the system comprises a client, a block chain object processing service and a block chain distributed data storage service;
the client comprises a visual information operation module and a transmission module for transmitting data from a chain to a block chain;
the block chain transaction processing service comprises a verifiable random number generation module, a dynamic block chain verifier cluster generation module, a service contract module, a P2P module and a consensus module;
the blockchain distributed data storage service comprises; a transaction and certificate storage module;
the visual information operation module adopts an internet front-end technology to display a user-friendly visual UI (user interface), comprises information such as block height, node information and transaction events of a block chain, and provides a user with the capacity of visually operating the block chain.
The data is transmitted from the chain to a transmission module of the block chain by adopting web end data such as AJAX, iframe, WebSocket and the like (the web end data refers to some operation input of a user at the web end, the operation of the block chain needs to be input, for example, when I needs to send a transaction on the block chain, an RPC interface on the block chain needs to be called, the transaction data and the like are taken as parameters to be transmitted, the web end is used as a visual operation platform of the block chain, the data flow direction is input at the web end by the user, the web end transmits the data to the background, the block chain interface is called at the background, and then one time of calling the block chain is finished)
The interactive technology transmits the web data to the background (because the user is not locally deployed with the blockchain network service, the user cannot directly send information to the blockchain through the front-end browser, and the data needs to be transmitted to the background first because the server collects the form data and then transmits the data to the uplink by the server). When a user sends a transaction, form information (the information refers to web end data and is acquired in a form, the form is some data filled in a browser, for example, a login system fills in a user name and a password, both the user name and the password belong to the form information), the account balance of the user and the effectiveness of the transaction are automatically judged, the transaction information is packaged, the transaction is sent to a block chain in a form sent by a remote node agent, and the capability of the user for checking a transaction receipt is provided after the transaction receipt is acquired.
The verifiable random number generation module writes a Verifiable Random Function (VRF) in the underlying implementation code of the blockchain for invocation, the method returns two values for any input string x, VRF _ { sk } (x): hash and prove, VRF _ { sk } refers to a VRF algorithm based on a private key sk, with x being the input to the algorithm. The hash value is a value having a length of hash-len as a number of bits, uniquely determined by sk and x, but is equivalent to a random number for a person who does not know the private key sk. But the proof pi allows anyone who knows the public key pk to verify that the outgoing hash does correspond to the input x without knowing the private key sk. The caller can obtain the verifiable random number by inputting a random number seed.
The dynamic block chain verifier cluster generation module divides the verifier selection process into two parts, namely seed selection and VRF algorithm calling. First, seed is selected, and in order to ensure the safety of seed, a new seed is issued in each round of the block chain network. The seeds issued in round r are determined using the VRF and the seeds of the previous round, i.e., r-1. More specifically, in the block proposal phase of the r-1 round, each user u selected as the block proposer calculates a proposed seed _ r for the r round.
This seed (and the corresponding VRF certifications pi) is contained in each proposed block, so once a consensus of consistency is reached on the blocks of round r-1, everyone will know seed _ r at the beginning of round r. If the proposed block does not contain a valid seed (e.g., the block may have been proposed by a malicious user and contains an invalid transaction), the user treats the entire proposed block as an empty block and uses the hash function H to calculate the corresponding seed for round r: seedr=H(seed_{r-1}||r)。
The value of the initial value seed _0 chosen by the entire seed can be chosen randomly by the initial participant using a distributed random number generator at the beginning of the system construction of the blockchain after declaring its public key.
Each currency unit in the blockchain may be considered a different sub-user in order to select according to the proportion of currency held by the user. If user i owns w _ i monetary units, then the simulated user (i, j) is e {1iDenotes the j-th monetary unit owned by i and the probability that it is selectedWhere W is the total number of monetary units in the blockchain, the number of users expected to be selected
In the algorithm, the user calculates<hash,π>←VRFsk(seed roll) to draw. Here, sk is the user's private key. The hash is a pseudo-random value that is used to determine how many sub-users the user has selected. The principle is as follows:
wherein the content of the first and second substances,because of B (k)1;n1,p)+B(k2;n2,p)=B(k1+k2;n1+n2P) (additivity of binomial distribution), if a user assigns its weight to different users, it will not affect the number of sub-users that he has selected, and therefore it is impossible to perform a witch attack in this way.
To determine how many sub-users have been selected for a user with weight w, the algorithm divides the interval [0,1 into a number of consecutive intervalsWhere j is an element of {0,1.., w }. If hash/2hashlen(hash is the bit length of the hash) lies in the interval IjAnd then the user has exactly j sub-users to select. The number of selected sub-users can be verified using one of the outputs of the VRF, i.e., the proof π public.
The business contract module is an intelligent contract customized by the user. The contract is a set of commitments defined in digital form, including agreements on which the contract participants can enforce the commitments. Contracts that are automatically executed by programs in which legal language record terms are replaced with computer language. The implementation form comprises a script mode and a virtual machine mode, wherein the virtual machine mode is adopted, and the WASM virtual machine supports C + + to write the intelligent contract.
The P2P module has a type of node called a "seed node" (hereinafter referred to as a seed node) in the whole network nodes of the block chain, the seed node is in the P2P module, and a user wants to join the P2P communication of the block chain, that is, the P2P module needs the seed node as a bridge for establishing connection), and the type of node is the earliest node in the network and is responsible for sharing work of other nodes. The method comprises the steps that information of seed nodes is initialized and configured in an installation program of a block chain, the information comprises the IP addresses and port numbers of the nodes, all newly added nodes can establish connection with the initialized seed nodes when the block chain program is installed and started, the IP addresses and the port numbers of the newly added nodes are informed to the seed nodes, the seed nodes also inform other nodes in the existing P2P network of information of the new nodes, and the newly added nodes are informed to the other nodes. After receiving the information of other nodes, the new node establishes connection with the existing nodes.
The consensus module adopts a BFT type consensus algorithm, and the safety and the robustness of the system are ensured.
The transaction evidence storage module adopts a bottom data storage mechanism of the block chain, and transaction contents can be stored in bottom databases such as a levelDB as account book information.
The consensus module can adopt a pluggable consensus switching scheme;
the transaction certificate storage module can be used for protecting the privacy of the user in a cryptographic encryption mode;
example 2:
in the embodiment of the raw material quality inspection of the manufacturing enterprise, the enterprise buys a plurality of raw materials, marks the raw materials, inputs the total number of the raw materials by calling a service contract through a client, the service contract calculates a sampling result by calling a VRF algorithm on a block chain and sends a sample number to be inspected to the chain in the form of a transaction result, a verifier cluster consisting of quality inspection personnel is maintained on the block chain, each block randomly selects a plurality of verifiers as a verifier for the currently selected sample, the quality of the sample is verified offline by the verifier, if the verification result is passed, the block transaction is confirmed, if the verification result is unqualified, the transaction is rejected, and if the verification result exceeds half of the verifiers approves or rejects, the transaction successfully links or fails and returns failure information to a transaction sender. After the transaction is successful, the transaction will be recorded on the blockchain, and the disclosure is transparent and can not be tampered.
Those skilled in the art will appreciate that, in addition to implementing the systems, apparatus, and various modules thereof provided by the present invention in purely computer readable program code, the same procedures can be implemented entirely by logically programming method steps such that the systems, apparatus, and various modules thereof are provided in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Therefore, the system, the device and the modules thereof provided by the present invention can be considered as a hardware component, and the modules included in the system, the device and the modules thereof for implementing various programs can also be considered as structures in the hardware component; modules for performing various functions may also be considered to be both software programs for performing the methods and structures within hardware components.
The foregoing description of specific embodiments of the present invention has been presented. It is to be understood that the present invention is not limited to the specific embodiments described above, and that various changes or modifications may be made by one skilled in the art within the scope of the appended claims without departing from the spirit of the invention. The embodiments and features of the embodiments of the present application may be combined with each other arbitrarily without conflict.
Claims (10)
1. A verifiable random sample sampling system implemented with a block chain, comprising: the system comprises a client, a block chain object processing module and a block chain distributed data storage module;
the client comprises: the visual information operation module and the transmission module of data from the chain to the block chain;
the block chain transaction processing module comprises: the system comprises a verifiable random number generation module, a dynamic block chain verifier cluster generation module, a service contract module, a P2P module and a consensus module;
the block chain distributed data storage module comprises; and (5) a transaction and evidence storage module.
2. The system of claim 1, wherein the visual information manipulation module employs internet front-end technology to present a user-friendly visual UI interface;
the information displayed by the visualization module comprises: block height, node information, transaction events of the block chain;
the visualization module provides the user with the ability to visualize operations on the blockchain.
3. The verifiable random sample sampling system of claim 1 wherein said data is transmitted by a chain down to a blockchain transmission module using web-side data, comprising: AJAX, iframe, and Websocket;
the web end data refers to data input by a user through operation at the web end, the web end transmits the data to the background, and the background calls a block chain interface to complete one-time calling of a block chain;
the data is transmitted to the background from a transmission module which is linked down to the block chain, web end data is transmitted to the background through an interactive technology, when a user sends a transaction, form information is collected, the account balance of the user and the effectiveness of the transaction are automatically judged, transaction information is packaged, the transaction is sent to the block chain in a form of sending by a remote node agent, and after the transaction receipt is obtained, the capability of the user for checking the transaction receipt is provided.
4. The system of claim 1, wherein the verifiable random number generation module writes a verifiable random function VRF in the underlying implementation code of the blockchain for invocation;
for any input string x, VRF _ { sk } (x) returns two values: hash value and proof, the VRF _ { sk } refers to a VRF algorithm based on a private key sk, x is the input of the algorithm;
the hash value is a value with the length of hash-len as one digit and is uniquely determined by sk and x, but the value is equivalent to a random number for a person who does not know the private key sk;
and the proof of pi enables anyone who knows the public key pk to verify that the output hash indeed corresponds to the input x without knowing the private key sk, and the caller can obtain a verifiable random number by inputting a random number seed.
5. The verifiable random sample sampling system implemented with blockchains as claimed in claim 4, wherein said dynamic blockchain verifier cluster generation module divides the verifier selection process into two parts, seed selection, invoking the VRF algorithm.
6. The verifiable random sample sampling system of claim 5 implemented with a blockchain, wherein said seed selection comprises:
in order to ensure the safety of seed, a new seed is issued in each round in the block chain network, the seed issued in the r-th round is determined by using VRF and the seed of the previous round, namely r-1, and in the block proposal stage of the r-1-th round, each user u selected as a block proposer calculates a proposed seed _ r for the r-th round;
seed _ r and the corresponding VRF prove pi is contained in each proposed block, so once a consensus of consistency is reached on the blocks of round r-1, everyone will know seed _ r at the beginning of round r; if the proposed block does not contain a valid seed, the user considers the entire proposed block as an empty block and uses the hash function H to calculate the corresponding seed for round r: seedr=H(seed_{r-1}||r)。
The value of the initial value seed _0 chosen by the entire seed can be chosen randomly by the initial participant using a distributed random number generator at the beginning of the system construction of the blockchain after declaring its public key.
7. The verifiable random sample sampling system implemented with blockchain of claim 6, wherein the invoking the VRF algorithm comprises:
to select according to the proportion of currency held by the user, consider each currency unit in the blockchain as a different child, if user i owns w _ i currency units, then model user (i, j) ∈ {1, …, wiDenotes the j-th monetary unit owned by i and the probability that it is selectedWhere W is the total number of monetary units in the blockchain and t is the number of users expected to be selected;
in VRF algorithm, user calculates<hash,π>←VRFsk(seed | role) to draw lots, sk is the private key of the user, hash is a pseudorandom value to determine how many sub-users the user has selected, the principle is as follows:
wherein the content of the first and second substances,
b (k; w; p) is a binomial distribution expression, wherein in the VRF algorithm, w represents that the user has w currency units, so that the user can be divided into w sub-users having one unit of currency, k represents that the user has k sub-users to be selected, and p is the probability that each sub-account is selected;
therefore, if one user distributes the weight to different users, the number of the selected sub-users cannot be influenced, and therefore the Sybil attack cannot be carried out in the mode;
to determine how many sub-users have been selected for a user with weight w, the VRF algorithm divides the interval [0,1) into a plurality of consecutive intervalsWhere j ∈ {0,1 …, w }; if hash/2hashlenAnd if the hash len is the bit length of the hash, j sub-users of the user are selected, and the number of the selected sub-users can be publicly verified by using the certificate pi output by the VRF.
8. The verifiable random sample sampling system implemented with a blockchain of claim 1, wherein the traffic contract module:
is a user's own customized intelligent contract, which is a set of numerically defined commitments, including agreements on which contract participants can enforce those commitments;
the implementation forms comprise a script mode and a virtual machine mode.
9. The system of claim 1, wherein the P2P module refers to a P2P communication network of a blockchain;
a seed node exists in the whole network nodes of the blockchain, the seed node is in a P2P module, a user wants to join a P2P communication network of the blockchain, the seed node is needed to be used as a bridge for establishing connection, and the seed node is the earliest node in the network and is responsible for sharing work of other nodes; the method comprises the steps that information of seed nodes is initialized and configured in an installation program of a block chain, the information comprises IP addresses and port numbers of the nodes, all newly added nodes can be connected with the initialized seed nodes when the block chain program is installed and started, the IP addresses and the port numbers of the newly added nodes are informed to the seed nodes, the seed nodes also inform other node information in the existing P2P network to the new nodes, the newly added nodes are informed to the other nodes, and the new nodes establish connection with the existing nodes after receiving the information of the other nodes.
10. The verifiable random sample sampling system implemented with a blockchain of claim 1, wherein the consensus module employs a BFT-like consensus algorithm to ensure system security and robustness;
the transaction evidence storage module adopts a bottom data storage mechanism of a block chain, and transaction contents can be stored in a bottom database as account book information;
the consensus module adopts a pluggable consensus switching scheme;
the transaction and certificate storage module is used for protecting the privacy of the user in a cryptographic encryption mode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010974993.8A CN112101940A (en) | 2020-09-16 | 2020-09-16 | Random verifiable sample selection system implemented with block chains |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010974993.8A CN112101940A (en) | 2020-09-16 | 2020-09-16 | Random verifiable sample selection system implemented with block chains |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112101940A true CN112101940A (en) | 2020-12-18 |
Family
ID=73759297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010974993.8A Pending CN112101940A (en) | 2020-09-16 | 2020-09-16 | Random verifiable sample selection system implemented with block chains |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101940A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954039A (en) * | 2021-02-04 | 2021-06-11 | 上海百姓装潢有限公司 | Block chain evidence storage method |
CN113489584A (en) * | 2021-07-02 | 2021-10-08 | 北京泛融科技有限公司 | Method and device for processing random number in block chain and electronic equipment |
CN115796869A (en) * | 2022-11-24 | 2023-03-14 | 元疆(广州)供应链管理合伙企业(有限合伙) | Commodity data processing method and device based on intelligent digital contract |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070131701A1 (en) * | 2005-12-01 | 2007-06-14 | Herbert Curtis B | Nestable containers with bending covers for improved storage |
CN109669955A (en) * | 2018-12-20 | 2019-04-23 | 姚前 | A kind of digital asset inquiry system and method based on block chain |
CN110049029A (en) * | 2019-04-04 | 2019-07-23 | 矩阵元技术(深圳)有限公司 | Common recognition node determines method, apparatus, computer equipment and storage medium |
KR20190133573A (en) * | 2018-05-23 | 2019-12-03 | 권형석 | Block Chain Trading System with Smart Contract And That way |
CN110599173A (en) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | Block chain consensus node determination method, device, equipment and storage medium |
CN110619565A (en) * | 2019-08-05 | 2019-12-27 | 孟江华 | On-chain pledge asset compensation system and method through off-chain settlement |
US20200026699A1 (en) * | 2018-07-20 | 2020-01-23 | True Blockchain Technology Ltd. | Highly Performant Decentralized Public Ledger with Hybrid Consensus |
CN110855432A (en) * | 2019-10-31 | 2020-02-28 | 广东工业大学 | Asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions |
US20200076603A1 (en) * | 2018-09-05 | 2020-03-05 | NEC Laboratories Europe GmbH | Method and system for publicly verifiable proofs of retrievability in blockchains |
CN110909083A (en) * | 2019-12-03 | 2020-03-24 | 北京艾摩瑞策科技有限公司 | Consensus method and system for verifiable random function on block chain |
CN111355780A (en) * | 2020-02-18 | 2020-06-30 | 杭州云象网络技术有限公司 | Block chain-based Internet of things monitoring management method and system |
WO2020133326A1 (en) * | 2018-12-29 | 2020-07-02 | 北京建极练科技有限公司 | Blockchain generation method and system, and computer storage medium and electronic device |
-
2020
- 2020-09-16 CN CN202010974993.8A patent/CN112101940A/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070131701A1 (en) * | 2005-12-01 | 2007-06-14 | Herbert Curtis B | Nestable containers with bending covers for improved storage |
KR20190133573A (en) * | 2018-05-23 | 2019-12-03 | 권형석 | Block Chain Trading System with Smart Contract And That way |
US20200026699A1 (en) * | 2018-07-20 | 2020-01-23 | True Blockchain Technology Ltd. | Highly Performant Decentralized Public Ledger with Hybrid Consensus |
US20200076603A1 (en) * | 2018-09-05 | 2020-03-05 | NEC Laboratories Europe GmbH | Method and system for publicly verifiable proofs of retrievability in blockchains |
CN109669955A (en) * | 2018-12-20 | 2019-04-23 | 姚前 | A kind of digital asset inquiry system and method based on block chain |
WO2020133326A1 (en) * | 2018-12-29 | 2020-07-02 | 北京建极练科技有限公司 | Blockchain generation method and system, and computer storage medium and electronic device |
CN110049029A (en) * | 2019-04-04 | 2019-07-23 | 矩阵元技术(深圳)有限公司 | Common recognition node determines method, apparatus, computer equipment and storage medium |
CN110619565A (en) * | 2019-08-05 | 2019-12-27 | 孟江华 | On-chain pledge asset compensation system and method through off-chain settlement |
CN110599173A (en) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | Block chain consensus node determination method, device, equipment and storage medium |
CN110855432A (en) * | 2019-10-31 | 2020-02-28 | 广东工业大学 | Asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions |
CN110909083A (en) * | 2019-12-03 | 2020-03-24 | 北京艾摩瑞策科技有限公司 | Consensus method and system for verifiable random function on block chain |
CN111355780A (en) * | 2020-02-18 | 2020-06-30 | 杭州云象网络技术有限公司 | Block chain-based Internet of things monitoring management method and system |
Non-Patent Citations (1)
Title |
---|
SERO团队: ""超零协议(SERO)技术白皮书"", 《原创力文档》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954039A (en) * | 2021-02-04 | 2021-06-11 | 上海百姓装潢有限公司 | Block chain evidence storage method |
CN113489584A (en) * | 2021-07-02 | 2021-10-08 | 北京泛融科技有限公司 | Method and device for processing random number in block chain and electronic equipment |
CN113489584B (en) * | 2021-07-02 | 2024-04-05 | 北京泛融科技有限公司 | Method and device for processing random numbers in block chain and electronic equipment |
CN115796869A (en) * | 2022-11-24 | 2023-03-14 | 元疆(广州)供应链管理合伙企业(有限合伙) | Commodity data processing method and device based on intelligent digital contract |
CN115796869B (en) * | 2022-11-24 | 2024-01-19 | 元疆(广州)供应链管理合伙企业(有限合伙) | Commodity data processing method and device based on intelligent digital contract |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Leng et al. | Blockchain security: A survey of techniques and research directions | |
AU2020205231B2 (en) | Methods and apparatus for efficiently implementing a distributed database within a network | |
Jesus et al. | A survey of how to use blockchain to secure internet of things and the stalker attack | |
CN110147994B (en) | Instant execution method of block chain based on homomorphic encryption | |
AU2017357770B2 (en) | Methods and apparatus for a distributed database including anonymous entries | |
CN109462587A (en) | Block chain is layered common recognition method, block chain network system and block chain node | |
CN111291060B (en) | Method, device and computer readable medium for managing blockchain nodes | |
CN112101940A (en) | Random verifiable sample selection system implemented with block chains | |
JP2020144838A (en) | Business process system, business data processing method and device | |
CN109741068B (en) | Online banking cross-row signing method, device and system | |
Alshaikhli et al. | Evolution of Internet of Things from blockchain to IOTA: A survey | |
JP2022533396A (en) | Blockchain consensus method, device and system | |
WO2022166637A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
CN113328997B (en) | Alliance chain crossing system and method | |
Lee et al. | Blockchain-based RBAC for user authentication with anonymity | |
CN114567643B (en) | Cross-blockchain data transfer method, device and related equipment | |
Saad et al. | Decentralized directed acyclic graph based dlt network | |
US20120066497A1 (en) | Method and device for enabling portable user reputation | |
CN112181599B (en) | Model training method, device and storage medium | |
Singh | Blockchain and IOT integrated Smart City Architecture | |
CN116975901A (en) | Identity verification method, device, equipment, medium and product based on block chain | |
CN115001816A (en) | Block chain link point service system of multi-block chain platform | |
Deng et al. | PSSC: Practical and Secure Sidechains Construction for Heterogeneous Blockchains Orienting IoT | |
Medley et al. | Collaborative verifiable delay functions | |
CN114155000A (en) | Traceable concrete quality management system based on block chain |
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 |