A method and device for verifying the credibility of input data based on blockchain technology

Through the combination of blockchain technology and smart contracts, the input data of participant nodes is verified using encryption and secret sharing algorithms, which solves the problem of untrustworthy input data in privacy calculations, and realizes the authenticity and trustworthiness of the data.

CN113486368BActive Publication Date: 2025-02-14BEIJING BIG DATA CENT +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110663306.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-15
Publication Date
2025-02-14
Estimated Expiration
2041-06-15

AI Technical Summary

Technical Problem

The existing privacy computing scheme cannot effectively avoid the problem of participant nodes changing the original input data, resulting in untrusted data input.

Method used

Through blockchain technology and smart contracts, the actual data of all participant nodes is obtained for encryption and storage, and the secret sharing algorithm is used to encrypt and share the input data of participant nodes with all participant nodes. The secret share received through smart contracts is used to encrypt and share the secret share received. Perform encryption and recovery, compare whether the data to be verified is consistent with the actual data stored in the blockchain, and verify the credibility of the input data.

Benefits of technology

Ensure that the input data of participant nodes is true and trustworthy, avoid malicious participants from tampering with or changing the input data, and improve data security and reliability in multi-party computing scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113486368B_ABST
    Figure CN113486368B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of information security technology, and in particular to a method and device for verifying the credibility of input data based on blockchain technology, the method comprising: obtaining the actual data of all participant nodes, encrypting them respectively through smart contracts, and storing the encrypted actual data in blockchain; encrypting the input data, and sharing the encrypted input data with all participant nodes; encrypting each secret share respectively, and broadcasting the encrypted secret share to all participant nodes; obtaining the encrypted secret shares received by all participant nodes, and recovering the encrypted secret shares through smart contracts to obtain data to be verified; and verifying the input data through smart contracts according to the data to be verified and the encrypted actual data in the blockchain. By adopting the present invention, the credibility of the input data can be verified, ensuring that the data is authentic and reliable, and avoiding the phenomenon that the participants input wrong data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information security technology, and in particular to a method and device for verifying the credibility of input data based on blockchain technology. Background Art

[0002] Smart contracts are a core technology of blockchain and a bridge for application systems to interact with blockchain systems. Smart contracts are based on immutable data on blockchain and can automatically execute some pre-defined rules and terms.

[0003] The rapid development of emerging technologies such as big data, cloud computing, the Internet of Things, and blockchain has led to an explosive growth in data, which is controlled by different entities. Each entity hopes to achieve data sharing without leaking its own data. Taking privacy computing as an example, privacy computing is a very popular research topic in the field of information security. It allows participant nodes to perform data analysis and calculation without leaking the data itself. Privacy computing has a wide range of application scenarios and has been applied to electronic voting, confidential auctions, data mining, confidential queries, scientific computing, data statistics and other fields.

[0004] At present, most implementation schemes of privacy computing are discussed under the condition that the participant nodes are semi-honest. The semi-honest situation is that the participant nodes follow the protocol execution, but are controlled by the attacker and provide the attacker with secret inputs, intermediate processes and their own outputs. For more malicious situations, such as during the protocol execution, if the participant nodes are controlled by the attacker, not only will they provide the attacker with secret inputs, information obtained in the intermediate process and their own outputs, but they can also change the original inputs, tamper with the interactive information and interrupt the protocol execution according to the attacker's instructions. This is usually obtained by expanding and generalizing semi-honest privacy computing, but existing privacy computing cannot avoid the problem of participant nodes changing their original inputs.

[0005] In real-world scenarios, due to the competition between data-owning entities, it is not possible to guarantee that all participating nodes input complete and true data when participating in privacy computing. For example, government departments use privacy computing to evaluate the benefits of various companies. Companies can tamper with, add, or delete some data to make privacy computing output a benefit score that is beneficial to their own company.

[0006] Combining blockchain technology and smart contracts, many people have proposed new privacy computing solutions. For example, blockchain can be used to construct time-controlled commitments, where the promiser must either reveal his or her secret value within a certain period of time or pay a penalty. This deposit mechanism can be used to implement a fair privacy computing protocol. However, so far, no solution has been proposed to solve the problem of trustworthy inputs for privacy computing using blockchain technology. Summary of the invention

[0007] The embodiment of the present invention provides a method and device for verifying the credibility of input data based on blockchain technology. The technical solution is as follows:

