Data transaction method and device

By using homomorphic encryption and blockchain technology in data transactions, the problems of data value valuation and transaction fairness are solved, and the security and incentive mechanism of data transactions are realized.

CN119919231AActive Publication Date: 2025-05-02太保科技有限公司
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411983317.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-05-02
Estimated Expiration
2044-12-30

AI Technical Summary

Technical Problem

In the existing technology, data trading mechanisms are difficult to accurately value data value, resulting in unfair data trading, affecting the incentive mechanism for data sharing, and privacy protection issues.

Method used

The data provider performs homomorphic encryption of transaction data, the target data processing party performs homomorphic calculation and decryption, the target data user performs final decryption and use, and records the operation information of each party through the blockchain to ensure that every data flow and processing can be tracked and verified.

Benefits of technology

Accurate valuation and protection of data value is achieved, ensuring the security and fairness of data transactions are ensured, and data providers and processors are encouraged to actively participate in data sharing and processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119919231A_ABST
    Figure CN119919231A_ABST
Patent Text Reader

Abstract

The invention discloses a data transaction method and device. A data provider performs homomorphic encryption on to-be-transacted data, a data processing party with permission performs homomorphic calculation and then performs homomorphic decryption, and a homomorphic decryption result is encrypted based on a data user with permission. In the data transaction process, operation information of all parties is written into a meta-information upper chain, it is ensured that each circulation and each processing of the data can be accurately tracked and verified, the authenticity and non-tampering performance of the data can be ensured, and a solid basis can be provided for subsequent contribution value calculation. The contribution value of each party can be obtained according to the meta-information, and the economic return of the data contribution is returned to the corresponding data provider and the processing party according to the contribution value. The contribution value reflects the direct and indirect influence of all parties on the data, it is ensured that the data value is accurately estimated and protected, the safety and fairness of data transaction are ensured, and the data provider and the processing party are effectively stimulated to actively participate in data sharing and data processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of blockchain technology, and in particular to a method and device for data transaction. Background Art

[0002] Data can be copied at low cost due to its replicability. In an era when data has become an asset, the value of data varies in different scenarios. Blockchain technology can ensure that data is shared under certain conditions, and stimulate the circulation and transaction of data by building a consortium chain, thereby promoting a multiplier effect of data among multiple participants.

[0003] The data trading mechanism in the existing technology is unclear about the value of data, which makes it difficult to conduct data transactions fairly and reasonably. In addition, there is no accurate valuation of the contribution of each participant in the data transaction, which often means that the data provider does not receive the due benefits, affecting the incentive mechanism for data sharing. In addition, due to concerns about privacy protection, data providers may also lack the motivation to share data.

[0004] Therefore, how to accurately value and protect data to ensure the security and fairness of data transactions has become an urgent problem that needs to be solved. Summary of the invention

[0005] Based on the above problems, the present application provides a method and device for data trading to accurately evaluate and protect the value of data, so as to ensure the security and fairness of data trading.

[0006] The present application discloses a method for data transaction, the method comprising:

[0007] The data provider performs homomorphic encryption on the data to be traded to obtain a first ciphertext, and writes the current data provider and the target data processor into meta information, and uploads the meta information and the first ciphertext to the blockchain; the target data processor is the data provider who determines the data processor with the authority to operate the data to be traded;

[0008] The target data processor performs homomorphic calculation on the first ciphertext, decrypts the calculation result homomorphically, and then encrypts it based on the target data user to obtain the second ciphertext, writes the current data processor and the target data user into the meta information, and uploads the meta information and the second ciphertext to the blockchain; the target data user determines the data user who has the operation authority for the data to be traded for the data provider;

[0009] The target data user decrypts the second ciphertext to obtain the data to be traded, writes the current data user into the meta information and uploads it to the blockchain;

[0010] The contribution values ​​of the data provider, data processor and data user in the data transaction are obtained according to the meta information.

[0011] Optionally, the data provider performs homomorphic encryption on the transaction data to obtain a first ciphertext, including:

[0012] The target data processor generates a processor private key and processor noise;

