CN112101940A - Random verifiable sample selection system implemented with block chains - Google Patents

Random verifiable sample selection system implemented with block chains Download PDF

Info

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
Application number
CN202010974993.8A
Other languages
Chinese (zh)
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.)
Shanghai Wanxiang Blockchain Inc
Original Assignee
Shanghai Wanxiang Blockchain Inc
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 Shanghai Wanxiang Blockchain Inc filed Critical Shanghai Wanxiang Blockchain Inc
Priority to CN202010974993.8A priority Critical patent/CN112101940A/en
Publication of CN112101940A publication Critical patent/CN112101940A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use 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

Random verifiable sample selection system implemented with block chains
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 selected
Figure BDA0002685453770000031
Where 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:
Figure BDA0002685453770000032
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;
Figure BDA0002685453770000033
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 intervals
Figure BDA0002685453770000034
Wherein 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 selected
Figure BDA0002685453770000061
Where 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:
Figure BDA0002685453770000062
wherein the content of the first and second substances,
Figure BDA0002685453770000063
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 intervals
Figure BDA0002685453770000064
Where 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 selected
Figure FDA0002685453760000021
Where 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:
Figure FDA0002685453760000022
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;
Figure FDA0002685453760000023
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 intervals
Figure FDA0002685453760000031
Where 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.
CN202010974993.8A 2020-09-16 2020-09-16 Random verifiable sample selection system implemented with block chains Pending CN112101940A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (12)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
SERO团队: ""超零协议(SERO)技术白皮书"", 《原创力文档》 *

Cited By (5)

* Cited by examiner, † Cited by third party
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