[0008] On the one hand, a method for verifying the credibility of input data based on blockchain technology is provided, the method is applied to a server, and the method includes:

[0009] Obtain the actual data of all participant nodes, encrypt them separately through smart contracts, and store the encrypted actual data into the blockchain through smart contracts;

[0010] Obtain input data from any participant node, encrypt the input data through a smart contract, and share the encrypted input data with all participant nodes through a secret sharing algorithm and a smart contract;

[0011] Obtain the secret share received by each participant node through the smart contract, encrypt each secret share separately through the smart contract, and broadcast the encrypted secret share to all participant nodes;

[0012] Obtain the encrypted secret shares received by all participant nodes through the smart contract, and perform data recovery on the encrypted secret shares through the smart contract to obtain the data to be verified;

[0013] The input data is verified through a smart contract based on the data to be verified and the encrypted actual data in the blockchain.

[0014] Optionally, the encryption is performed separately through smart contracts, including:

[0015] The actual data are encrypted separately using a function with homomorphic properties through a smart contract.

[0016] Optionally, the function of the homomorphic property includes Pedersen commitment or ElGamal algorithm.

[0017] Optionally, broadcasting the encrypted secret share to all participant nodes includes:

[0018] The encrypted secret share is shared with all participant nodes through smart contracts using Shamir threshold.

[0019] Optionally, verifying the input data through a smart contract according to the data to be verified and the encrypted actual data in the blockchain includes:

[0020] The data to be verified is compared with the encrypted actual data in the blockchain through a smart contract. If the data to be verified is the same as the encrypted actual data in the blockchain, the input data is judged to be credible and the input data verification is passed. If the data to be verified is not the same as the encrypted actual data in the blockchain, the input data is judged to be unreliable and the input data verification fails.

[0021] On the one hand, a device for verifying the credibility of input data based on blockchain technology is provided, and the device is applied to a server, and the device includes:

[0022] The acquisition unit is used to obtain the actual data of all participant nodes, encrypt them respectively through smart contracts, and store the encrypted actual data into the blockchain through smart contracts;

[0023] An encryption unit is used to obtain input data from any participant node, encrypt the input data through a smart contract, and share the encrypted input data with all participant nodes through a secret sharing algorithm and a smart contract;

[0024] The sharing unit is used to obtain the secret share received by each participant node through the smart contract, encrypt each secret share separately through the smart contract, and broadcast the encrypted secret share to all participant nodes;

[0025] A recovery unit, used to obtain the encrypted secret shares received by all participant nodes through a smart contract, and perform data recovery on the encrypted secret shares through a smart contract to obtain data to be verified;

[0026] The verification unit is used to verify the input data through a smart contract based on the data to be verified and the encrypted actual data in the blockchain.

[0027] Optionally, the acquiring unit is used to:

[0028] The actual data of all participant nodes are obtained through smart contracts, and the actual data are encrypted separately using functions with homomorphic properties.

[0029] Optionally, the function of the homomorphic property includes Pedersen commitment or ElGamal algorithm.

[0030] Optionally, the sharing unit is used to:

[0031] The encrypted secret share is shared with all participant nodes through smart contracts using Shamir threshold.

[0032] Optionally, the verification unit is used to:

[0033] The data to be verified is compared with the encrypted actual data in the blockchain through a smart contract. If the data to be verified is the same as the encrypted actual data in the blockchain, the input data is judged to be credible and the input data verification is passed. If the data to be verified is not the same as the encrypted actual data in the blockchain, the input data is judged to be unreliable and the input data verification fails.

[0034] On the one hand, a server is provided, comprising a processor and a memory, wherein the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the above-mentioned input data credibility verification method based on blockchain technology.

[0035] On the one hand, a computer-readable storage medium is provided, wherein at least one instruction is stored in the storage medium, and the at least one instruction is loaded and executed by a processor to implement the above-mentioned input data credibility verification method based on blockchain technology.

[0036] The beneficial effects brought about by the technical solution provided by the embodiment of the present invention include at least:

[0037] In the above scheme, the embodiment of the present invention addresses the problem of malicious participants inputting wrong data in multi-party computing scenarios. By utilizing the immutability of blockchain, the smart contract shares data with all participant nodes through a secret sharing scheme. The smart contract encrypts the secret shares obtained by all participant nodes using a function with (semi-)homomorphic properties, and uses the ciphertext of these secret shares to restore the entire ciphertext, and determines whether the ciphertext is equal to the ciphertext on the blockchain. If they are equal, the input of the participant node is authentic and reliable; otherwise, the entire process is terminated or the data is re-entered. In this way, the present invention encrypts the data of the participants through blockchain technology and stores it in a distributed ledger, and uses smart contracts to encrypt, store, verify and audit the data of the participants to ensure that the data is authentic and reliable, and avoid the phenomenon of participants inputting wrong data. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0039] Figure 1 It is an implementation environment diagram provided by an embodiment of the present invention;

[0040] Figure 2 This is a flow chart of a method for verifying the credibility of input data based on blockchain technology provided by an embodiment of the present invention;

[0041] Figure 3 This is a flow chart of a method for verifying the credibility of input data based on blockchain technology provided by an embodiment of the present invention;

[0042] Figure 4 It is a structural block diagram of an input data credibility verification device based on blockchain technology provided by an embodiment of the present invention;

[0043] Figure 5 It is a structural diagram of a server provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0044] In order to make the technical problems, technical solutions and advantages to be solved by the present invention more clear, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.

[0045] The embodiment of the present invention provides a method for verifying the credibility of input data based on blockchain technology. Figure 1 As shown, the implementation environment may include at least one server 101, a blockchain 102 for storing encrypted data, and a plurality of participant nodes 103.

[0046] The steps to build the implementation environment mainly include:

[0047] (1) Build a blockchain system framework for multi-party computing.

[0048] (2) Generate system public parameters and master key based on bilinear mapping and multiplicative cyclic group to initialize the server.

[0049] (3) Each participant uses the Register(ID,address) function to register a new node in the blockchain.

[0050] Server 101 implements the input data credibility verification method based on blockchain technology, and the server pre-acquires the actual data of multiple participant nodes. Actual data is real data. In actual application scenarios, the system can obtain the real data of the participant nodes. There are four main reasons: first, the data is stored on the blockchain in a certain ciphertext form, which will not leak any information of the data, and the entity organization does not need to falsify; second, the entity organization cannot determine when or which part of the generated data participates in privacy computing, and the cost of falsification is very high from the beginning; third, the authenticity of the data can be verified by a trusted third party; fourth, these data will also be supervised and audited by government departments.

[0051] Smart contracts are stored on the server. Actual data is encrypted through smart contracts and stored on the blockchain. The blockchain is tamper-proof, and the data on the chain is also tamper-proof, which can verify the credibility of the input data of the participant node. The server encrypts and shares the input data of the participant node. After the participant node passes the input data to the server, it receives the data shared by the server. The server recovers the encrypted and shared data and verifies the recovered data.

[0052] The embodiment of the present invention provides a method for verifying the credibility of input data based on blockchain technology, which can be implemented by a server. Figure 2 The flowchart of the input data credibility verification method based on blockchain technology is shown, and the processing flow of the method may include the following steps:

[0053] Step 201: Obtain the actual data of all participant nodes, encrypt them separately through smart contracts, and store the encrypted actual data in the blockchain through smart contracts.

[0054] In a feasible implementation, Figure 3 As shown, set all participant nodes to The actual data is When the smart contract encrypts data, preferably, a function with (semi) homomorphic properties can be used to encrypt the actual data separately. For example, the function with homomorphic properties can include Pedersen commitment or ElGamal algorithm. The function with homomorphic properties can be set as , so the actual data after encryption is It should be noted that It has the additive homomorphism property, so it satisfies .

[0055] Step 202: Obtain input data from any participant node, encrypt the input data through a smart contract, and share the encrypted input data with all participant nodes through a secret sharing algorithm through a smart contract.

[0056] In one feasible implementation, the algorithm used by the smart contract to encrypt the input data is the same as the algorithm used to encrypt the actual data. , then the encrypted input data is . Setting Express A secret sharing, the smart contract will be the secret share Send to participants , Optionally, the Shamir threshold is used to share the encrypted secret shares to all participant nodes, so that it is not necessary for all participants to participate in the calculation, and as long as t participants (t < n) are reached, the verification can be carried out.

[0057] Step 203: Obtain the secret shares received by each participant node through the smart contract, encrypt each secret share through the smart contract, and broadcast the encrypted secret shares to all participant nodes.

[0058] In a feasible implementation, for the data , the smart contract calculates the of the participant node , and broadcasts it to all other participant nodes.