[0013] The data processor obtains the processor joint public key according to the processor private key, the processor noise and preset sharing parameters;

[0014] The data provider performs homomorphic encryption on the data to be traded based on the joint public key of the processor to obtain the first ciphertext; the first ciphertext is a ciphertext that has undergone noise calculation.

[0015] Optionally, the performing homomorphic calculation on the first ciphertext by the target data processing party includes:

[0016] The target data processing party performs homomorphic calculation on the first ciphertext to obtain the calculation result; the calculation result is the ciphertext.

[0017] Optionally, the step of homomorphically decrypting the calculation result and then encrypting it based on the target data user includes:

[0018] The target data processor decrypts the calculation result based on the processor's joint public key;

[0019] The target data processor encrypts the homomorphic decryption result based on the user public key of the target data user; the user public key is synthesized from the sub-public keys of multiple target data users.

[0020] Optionally, decrypting the second ciphertext by the target data user includes:

[0021] The target data user decrypts the second ciphertext based on the user's private key.

[0022] Optionally, before encrypting based on the target data user, the method further includes:

[0023] The target data processor responds to the data use request sent by the data user, and sends an authorization request to the data provider based on the data use request;

[0024] When the data provider agrees to the authorization, the data user becomes the target data user; at the same time, the data provider uploads the information of consent to the authorization to the blockchain for evidence storage.

[0025] Optionally, the data provider performs homomorphic encryption on the data to be traded to obtain a first ciphertext, and writes the current data provider and the target data processor into the meta-information, including:

[0026] When the size of the data to be traded exceeds a preset range, the data provider slices the data to be traded to obtain a plurality of slices of the data to be traded;

[0027] The data provider performs homomorphic encryption on the multiple data slices to be traded respectively to obtain multiple first ciphertexts;

[0028] The data provider writes the current data provider, the target data processor, and the corresponding data slice number to be traded of each first ciphertext into the meta information.

[0029] Optionally, decrypting the second ciphertext by the target data user includes:

[0030] The target data user decrypts the received multiple second ciphertexts respectively and aggregates them.

[0031] Optionally, the first ciphertext and the second ciphertext are uploaded to the blockchain after hash processing.

[0032] Based on the above-mentioned data transaction method, the present application also discloses a data transaction device, including: a homomorphic encryption unit, a secondary encryption unit, a decryption unit and a contribution unit;

[0033] The homomorphic encryption unit is used to homomorphically encrypt the data to be traded through the data provider to obtain a first ciphertext, write the current data provider and the target data processor into meta information, and upload the meta information and the first ciphertext to the blockchain; the target data processor is a data processor determined by the data provider to have the authority to operate the data to be traded;

[0034] The secondary encryption unit performs homomorphic calculation on the first ciphertext through the target data processor, homomorphically decrypts the calculation result, and then encrypts it based on the target data user to obtain a second ciphertext, writes the current data processor and the target data user into the meta information, and uploads the meta information and the second ciphertext to the blockchain; the target data user is the data provider who determines the data user who has the right to operate the data to be traded;

[0035] The decryption unit is used to decrypt the second ciphertext through the target data user to obtain the data to be traded, write the current data user into the meta information and upload it to the blockchain;

[0036] The contribution unit is used to obtain the contribution values ​​of the data provider, data processor and data user in the data transaction according to the meta information.

[0037] Optionally, the homomorphic encryption unit includes:

[0038] A generating subunit, used for the target data processor to generate a processor private key and a processor noise;

[0039] An acquisition subunit, configured for the data processor to acquire a processor joint public key according to the processor private key, the processor noise and preset sharing parameters;

[0040] The homomorphic encryption subunit is used for the data provider to perform homomorphic encryption on the data to be traded based on the joint public key of the processor to obtain the first ciphertext; the first ciphertext is the ciphertext that has undergone noise calculation.

[0041] Optionally, the secondary encryption unit is used to:

[0042] The target data processing party performs homomorphic calculation on the first ciphertext to obtain the calculation result; the calculation result is the ciphertext.

[0043] Optionally, the secondary encryption unit includes:

[0044] A decryption subunit, used for the target data processor to decrypt the calculation result based on the processor's joint public key;

[0045] The encryption sub-unit is used for the target data processor to encrypt the homomorphic decryption result based on the user public key of the target data user; the user public key is synthesized by the sub-public keys of multiple target data users.

[0046] Optionally, the decryption unit is used to:

[0047] The target data user decrypts the second ciphertext based on the user's private key.

[0048] Optionally, the device further comprises:

[0049] A request response unit, configured for the target data processor to respond to a data use request sent by a data user, and to send an authorization request to the data provider based on the data use request;

[0050] The authorization consent unit is used when the data provider consents to the authorization and the data user is the target data user; at the same time, the data provider uploads the authorization consent information to the blockchain for evidence storage.

[0051] Optionally, the homomorphic encryption unit includes:

[0052] A slicing subunit, configured to cause the data provider to slice the data to be traded to obtain a plurality of slices of the data to be traded when the size of the data to be traded exceeds a preset range;

[0053] The respective encryption subunits are used for the data provider to perform homomorphic encryption on the multiple data slices to be traded to obtain multiple first ciphertexts;

[0054] The numbering subunit is used for the data provider to write the current data provider, the target data processor, and the corresponding data slice number to be traded of each first ciphertext into the meta-information.

[0055] Optionally, the decryption unit is used to:

[0056] The target data user decrypts the received multiple second ciphertexts respectively and aggregates them.

[0057] Optionally, the first ciphertext and the second ciphertext are uploaded to the blockchain after hash processing.

[0058] The present application discloses a method and device for data trading. The data provider homomorphically encrypts the data to be traded, the authorized data processor performs homomorphic calculation, performs homomorphic decryption based on the authorized data processor, and then encrypts the homomorphic decryption result based on the authorized data user, waiting for the authorized data user to decrypt and obtain the data to be traded. During the entire data transaction process, the operation information of each party is written into the metadata chain to ensure that each flow and each processing of the data can be accurately tracked and verified, which can not only ensure the authenticity and non-tamperability of the data, but also provide a solid basis for the subsequent contribution value calculation. The contribution value of each party can be obtained based on the metadata, and the economic return of the data contribution can be returned to the corresponding data provider and processor based on the contribution value. The contribution value reflects the direct and indirect impact of each party on the data, ensures that the value of the data is accurately valued and protected, guarantees the security and fairness of data transactions, and effectively encourages data providers and processors to actively participate in data sharing and data processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0060] Figure 1 A flowchart of a data transaction method disclosed in an embodiment of the present application;

[0061] Figure 2 A flowchart of another data transaction method disclosed in an embodiment of the present application;

[0062] Figure 3 A schematic diagram of the structure of a data transaction device disclosed in an embodiment of the present application. DETAILED DESCRIPTION

[0063] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0064] Embodiment 1: This application discloses a method for data transaction.

[0065] For details, please refer to Figure 1 A data transaction method disclosed in this embodiment includes the following steps:

[0066] Step 101: The data provider performs homomorphic encryption on the data to be traded to obtain a first ciphertext, and writes the current data provider and the target data processor into the meta-information, and uploads the meta-information together with the first ciphertext to the blockchain.

[0067] In the method described in this embodiment, the target data processor is the data provider who determines the data processor with the authority to operate the data to be traded. First, the shared parameter p of each party in the data transaction is set, and the target data processor generates the processor private key s_processor and the processor noise e_processor, and obtains the processor parameter p_processor based on s_processor, e_processor and p. As an optional method, p_processor can be the product of -p and s_processor plus e_processor. Multiple target data processors can calculate the processor joint public key cpk. As an optional method, the formula can be:

[0068] cpk=(sum(p_processor_i),p)=(-p*sum(s_processor_i)+sum(e_processors_i)),p). Wherein, i represents the i-th target data processor.

[0069] In the method described in this embodiment, when the size of the data to be traded exceeds a preset range, the data provider may slice the data to be traded to obtain multiple slices of the data to be traded.