[0059] Step 204: Obtain the encrypted secret shares received by all participant nodes through the smart contract, and perform data recovery on the encrypted secret shares through the smart contract to obtain the data to be verified.

[0060] In a feasible implementation, the process of the smart contract using the secret share to recover can be recorded as , and the smart contract calculates the participant , which is the data to be verified.

[0061] Step 205: Verify the input data according to the data to be verified and the encrypted actual data in the blockchain.

[0062] In a feasible implementation, the data to be verified is compared with the encrypted actual data in the blockchain. If the data to be verified is the same as the encrypted actual data in the blockchain, it is determined that the input data is trustworthy and the input data verification passes. If the data to be verified is different from the encrypted actual data in the blockchain, it is determined that the input data is untrustworthy and the input data verification fails, and then go back to execute Step 202, or terminate the entire process.

[0063] The embodiment of the present invention utilizes the immutability of blockchain. The smart contract shares data with all participant nodes through a secret sharing scheme. The smart contract encrypts the secret shares obtained by all participant nodes using a function with (semi-)homomorphic properties, and uses the ciphertext of these secret shares to restore the entire ciphertext, and determines whether the ciphertext is equal to the ciphertext on the blockchain. If they are equal, the input of the participant node is authentic and reliable; otherwise, the entire process is terminated or the data is re-entered. In this way, the present invention encrypts the data of the participants through blockchain technology and stores it in a distributed ledger. The smart contract is used to encrypt, store, verify and audit the data of the participants to ensure that the data is authentic and reliable, and to avoid the phenomenon of participants entering incorrect data.

[0064] The embodiment of the present invention provides a specific implementation scenario of a method for verifying the credibility of input data based on blockchain technology, which can be implemented by a server. Assuming that the blockchain is built, the system is initialized, and the participants have registered, the function in the present invention Use Pedersen commitments, i.e. ,in and is a point on the elliptic curve, and unknown. No one can tamper with the data stored on the blockchain. The participant nodes are denoted as Then for the data and Use the Shamir secret sharing scheme to share it with all participating nodes according to the following steps:

[0065] S1. Smart contracts for participant nodes Randomly generate polynomials ,in ;

[0066] S2. Smart Contract Calculation , and sent to the participant nodes ;

[0067] S3. Smart contracts for participant nodes Randomly generate polynomials ,in ;

[0068] S4. Smart Contract Computation , and sent to the participant nodes ;

[0069] S5. Smart contract calculates each participant node Secret Sharing and ,calculate and sent to other participants, where ;

[0070] S6. The smart contract receives ,calculate .

[0071] S7. If the sum is equal to the data in the blockchain, it means that the participant node Secret Sharing is true for all participants; otherwise the participant node Re-share , or terminate the entire process.

[0072] In addition, the function in the embodiment of the present invention You can also use encryption algorithms with additive or multiplicative homomorphic properties such as ElGamal. In addition to the Shamir secret sharing scheme, other secret sharing schemes can also be used.

[0073] The embodiment of the present invention addresses the problem of malicious participants inputting wrong data in multi-party computing scenarios. By utilizing the immutability of blockchain, the smart contract shares data with all participant nodes through a secret sharing scheme. The smart contract encrypts the secret shares obtained by all participant nodes using a function with (semi-)homomorphic properties, and uses the ciphertext of these secret shares to restore the entire ciphertext, and determines whether the ciphertext is equal to the ciphertext on the blockchain. If they are equal, the input of the participant node is authentic and reliable; otherwise, the entire process is terminated or the data is re-entered. In this way, the present invention encrypts the data of the participants through blockchain technology and stores it in a distributed ledger, and uses smart contracts to encrypt, store, verify and audit the data of the participants to ensure that the data is authentic and reliable, and avoid the phenomenon of participants inputting wrong data.

[0074] The embodiment of the present invention provides an application scenario of a method for verifying the credibility of input data based on blockchain technology. The method can be implemented by a server to solve the millionaire problem:

[0075] Consider a real-life scenario of the millionaire problem: Two wealthy people (Alice and Bob) have deposits in multiple banks. and , the bank stores all the Pedersen commitments of these data on the blockchain, that is , and , Alice and Bob each transfer their account balances to and Do secret sharing and use the method of the present invention to verify and The correctness of the payment is then verified by using privacy computing to compare who is richer, thus ensuring that the amounts entered by Alice and Bob are correct.