[0070] In the method described in this embodiment, the data provider adds noise to the data to be traded based on the processor's joint public key cpk, performs homomorphic encryption, and obtains a first ciphertext, which is a ciphertext that has undergone noise calculations. Correspondingly, when there are multiple slices of data to be traded, the data provider performs homomorphic encryption on the multiple slices of data to be traded, respectively, to obtain multiple first ciphertexts. In addition, the data provider writes the current data provider, the target data processor, and the corresponding number of the slice of data to be traded (for example, which segment the slice of data to be traded belongs to) of each first ciphertext into the meta-information. Among them, the kzg polynomial commitment can be used to ensure that the data obtained by segmentation belongs to the original data to be traded.

[0071] In the method described in this embodiment, the first ciphertext is uploaded to the blockchain after hash processing. In practical applications, other protection upload methods can also be used. The method of uploading to the blockchain is not specifically limited here, and it only needs to be able to achieve encrypted upload. Among them, the first ciphertext uploaded to the blockchain will be broadcast to the data processing party.

[0072] Step 102: The target data processor performs homomorphic calculation on the first ciphertext, decrypts the calculation result homomorphically, and then encrypts it based on the target data user to obtain a second ciphertext, writes the current data processor and the target data user into the meta-information, and uploads the meta-information and the second ciphertext to the blockchain together.

[0073] In the method described in this embodiment, the target data processor monitors the on-chain message and obtains the first ciphertext through the interface off-chain. The target data processor performs homomorphic calculation on the first ciphertext to obtain a calculation result. The target data processor then performs homomorphic decryption on the calculation result based on the processor's joint public key clk, and can obtain a homomorphic decryption result, which is a ciphertext. Among them, the homomorphic decryption step can be specifically that the target data processor converts the first ciphertext encrypted by the processor's joint public key clk into a pk-encrypted ciphertext through a key switching protocol, and then decrypts it homomorphically through pk. Among them, the pk is associated with the processor's joint public key clk.

[0074] In the method described in this embodiment, the target data processor can use the user's public key to encrypt the homomorphic decryption result to obtain the second ciphertext. The user's public key is synthesized from the sub-public keys of multiple target data users to limit the second ciphertext to only authorized target data users.

[0075] Prior to this, the target data user is the data user determined by the data provider as having the authority to operate the data to be traded. As an optional method, specifically, the target data processor responds to the data use request sent by the data user, and based on the data use request, sends an authorization request to the data provider, so that the data provider can determine whether the data user who sent the request can be authorized. When the data provider agrees to the authorization, the data user is the target data user, and the data provider will upload the information of consent to the authorization to the blockchain for evidence storage. When the data provider disagrees with the authorization, the target data processor can ignore the request of the data user or reply that it does not have the right to use the data. There is no specific limitation on the subsequent steps when the data provider disagrees with the authorization, and it is sufficient to prohibit the unauthorized data user from using the data.

[0076] In the method described in this embodiment, as an optional method, the second ciphertext is uploaded to the blockchain after hash processing. As another optional method, the second ciphertext can also be uploaded directly due to its small size. In practical applications, other protection upload methods can also be used. The method of uploading to the blockchain is not specifically limited here, and encrypted upload can be achieved. Among them, the second ciphertext uploaded to the blockchain will be broadcast to the data user.

[0077] Step 103: The second ciphertext is decrypted by the target data user to obtain the data to be traded, and the current data user is written into the meta information and uploaded to the blockchain.

[0078] In the method described in this embodiment, each target data user monitors the information on the blockchain, obtains the second ciphertext, and decrypts the second ciphertext using the user's private key. When there are multiple second ciphertexts, that is, there are multiple data slices to be traded, the target data user decrypts the multiple second ciphertexts received, and then aggregates them according to the data slice numbers to be traded in the meta information to obtain the data to be traded.

[0079] In the method described in this embodiment, after obtaining the data to be traded, the target data user will also analyze and process the data to be traded, and securely aggregate the results and return them to the user. At this time, the user is the blockchain front-end application of the target data user, and the target data user hashes the meta information and the security aggregation results and uploads them to the blockchain for evidence storage.

[0080] Step 104: Acquire contribution values ​​of the data provider, data processor, and data user in the data transaction according to the meta-information.

[0081] In the method described in this embodiment, data auditing is performed based on the metadata on the chain, and based on the audit results and metadata, the entire data transaction process, that is, the participation of each data provider and data processor in the data chain, is calculated. Smart contracts use rule engines to determine the contribution value of each party to achieve an accurate pricing mechanism, thereby effectively motivating more data providers and data processors to actively participate in data contribution and processing.

[0082] The method described in this embodiment combines the transparent traceability of blockchain with privacy computing enhancement technology, which not only supports efficient ciphertext broadcasting, solves the authorization problem of ciphertext data to multiple designated users, and significantly reduces computing resource consumption. A decentralized key management strategy is also adopted to effectively reduce the additional overhead of centralized management and ensure data privacy. Through the authorization and sharding mode, it is ensured that only authorized data processors and users can process or aggregate data, and the data processor can only obtain part of the data, and cannot obtain the full amount of data or plaintext calculation, thereby strengthening data privacy protection. In addition, the data provider can authorize multiple data processors at one time, reduce the workload through sharding, and improve processing efficiency. The processing results are uploaded to the chain in ciphertext form, received and decrypted by the subscribed data user, and the hash value of the aggregated result is finally uploaded to the chain. In this process, the data user can calculate the contribution value according to the degree of participation of each data provider and data processor, realize the accurate feedback of the contribution value, and promote the efficient management and incentive mechanism of data collaboration.

[0083] Example 2: This application discloses another data transaction method, please refer to Figure 2 The method described in this embodiment introduces the entire process of data transaction.

[0084] Step 201: When the size of the data to be traded exceeds a preset range, the data provider divides the data to be traded into a plurality of data slices to be traded, including a first slice and a second slice.

[0085] Step 202: The data provider performs homomorphic encryption on the first slice and the second slice respectively based on the joint public key of the target data processor to obtain a first ciphertext a and a first ciphertext b.

[0086] Step 203: The data provider uploads the first ciphertext a and the first ciphertext b and the corresponding two pieces of meta information to the blockchain.

[0087] Step 204: The target data processing party obtains the first ciphertext a and the first ciphertext b, and performs homomorphic calculations on the two respectively to obtain calculation results a and b.

[0088] Step 205: The target data processing party performs homomorphic decryption on the calculation result a and the calculation result b respectively based on the target data processing party's joint public key to obtain homomorphic decryption result a and homomorphic decryption result b.

[0089] Step 206: The data user sends a data use request to the target data processor.

[0090] Step 207: The target data processor requests the data provider to determine whether to agree to the authorization based on the data use request. If yes, proceed to step 208. If no, ignore the request.

[0091] Step 208: Determine the data user as the target data user.

[0092] Step 209: The target data processor encrypts the homomorphic decryption result a and the homomorphic decryption result b respectively based on the user's public key to obtain a second ciphertext a and a second ciphertext b.

[0093] Step 210: The target data processor updates the second ciphertext a and the second ciphertext b and the corresponding two metadata and uploads them to the blockchain.

[0094] Step 211: The target data user obtains the second ciphertext a and the second ciphertext b, decrypts the second ciphertext a and the second ciphertext b respectively based on the user's private key, and then aggregates them according to the metadata to obtain the data to be traded.

[0095] Step 212: The target data user updates the meta-information (and the aggregation result hash) and uploads it to the blockchain.

[0096] Step 213: The blockchain smart contract obtains the contribution values ​​of the data provider, data processor and data user in the data transaction based on the metadata on the blockchain.

[0097] Based on the data transaction method disclosed in the above embodiment, this embodiment correspondingly discloses a data transaction device. Figure 3 , the data transaction device includes: a homomorphic encryption unit 301, a secondary encryption unit 302, a decryption unit 303 and a contribution unit 304;

[0098] The homomorphic encryption unit 301 is used to homomorphically encrypt the data to be traded through the data provider to obtain a first ciphertext, write the current data provider and the target data processor into meta information, and upload the meta information together with the first ciphertext to the blockchain; the target data processor is the data processor determined by the data provider to have the operation authority for the data to be traded;