[0076] The embodiment of the present invention provides an application scenario of a method for verifying the credibility of input data based on blockchain technology. The method can be implemented by a server to solve the problem of safely evaluating the benefits of multiple companies in government administration:

[0077] When the government assessment department sends security benefit assessment requirements to various companies, each company responds to the government's call and performs privacy calculations on each company's financial data, ultimately obtaining corresponding benefit assessment scores and grading different companies.

[0078] When calculating the benefit evaluation score, each company may modify, add, or delete some data according to its own situation to obtain a result that is favorable to the company. For example, Company A has multiple business directions, but when providing financial data for calculating the benefit score, it will selectively exchange some business data with poor benefits with business data with good benefits (creating the illusion that the company's benefits are poor), and ultimately obtain a benefit score lower than the actual situation, so the company may evade taxes.

[0079] Through the present invention, the business data of each company is encrypted and uploaded to the chain, and then the data provided by each company is verified during privacy computing, which can effectively prevent companies from temporarily tampering with data and ensure the validity of privacy computing input.

[0080] Figure 4 is a structural block diagram of an input data credibility verification device based on blockchain technology according to an exemplary embodiment. Figure 4 The device includes an acquisition unit 401, an encryption unit 402, a sharing unit 403, a recovery unit 404, and a verification unit 405.

[0081] An acquisition unit 401 is used to acquire the actual data of all participant nodes, encrypt them respectively through smart contracts, and store the encrypted actual data into the blockchain through smart contracts;

[0082] The encryption unit 402 is used to obtain input data from any participant node, encrypt the input data through a smart contract, and share the encrypted input data with all participant nodes through a secret sharing algorithm through a smart contract;

[0083] The sharing unit 403 is used to obtain the secret share received by each participant node through the smart contract, encrypt each secret share through the smart contract, and broadcast the encrypted secret share to all participant nodes;

[0084] The recovery unit 404 is used to obtain the encrypted secret shares received by all participant nodes through the smart contract, and perform data recovery on the encrypted secret shares through the smart contract to obtain the data to be verified;

[0085] The verification unit 405 is used to verify the input data through the smart contract according to the data to be verified and the encrypted actual data in the blockchain.

[0086] Optionally, the acquiring unit 401 is configured to:

[0087] The actual data of all participant nodes is obtained through smart contracts, and the actual data is encrypted separately using functions with homomorphic properties.

[0088] Optionally, the function of the homomorphic property comprises a Pedersen commitment or an ElGamal algorithm.

[0089] Optionally, the sharing unit 403 is used to:

[0090] The encrypted secret share is shared with all participant nodes through smart contracts using Shamir threshold.

[0091] Optionally, the verification unit 405 is used to:

[0092] The data to be verified is compared with the encrypted actual data in the blockchain through the smart contract. If the data to be verified is the same as the encrypted actual data in the blockchain, the input data is judged to be credible and the input data verification is passed. If the data to be verified is different from the encrypted actual data in the blockchain, the input data is judged to be unreliable and the input data verification fails.

[0093] The embodiment of the present invention addresses the problem of malicious participants inputting wrong data in multi-party computing scenarios. By utilizing the immutability of blockchain, the smart contract shares data with all participant nodes through a secret sharing scheme. The smart contract encrypts the secret shares obtained by all participant nodes using a function with (semi-)homomorphic properties, and uses the ciphertext of these secret shares to restore the entire ciphertext, and determines whether the ciphertext is equal to the ciphertext on the blockchain. If they are equal, the input of the participant node is authentic and reliable; otherwise, the entire process is terminated or the data is re-entered. In this way, the present invention encrypts the data of the participants through blockchain technology and stores it in a distributed ledger, and uses smart contracts to encrypt, store, verify and audit the data of the participants to ensure that the data is authentic and reliable, and avoid the phenomenon of participants inputting wrong data.

[0094] Figure 5: is a schematic diagram of the structure of a server 500 provided in an embodiment of the present invention. The server 500 may have relatively large differences due to different configurations or performances, and may include one or more processors (central processing units, CPU) 501 and one or more memories 502, wherein the memory 502 stores at least one instruction, and the at least one instruction is loaded and executed by the processor 501 to implement the following steps of the input data credibility verification method based on blockchain technology:

[0095] Obtain the actual data of all participant nodes, encrypt them separately through smart contracts, and store the encrypted actual data into the blockchain through smart contracts;

[0096] Obtain input data from any participant node, encrypt the input data through a smart contract, and share the encrypted input data with all participant nodes through a secret sharing algorithm and a smart contract;

[0097] Obtain the secret share received by each participant node through the smart contract, encrypt each secret share separately through the smart contract, and broadcast the encrypted secret share to all participant nodes;

[0098] Obtain the encrypted secret shares received by all participant nodes through the smart contract, and perform data recovery on the encrypted secret shares through the smart contract to obtain the data to be verified;

[0099] The input data is verified through a smart contract based on the data to be verified and the encrypted actual data in the blockchain.

[0100] In an exemplary embodiment, a computer-readable storage medium is also provided, such as a memory including instructions, and the instructions can be executed by a processor in a terminal to complete the above-mentioned input data credibility verification method based on blockchain technology. For example, the computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0101] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0102] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for verifying the credibility of input data based on blockchain technology, characterized in that: The method comprises: Obtain the actual data of all participant nodes, encrypt them separately through smart contracts, and store the encrypted actual data into the blockchain through smart contracts; Obtain input data from any participant node, encrypt the input data through a smart contract, and share the encrypted input data with all participant nodes through a secret sharing algorithm and a smart contract; Obtain the secret share received by each participant node through the smart contract, encrypt each secret share separately through the smart contract, and broadcast the encrypted secret share to all participant nodes; Obtain the encrypted secret shares received by all participant nodes through the smart contract, and perform data recovery on the encrypted secret shares through the smart contract to obtain the data to be verified; The input data is verified through a smart contract based on the data to be verified and the encrypted actual data in the blockchain.