[0099] The secondary encryption unit 302 performs homomorphic calculation on the first ciphertext through the target data processor, homomorphically decrypts the calculation result, and then encrypts it based on the target data user to obtain a second ciphertext, writes the current data processor and the target data user into the meta information, and uploads the meta information and the second ciphertext to the blockchain; the target data user is the data provider who determines the data user who has the right to operate the data to be traded;

[0100] The decryption unit 303 is used to decrypt the second ciphertext through the target data user to obtain the data to be traded, write the current data user into the meta information and upload it to the blockchain;

[0101] The contribution unit 304 is used to obtain the contribution values ​​of the data provider, data processor and data user in the data transaction according to the meta information.

[0102] Optionally, the homomorphic encryption unit 301 includes:

[0103] A generating subunit, used for the target data processor to generate a processor private key and a processor noise;

[0104] An acquisition subunit, configured for the data processor to acquire a processor joint public key according to the processor private key, the processor noise and preset sharing parameters;

[0105] The homomorphic encryption subunit is used for the data provider to perform homomorphic encryption on the data to be traded based on the joint public key of the processor to obtain the first ciphertext; the first ciphertext is the ciphertext that has undergone noise calculation.

[0106] Optionally, the secondary encryption unit 302 is used to:

[0107] The target data processing party performs homomorphic calculation on the first ciphertext to obtain the calculation result; the calculation result is the ciphertext.

[0108] Optionally, the secondary encryption unit 302 includes:

[0109] A decryption subunit, used for the target data processor to decrypt the calculation result based on the processor's joint public key;

[0110] The encryption sub-unit is used for the target data processor to encrypt the homomorphic decryption result based on the user public key of the target data user; the user public key is synthesized by the sub-public keys of multiple target data users.

[0111] Optionally, the decryption unit 303 is used to:

[0112] The target data user decrypts the second ciphertext based on the user's private key.

[0113] Optionally, the device further comprises:

[0114] A request response unit, configured for the target data processor to respond to a data use request sent by a data user, and to send an authorization request to the data provider based on the data use request;

[0115] The authorization consent unit is used when the data provider consents to the authorization and the data user is the target data user; at the same time, the data provider uploads the authorization consent information to the blockchain for evidence storage.

[0116] Optionally, the homomorphic encryption unit 301 includes:

[0117] A slicing subunit, configured to cause the data provider to slice the data to be traded to obtain a plurality of slices of the data to be traded when the size of the data to be traded exceeds a preset range;

[0118] The respective encryption subunits are used for the data provider to perform homomorphic encryption on the multiple data slices to be traded to obtain multiple first ciphertexts;

[0119] The numbering subunit is used for the data provider to write the current data provider, the target data processor, and the corresponding data slice number to be traded of each first ciphertext into the meta-information.

[0120] Optionally, the decryption unit 303 is used to:

[0121] The target data user decrypts the received multiple second ciphertexts respectively and aggregates them.

[0122] Optionally, the first ciphertext and the second ciphertext are uploaded to the blockchain after hash processing.

[0123] The embodiments in this specification are described in a progressive manner. As for the devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the description of the methods.

[0124] It should also be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0125] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0126] The features described in the embodiments of this specification can be replaced or combined with each other, so that professional and technical personnel in this field can implement or use the present application.

[0127] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A data transaction method, characterized in that: include: The data provider performs homomorphic encryption on the data to be traded to obtain a first ciphertext, and writes the current data provider and the target data processor into meta information, and uploads the meta information and the first ciphertext to the blockchain; the target data processor is the data provider who determines the data processor with the authority to operate the data to be traded; The target data processor performs homomorphic calculation on the first ciphertext, decrypts the calculation result homomorphically, and then encrypts it based on the target data user to obtain the second ciphertext, writes the current data processor and the target data user into the meta information, and uploads the meta information and the second ciphertext to the blockchain; the target data user determines the data user who has the operation authority for the data to be traded for the data provider; The target data user decrypts the second ciphertext to obtain the data to be traded, writes the current data user into the meta information and uploads it to the blockchain; The contribution values ​​of the data provider, data processor and data user in the data transaction are obtained according to the meta information.

2. The method according to claim 1, characterized in that: The data provider performs homomorphic encryption on the transaction data to obtain a first ciphertext, including: The target data processor generates a processor private key and processor noise; The data processor obtains the processor joint public key according to the processor private key, the processor noise and preset sharing parameters; The data provider performs homomorphic encryption on the data to be traded based on the joint public key of the processor to obtain the first ciphertext; the first ciphertext is a ciphertext that has undergone noise calculation.

3. The method according to claim 2, characterized in that The performing homomorphic calculation on the first ciphertext by the target data processing party includes: The target data processing party performs homomorphic calculation on the first ciphertext to obtain the calculation result; the calculation result is the ciphertext.

4. The method according to claim 2, characterized in that: After the calculation result is homomorphically decrypted, it is encrypted based on the target data user, including: The target data processor decrypts the calculation result based on the processor's joint public key; The target data processor encrypts the homomorphic decryption result based on the user public key of the target data user; the user public key is synthesized from the sub-public keys of multiple target data users.

5. The method according to claim 1, characterized in that The decrypting the second ciphertext by the target data user includes: The target data user decrypts the second ciphertext based on the user's private key.

6. The method according to claim 3, characterized in that Before encrypting based on the target data user, the method further includes: The target data processor responds to the data use request sent by the data user, and sends an authorization request to the data provider based on the data use request; When the data provider agrees to the authorization, the data user becomes the target data user; at the same time, the data provider uploads the information of consent to the authorization to the blockchain for evidence storage.

7. The method according to claim 1, characterized in that The data provider performs homomorphic encryption on the transaction data to obtain the first ciphertext, and writes the current data provider and the target data processor into the meta information, including: When the size of the data to be traded exceeds a preset range, the data provider slices the data to be traded to obtain a plurality of slices of the data to be traded; The data provider performs homomorphic encryption on the multiple data slices to be traded respectively to obtain multiple first ciphertexts; The data provider writes the current data provider, the target data processor, and the corresponding data slice number to be traded of each first ciphertext into the meta information.

8. The method according to claim 7, characterized in that The decrypting the second ciphertext by the target data user includes: The target data user decrypts the received multiple second ciphertexts respectively and aggregates them.

9. The method according to any one of claims 1 to 8, characterized in that: The first ciphertext and the second ciphertext are uploaded to the blockchain after being hashed.

10. A data transaction device, characterized in that: include: Homomorphic encryption unit, secondary encryption unit, decryption unit and contribution unit; The homomorphic encryption unit is used to homomorphically encrypt the data to be traded through the data provider to obtain a first ciphertext, write the current data provider and the target data processor into meta information, and upload the meta information and the first ciphertext to the blockchain; the target data processor is a data processor determined by the data provider to have the authority to operate the data to be traded; The secondary encryption unit performs homomorphic calculation on the first ciphertext through the target data processor, homomorphically decrypts the calculation result, and then encrypts it based on the target data user to obtain a second ciphertext, writes the current data processor and the target data user into the meta information, and uploads the meta information and the second ciphertext to the blockchain; the target data user is the data provider who determines the data user who has the right to operate the data to be traded; The decryption unit is used to decrypt the second ciphertext through the target data user to obtain the data to be traded, write the current data user into the meta information and upload it to the blockchain; The contribution unit is used to obtain the contribution values ​​of the data provider, data processor and data user in the data transaction according to the meta information.

Citation Information

Patent Citations

  • Medical record storage, sharing and security claim settlement model and method based on a block chain

    CN110008746A

  • Private data processing method, device and system based on block chain

    CN113722753A

  • Intelligent contract engine implementation method and system supporting FHE

    CN115242374A

  • Data providing, using and sharing method, intelligent terminal and sharing system

    CN117390650A

  • Method, apparatus and electronic device for blockchain transactions

    WO2020047169A1