2. The method according to claim 1, characterized in that The encryption is performed separately through smart contracts, including: The actual data are encrypted separately using a function with homomorphic properties through a smart contract.

3. The method according to claim 2, characterized in that Functions of the homomorphic property include Pedersen commitment or ElGamal algorithm.

4. The method according to claim 1, characterized in that: The encrypted secret share is broadcasted to all participant nodes, including: The encrypted secret share is shared with all participant nodes through smart contracts using Shamir threshold.

5. The method according to claim 1, characterized in that The step of verifying the input data through a smart contract based on the data to be verified and the encrypted actual data in the blockchain includes: The data to be verified is compared with the encrypted actual data in the blockchain through a smart contract. If the data to be verified is the same as the encrypted actual data in the blockchain, the input data is judged to be credible and the input data verification is passed. If the data to be verified is not the same as the encrypted actual data in the blockchain, the input data is judged to be unreliable and the input data verification fails.

6. A device for verifying the credibility of input data based on blockchain technology, characterized in that: The device comprises: The acquisition unit is used to obtain the actual data of all participant nodes, encrypt them respectively through smart contracts, and store the encrypted actual data into the blockchain through smart contracts; An encryption unit, used to obtain input data from any participant node, encrypt the input data through a smart contract, and share the encrypted input data with all participant nodes through a secret sharing algorithm and a smart contract; The sharing unit is used to obtain the secret share received by each participant node through the smart contract, encrypt each secret share separately through the smart contract, and broadcast the encrypted secret share to all participant nodes; A recovery unit, used to obtain the encrypted secret shares received by all participant nodes through a smart contract, and perform data recovery on the encrypted secret shares through a smart contract to obtain data to be verified; The verification unit is used to verify the input data through a smart contract based on the data to be verified and the encrypted actual data in the blockchain.

7. The device according to claim 6, characterized in that The acquisition unit is used to: The actual data of all participant nodes are obtained through smart contracts, and the actual data are encrypted separately using functions with homomorphic properties.

8. The device according to claim 7, characterized in that Functions of the homomorphic property include Pedersen commitment or ElGamal algorithm.

9. The device according to claim 6, characterized in that The sharing unit is used for: The encrypted secret share is shared with all participant nodes through smart contracts using Shamir threshold.

10. The device according to claim 6, characterized in that The verification unit is used to: The data to be verified is compared with the encrypted actual data in the blockchain through a smart contract. If the data to be verified is the same as the encrypted actual data in the blockchain, the input data is judged to be credible and the input data verification is passed. If the data to be verified is not the same as the encrypted actual data in the blockchain, the input data is judged to be unreliable and the input data verification fails.

Citation Information

Patent Citations

  • Secret sharing method and apparatus based on block chain system

    CN109120398A

  • Data security sharing system and method based on blockchain key distribution

    CN111277412A