Blockchain-based data processing method, device, electronic device and blockchain

By splitting and distributing data on the blockchain, it is ensured that the computing participants can only process part of the data, which solves the security problem of private data being leaked on the blockchain and improves the overall security of the data.

CN112699387BActive Publication Date: 2025-04-22LENOVO (BEIJING) LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011566743.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-25
Publication Date
2025-04-22
Estimated Expiration
2040-12-25

AI Technical Summary

Technical Problem

After the private data on the blockchain is on the chain, the private data of the data provider may be known by the calculation participants, resulting in low data security.

Method used

On the blockchain, after receiving the data processing request, the data provider splits the target data blocks, generates multiple sub-data blocks, and transmits these sub-data blocks to multiple computing participants respectively. After processing these sub-data blocks, the calculation participants upload the processing results to the blockchain and perform a second processing to ensure the security of the data.

Benefits of technology

By splitting and distributing data blocks, it is ensured that each computing participant can only obtain part of the data, but cannot obtain the complete original data. This approach improves data security and prevents privacy data from being compromised.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112699387B_ABST
    Figure CN112699387B_ABST
Patent Text Reader

Abstract

The present application discloses a data processing method, device, electronic device and blockchain based on blockchain, the method is applied to a data provider on the blockchain, the method comprises: when a data processing request is obtained, splitting a target data block to obtain a plurality of sub-data blocks, the target data block being a data block corresponding to the data processing request; transmitting the sub-data blocks to computing participants on the blockchain respectively, so that the computing participants upload a first processing result obtained after performing a first processing according to the obtained target sub-data to the blockchain, and the computing participants on the blockchain perform a second processing on the first processing result and other processing results uploaded by other computing participants to obtain a second processing result.
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 blockchain-based data processing method, device, electronic device and blockchain. Background Art

[0002] The goal of blockchain technology is to achieve distributed and reliable data storage. In the specific implementation of blockchain, data is incrementally stored on multiple nodes in the network, and the secure hash function is used to ensure that the data entered into the chain cannot be tampered with. The consensus algorithm and network transmission protocol are used to achieve the consistency of data storage on each node.

[0003] The data provider on the blockchain uploads private data to the chain and provides it to the computing participants for calculation of corresponding functions to obtain the calculation results.

[0004] However, when private data is uploaded to the blockchain, the privacy data of the data provider will be known to the computing participants, resulting in low data security. Summary of the invention

[0005] In view of this, the present application provides a data processing method, device, electronic device and blockchain based on blockchain, as follows:

[0006] A data processing method based on blockchain, applied to a data provider on the blockchain, the method comprising:

[0007] In the case of obtaining a data processing request, splitting a target data block to obtain a plurality of sub-data blocks, wherein the target data block is a data block corresponding to the data processing request;

[0008] The sub-data blocks are transmitted to the computing participants on the blockchain respectively, so that the computing participants upload the first processing results obtained to the blockchain after performing the first processing according to the obtained target sub-data, and the computing participants on the blockchain perform the second processing on the first processing result and other processing results uploaded by other computing participants to obtain the second processing result.

[0009] Preferably, the method above splits the target data block to obtain a plurality of sub-data blocks, including:

[0010] According to the splitting rule, the target data block is split to obtain multiple sub-data blocks; wherein the splitting rule is determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain.

[0011] In the above method, preferably, the splitting rule at least includes: splitting the target data block at least according to the number of computing participants on the blockchain and the random number, so that the size of the sub-data block obtained by the scoring block is related to the random number.

[0012] In the above method, preferably, the sub-data blocks are transmitted to the computing participants on the blockchain respectively, including:

[0013] According to the distribution rules, the sub-data blocks are transmitted to the computing participants on the blockchain respectively; wherein the distribution rules are determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain.

[0014] In the above method, preferably, the distribution rule at least includes: distributing at least according to the computing participants who are online on the blockchain;

[0015] Among them, the target sub-data blocks belonging to the same data provider obtained by the same computing participant constitute part of the target data block held by the data provider.

[0016] In the above method, preferably, the proportion of computing participants in an online state on the blockchain among all computing participants on the blockchain is greater than a preset proportion threshold.

[0017] The above method preferably further comprises:

[0018] The sub-data block is stored in a private storage area corresponding to the data provider, and the private storage area only grants its access rights to the data provider corresponding to the private storage area.

[0019] A data processing device based on blockchain, applied to a data provider on the blockchain, the device comprising:

[0020] A data block splitting unit is used to split a target data block to obtain a plurality of sub-data blocks when a data processing request is obtained, wherein the target data block is a data block corresponding to the data processing request;

[0021] A data block distribution unit is used to transmit the sub-data blocks to the computing participants on the blockchain respectively, so that the computing participants upload the first processing results obtained after performing the first processing according to the obtained target sub-data to the blockchain, and enable the computing participants on the blockchain to perform the second processing on the first processing result and other processing results uploaded by other computing participants to obtain the second processing result.

[0022] An electronic device, the electronic device being a data provider on the blockchain, the electronic device comprising:

[0023] A memory, used to store applications and data generated by the operation of the applications;

[0024] A processor, configured to execute the application program to implement:

[0025] In the case of obtaining a data processing request, splitting a target data block to obtain a plurality of sub-data blocks, wherein the target data block is a data block corresponding to the data processing request;

[0026] The sub-data blocks are transmitted to the computing participants on the blockchain respectively, so that the computing participants upload the first processing results obtained to the blockchain after performing the first processing according to the obtained target sub-data, and the computing participants on the blockchain perform the second processing on the first processing result and other processing results uploaded by other computing participants to obtain the second processing result.

[0027] A blockchain comprising:

[0028] At least two computing participants and at least one data provider;

[0029] The data provider is used to:

[0030] In the case of obtaining a data processing request, splitting a target data block to obtain a plurality of sub-data blocks, wherein the target data block is a data block corresponding to the data processing request;

[0031] The sub-data blocks are transmitted to the computing participants on the blockchain respectively, so that the computing participants upload the first processing results obtained to the blockchain after performing the first processing according to the obtained target sub-data, and the computing participants on the blockchain perform the second processing on the first processing result and other processing results uploaded by other computing participants to obtain the second processing result.

[0032] It can be seen from the above technical scheme that in a blockchain-based data processing method, device, electronic device and blockchain disclosed in the present application, after obtaining a data processing request, the data provider on the blockchain splits the target data block corresponding to the data processing request to obtain multiple sub-data blocks, and then transmits the sub-data blocks to the computing participants on the blockchain respectively. After obtaining at least one target sub-data block, the computing participant performs a first processing on these target sub-data blocks, and then uploads the first processing result to the blockchain after obtaining the first processing result, and obtains other processing results uploaded by other computing participants on the blockchain. As a result, the computing participant can perform a second processing on the first processing result and other processing results uploaded by other computing methods on the blockchain to obtain a second processing result. It can be seen that in the present application, the data provider on the blockchain splits the target data block corresponding to the data processing request, and then distributes it to each computing participant on the blockchain, and each computing participant performs a first processing on the part of the sub-data block split out by the data provider off-chain, and then performs a second processing on the processing results uploaded to the blockchain by other computing participants on the chain. Therefore, any computing participant can only obtain part of the data of the data provider, and will not obtain all the original data of a certain data provider. The data when the computing participant on the chain performs the second processing is the result obtained by the other computing participants performing the first processing off-chain. Therefore, any computing participant cannot restore the corresponding original data based on the processing results of other computing participants. Therefore, in the present application, when data processing is performed by the computing participants on the blockchain, each computing participant will not obtain the privacy data provided by the data provider, thereby improving the security of the data. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0034] Figure 1 An interactive flow chart of a blockchain-based data processing method provided in Example 1 of the present application;

[0035] Figure 2 This is an architectural diagram of the blockchain in the embodiment of this application;

[0036] Figure 3 This is an example diagram of data block splitting in an embodiment of the present application;

[0037] Figure 4This is an example diagram of a computing participant on a blockchain uploading processing results to the chain in an embodiment of the present application;

[0038] Figure 5 Another interactive flow chart of a blockchain-based data processing method provided in Embodiment 1 of the present application;

[0039] Figure 6 A schematic diagram of the structure of a data processing device based on blockchain provided in Example 2 of the present application;

[0040] Figure 7 A schematic diagram of the structure of an electronic device provided in Embodiment 3 of the present application;

[0041] Figure 8 This is an application example diagram of an embodiment of the present application. DETAILED DESCRIPTION

[0042] 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.

[0043] refer to Figure 1 , is a flowchart for implementing a data processing method based on blockchain provided in Example 1 of the present application. The method can be applied to data providers on the blockchain. The data providers are participating node devices with data storage capabilities on the blockchain, such as computers or servers, etc. The data providers can provide corresponding data in response to data processing requests. Based on this, the computing participants on the blockchain can use their components with computing capabilities, such as processors and memories, to respond to data processing requests and perform corresponding computing processing to obtain processing results corresponding to the data processing requests. Among them, the computing participants are relative to the data providers. The computing participants can also serve as data providers, and the data providers can also serve as computing participants. There can be multiple computing participants and at least one data provider on the blockchain, such as Figure 2 The technical solution in this embodiment is mainly used to improve the data security when processing data on the blockchain.

[0044] Specifically, the method in this embodiment may include the following steps:

[0045] Step 101: Obtain a data processing request.

[0046] The data processing request is made by the requester, which may be a node on the blockchain. For example, the requester may be a computing participant, a data provider, or other participating nodes on the blockchain, or may not be a node on the blockchain.

[0047] It should be noted that the data processing request includes the identifier of the target data block required to implement data calculation, and may also include the request type of the data processing request. The request type here represents the data processing target to be achieved by the data processing request, such as calculating the average salary or obtaining recommendation results.

[0048] Step 102: split the target data block corresponding to the data processing request to obtain multiple sub-data blocks.

[0049] In this embodiment, the target data block can be split according to the preset rules or configuration information, so that the target data block is split into multiple sub-data blocks, such as Figure 3 As shown in , each sub-data block is a part of the target data block.

[0050] Step 103: The sub-data blocks are transmitted to the computing participants on the blockchain respectively, so that the computing participants upload the first processing results obtained to the blockchain after performing the first processing according to the obtained target sub-data, and the computing participants on the blockchain perform the second processing on the first processing results and other processing results uploaded by other computing participants to obtain the second processing results.

[0051] The data provider may distribute the sub-data blocks to each online computing participant on the blockchain, or the data provider may distribute the sub-data blocks to a portion of the online computing participants on the blockchain.

[0052] After the computing participant obtains the target data block sent by one or more data providers, the computing participant can perform a first processing on the target sub-data block according to the request type corresponding to the data processing request to obtain a first processing result. For example, in this embodiment, the computing participant first obtains at least one first processing operator, and the type of these first processing operators is related to the request type corresponding to the data processing request. For example, for the data processing request for calculating the average salary, the corresponding first processing operator is a processing operator for addition calculation; then, the first processing operator is used to perform a first processing on the obtained target sub-data block to obtain a first processing result, for example, the target sub-data blocks obtained by the computing participant are summed using the processing operator for addition calculation to obtain the first processing result.

[0053] It should be noted that, when there is only one target sub-data block, the computing participant uses a sum calculation algorithm to add 0 to the target sub-data block to obtain a first processing result.

[0054] In a specific implementation, a computing participant can upload a first processing result to the blockchain through a communication interface between the computing participant and the blockchain. Based on this, other computing participants on the blockchain can obtain the first processing result. Correspondingly, the computing participants in this embodiment can also obtain other processing results uploaded to the blockchain by other computing participants.

[0055] Based on this, the computing participants can read other processing results uploaded by other computing participants through the communication interface between the computing participants and the blockchain, and the other processing results uploaded by other computing participants here refer to: the processing results obtained by other computing participants performing the first processing on the sub-data blocks distributed by the data providers received by each of them, such as Figure 4 As shown in , therefore, all computing participants on the blockchain who participate in the data calculation corresponding to the data processing request will upload the first processing results obtained by their own first processing to the blockchain, and can also read the first processing results obtained by other computing participants on the blockchain who perform the first processing.

[0056] The second processing result obtained by the computing participant performing the second processing on the first processing result and other processing results is the processing result for the data processing request, such as the average monthly salary of user A and user B. Specifically, in this embodiment, the processing result of the first processing by each computing participant can be subjected to the second processing according to the request type corresponding to the data processing request to obtain the second processing result.

[0057] For example, in this embodiment, the computing participants first obtain at least one second processing operator, the types of which are related to the request types corresponding to the data processing requests, and the second processing operators are associated with the first processing operators. For example, for the data processing request for calculating the average salary and the first processing operator for the sum calculation, the corresponding second processing operator is a summing and averaging processing operator; then, the second processing operator is used to perform a second processing on the first processing result obtained by the first processing and other processing results uploaded to the blockchain by other computing participants, thereby obtaining a second processing result. For example, the first processing result and other processing results are added and averaged using the summing and averaging processing operator to obtain the second processing result.

[0058] In addition, when the computing participant uploads the first processing result to the blockchain, the first processing result is first encrypted according to the preset encryption rules, such as using the public key for encryption, and then the encrypted first processing result is uploaded to the blockchain; and when the computing participant obtains other processing results uploaded by other computing participants on the blockchain, the computing participant can first decrypt the other processing results uploaded by other computing participants on the blockchain according to the preset decryption rules, such as using the private key for decryption, to obtain the decrypted other processing results.

[0059] After obtaining at least one target sub-data block transmitted by at least one data provider, the computing participant can also store the obtained target sub-data block in the private storage area corresponding to the computing participant. The private storage area of ​​the computing participant only grants its access rights to the computing participant corresponding to the private storage area. Other participating nodes on the blockchain do not have the right to access the private storage area of ​​the computing participant.

[0060] Furthermore, the computing participant may also obtain an intermediate processing result generated during the first processing of the target sub-data block, and store the intermediate processing result in a private storage area of ​​the computing participant.

[0061] It can be seen from the above technical scheme that in a blockchain-based data processing method provided in Example 1 of the present application, after obtaining a data processing request, the data provider on the blockchain splits the target data block corresponding to the data processing request to obtain multiple sub-data blocks, and then transmits the sub-data blocks to the computing participants on the blockchain respectively. After obtaining at least one target sub-data block, the computing participant performs a first processing on these target sub-data blocks, and then uploads the first processing result to the blockchain after obtaining the first processing result, and obtains other processing results uploaded by other computing participants on the blockchain. As a result, the computing participant can perform a second processing on the first processing result and other processing results uploaded by other computing methods on the blockchain to obtain a second processing result. It can be seen that in this embodiment, the data provider on the blockchain splits the target data block corresponding to the data processing request, and then distributes it to each computing participant on the blockchain, and each computing participant performs a first processing on the part of the sub-data block split by the data provider off-chain, and then performs a second processing on the processing results uploaded to the blockchain by other computing participants on the chain. Therefore, any computing participant can only obtain part of the data of the data provider, but will not obtain all the original data of a certain data provider. The data when the computing participant on the chain performs the second processing is the result obtained by the other computing participants performing the first processing off-chain. Therefore, any computing participant cannot restore the corresponding original data based on the processing results of other computing participants. Therefore, in this embodiment, when data processing is performed by the computing participants on the blockchain, each computing participant will not obtain the privacy data provided by the data provider, thereby improving the security of the data.

[0062] In one implementation, the splitting process of the target data block in step 102 can be implemented in the following manner:

[0063] According to the splitting rule, the target data block is split and processed to obtain multiple sub-data blocks. The splitting rule here can be determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain or a device on a non-blockchain.

[0064] In a specific implementation, the splitting rule may be: split the target data block at least according to the number of computing participants on the blockchain and the random number, so that the size of the sub-data block obtained by the scoring block is related to the random number. For example, the data provider splits the target data block according to the number of computing participants, and the number of the split sub-data blocks may be greater than the number of computing participants or less than the number of computing participants, or may be equal to the number of computing participants, and the sizes of the split sub-data blocks may be the same or different, that is, the data provider splits the target data block in unequal amounts according to the random number, and the sizes of the split sub-data blocks are related to the random number.

[0065] In one implementation, the data provider may perform numerical splitting on the target data block of numerical type, for example, splitting the value 1000 into 900 and 100, and the sum of the split sub-data blocks is the total data value;

[0066] In another implementation, the data provider may perform packet splitting on the target data block of the data packet type, for example, splitting the first 900 of 1000 data packets into one sub-data block, and splitting the last 100 into one data block.

[0067] For example, there are three online computing participants on the blockchain. Based on this, the data provider can split its target data block, such as the monthly salary, into three sub-data blocks, and the size of each sub-data block, such as the partial salary value, is exactly the same. For example, a salary of 1200 is split into three 400s.

[0068] Alternatively, there are three online computing participants on the blockchain. Based on this, the data provider can split its target data block, such as the monthly salary, into two sub-data blocks, and the size of each sub-data block, such as part of the salary value, corresponds to the random number. For example, a salary of 1200 is split into 700 and 500;

[0069] Alternatively, there are three online computing participants on the blockchain. Based on this, the data provider can split its target data block, such as the monthly salary, into four sub-data blocks, and the size of each sub-data block, such as part of the salary value, corresponds to a random number. For example, a salary of 1200 is split into 600, 300, 200 and 100;

[0070] etc.

[0071] In one implementation, when transmitting the sub-data blocks to the computing participants on the blockchain in step 103, it can be implemented in the following manner:

[0072] According to the distribution rules, the sub-data blocks are transmitted to the computing participants on the blockchain respectively, and the distribution rules are determined by the requester corresponding to the data processing request.

[0073] In a specific implementation, the distribution rule may be: distribution is performed at least according to computing participants who are online on the blockchain, and the target sub-data blocks belonging to the same data provider obtained by the same computing participant constitute part of the target data block held by the data provider.

[0074] That is to say, after the data provider broadcasts all its sub-data blocks, a computing participant that obtains the data provider may only obtain one sub-data block of the data provider, or may obtain multiple sub-data blocks of the data provider, but will not obtain all sub-data blocks belonging to the same data provider. Therefore, the computing participant that obtains the target sub-data block will not be able to piece together the original target data block of the data provider based on the obtained target sub-data block.

[0075] It should be noted that after the sub-data block of the data provider is broadcast, there may be a computing participant that does not obtain the sub-data block of the data provider, but the computing participant will obtain the sub-data block broadcasted by other data providers. In other words, the sub-data block of the data provider may be distributed to every computing participant that is online on the blockchain, or it may be distributed only to some of the computing participants that are online on the blockchain.

[0076] For example, there are three online computing participants on the blockchain. Based on this, the data provider can split its target data block, such as the monthly salary, into three sub-data blocks, and the size of each sub-data block, such as the partial salary value, is exactly the same. After that, the three sub-data blocks are distributed to the three computing participants on the blockchain respectively, and each computing participant obtains a target sub-data block. For example, a salary of 1200 is split into three 400s, and each computing participant obtains a 400 accordingly.

[0077] Alternatively, there are three online computing participants on the blockchain. Based on this, the data provider can split its target data block, such as the monthly salary, into two sub-data blocks, and the size of each sub-data block, such as part of the salary value, corresponds to the random number. After that, the two data blocks are broadcast and distributed to two of the three computing participants on the blockchain. For example, the salary of 1200 is split into 700 and 500. One computing participant gets 700, the other computing participant gets 500, and the third computing participant does not get the sub-data block of the data provider.

[0078] Alternatively, there are three computing participants online on the blockchain. Based on this, the data provider can split its target data block, such as the monthly salary, into four sub-data blocks, and the size of each sub-data block, such as part of the salary value, corresponds to a random number. After that, the four data blocks are broadcast and distributed to the three computing participants on the blockchain. For example, the salary of 1200 is split into 600, 300, 200 and 100. One computing participant gets 600, another computing participant gets 300, the third computing participant gets 200, and the last computing participant gets 100.

[0079] It should be specially noted that the target sub-data blocks obtained by the computing participants and belonging to the same data provider are part of the target data block held by the data provider, which means that the number of target sub-data blocks obtained by the computing participants is less than the number of sub-data blocks split from the target data block by the data provider. Therefore, no matter what the result of splicing the target sub-data blocks obtained by the computing participants is, on the computing participant side, at least one sub-data block is missing to splice into the complete target data block of the data provider. Since the computing participant cannot obtain the specific data content of the missing sub-data block, the computing participant side cannot restore the complete target data block of the data provider.

[0080] For example, the data provider divides the salary of 1000 into three sub-data blocks: 600, 400 and 0. When the three sub-data blocks are distributed to two computing participants on the blockchain, the first computing participant obtains 600 and 400, and the other computing participant obtains 0. Therefore, from the perspective of the first computing participant, although it obtains 600 and 400, it is unable to know the third sub-data block, and therefore cannot restore the data provider's salary of 1000. Similarly, on the second computing participant's side, since it is unable to know the other two sub-data blocks, it is also unable to restore the data provider's salary of 1000.

[0081] Optionally, in order to achieve the immutability and reliability of data processing, the proportion of online computing participants on the blockchain among all computing participants on the blockchain is greater than a preset ratio threshold, such as more than one-third. In other words, the proportion of computing participants participating in the data computing corresponding to the data processing request among all computing participants on the blockchain exceeds the threshold.

[0082] In one implementation, after step 102, the following steps may also be included: Figure 5 As shown in:

[0083] Step 104: Store the sub-data block into the private storage area corresponding to the data provider.

[0084] The private storage area only grants its access rights to the data provider corresponding to the private storage area. The private storage area here only grants its access rights to the data provider corresponding to the private storage area, and other nodes on the blockchain do not have access rights to the private storage area corresponding to the data provider, thereby ensuring the security of the data provider's data.

[0085] refer to Figure 6 , is a schematic diagram of the structure of a data processing device based on blockchain provided in Embodiment 2 of the present application. The device can be configured on a data provider on the blockchain, such as Figure 2 The technical solution in this embodiment is mainly used to improve the data security when processing data on the blockchain.

[0086] Specifically, the device in this embodiment may include the following units:

[0087] The data block splitting unit 601 is used to split the target data block to obtain multiple sub-data blocks when a data processing request is obtained, and the target data block is the data block corresponding to the data processing request;

[0088] The data block distribution unit 602 is used to transmit the sub-data blocks to the computing participants on the blockchain respectively, so that the computing participants upload the first processing results obtained after performing the first processing according to the obtained target sub-data to the blockchain, and enable the computing participants on the blockchain to perform the second processing on the first processing result and other processing results uploaded by other computing participants to obtain the second processing result.

[0089] It can be seen from the above technical scheme that in a blockchain-based data processing device provided in Example 2 of the present application, after obtaining a data processing request, the data provider on the blockchain splits the target data block corresponding to the data processing request to obtain multiple sub-data blocks, and then transmits the sub-data blocks to the computing participants on the blockchain respectively. After obtaining at least one target sub-data block, the computing participant performs a first processing on these target sub-data blocks, and then uploads the first processing result to the blockchain after obtaining the first processing result, and obtains other processing results uploaded by other computing participants on the blockchain. As a result, the computing participant can perform a second processing on the first processing result and other processing results uploaded by other computing methods on the blockchain to obtain a second processing result. It can be seen that in this embodiment, the data provider on the blockchain splits the target data block corresponding to the data processing request, and then distributes it to each computing participant on the blockchain, and each computing participant performs a first processing on the part of the sub-data block split by the data provider off-chain, and then performs a second processing on the processing results uploaded to the blockchain by other computing participants on the chain. Therefore, any computing participant can only obtain part of the data of the data provider, but will not obtain all the original data of a certain data provider. The data when the computing participant on the chain performs the second processing is the result obtained by the other computing participants performing the first processing off-chain. Therefore, any computing participant cannot restore the corresponding original data based on the processing results of other computing participants. Therefore, in this embodiment, when data processing is performed by the computing participants on the blockchain, each computing participant will not obtain the privacy data provided by the data provider, thereby improving the security of the data.

[0090] In one implementation, the data block splitting unit 601 is specifically used to: split the target data block according to a splitting rule to obtain multiple sub-data blocks; wherein the splitting rule is determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain.

[0091] Optionally, the splitting rule includes at least: splitting the target data block at least according to the number of computing participants on the blockchain and a random number, so that the size of the sub-data block obtained by the scoring block is related to the random number.

[0092] In one implementation, the data block distribution unit 602 is specifically used to: transmit the sub-data blocks to the computing participants on the blockchain respectively according to the distribution rules; wherein the distribution rules are determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain.

[0093] Optionally, the distribution rules include at least: distribution based at least on computing participants that are online on the blockchain; wherein, target sub-data blocks belonging to the same data provider obtained by the same computing participant constitute part of the target data block held by the data provider.

[0094] In addition, the proportion of computing participants in an online state on the blockchain among all computing participants on the blockchain is greater than a preset proportion threshold.

[0095] In one implementation, the data block splitting unit 601 is further used to: store the sub-data block in a private storage area corresponding to the data provider, and the private storage area only grants its access rights to the data provider corresponding to the private storage area.

[0096] It should be noted that the specific implementation of each unit in this embodiment can refer to the corresponding content in the previous text and will not be described in detail here.

[0097] refer to Figure 7 , is a schematic diagram of the structure of an electronic device provided in Embodiment 3 of the present application, and the electronic device may be a data provider on the blockchain, such as Figure 2 The technical solution in this embodiment is mainly used to improve the data security when processing data on the blockchain.

[0098] Specifically, the electronic device in this embodiment may include the following structure:

[0099] The memory 701 is used to store the application and the data generated by the running of the application;

[0100] The processor 702 is configured to execute the application program to implement:

[0101] In the case of obtaining a data processing request, splitting a target data block to obtain a plurality of sub-data blocks, wherein the target data block is a data block corresponding to the data processing request;

[0102] The sub-data blocks are transmitted to the computing participants on the blockchain respectively, so that the computing participants upload the first processing results obtained to the blockchain after performing the first processing according to the obtained target sub-data, and the computing participants on the blockchain perform the second processing on the first processing result and other processing results uploaded by other computing participants to obtain the second processing result.

[0103] It can be seen from the above technical scheme that in an electronic device provided in Example 3 of the present application, after obtaining a data processing request, the data provider on the blockchain splits the target data block corresponding to the data processing request to obtain multiple sub-data blocks, and then transmits the sub-data blocks to the computing participants on the blockchain respectively. After obtaining at least one target sub-data block, the computing participant performs a first processing on these target sub-data blocks, and then uploads the first processing result to the blockchain after obtaining the first processing result, and obtains other processing results uploaded by other computing participants on the blockchain. Thus, the computing participant can perform a second processing on the first processing result and other processing results uploaded by other computing methods on the blockchain to obtain a second processing result. It can be seen that in this embodiment, the data provider on the blockchain splits the target data block corresponding to the data processing request, and then distributes it to each computing participant on the blockchain, and each computing participant performs a first processing on the part of the sub-data block split by the data provider off-chain, and then performs a second processing on the processing results uploaded to the blockchain by other computing participants on the chain. Therefore, any computing participant can only obtain part of the data of the data provider, but will not obtain all the original data of a certain data provider. The data when the computing participant on the chain performs the second processing is the result obtained by the other computing participants performing the first processing off-chain. Therefore, any computing participant cannot restore the corresponding original data based on the processing results of other computing participants. Therefore, in this embodiment, when data processing is performed by the computing participants on the blockchain, each computing participant will not obtain the privacy data provided by the data provider, thereby improving the security of the data.

[0104] It should be noted that the specific implementation of the processor in this embodiment can refer to the corresponding content in the previous text and will not be described in detail here.

[0105] based on Figure 2 As shown, the blockchain implemented in the fourth embodiment of the present application includes at least two computing participants and at least one data provider. The computing participants and data providing methods here are for the functions implemented in the data calculations performed on data processing requests. The computing participants can also serve as data providers, and the data providers can also serve as computing participants.

[0106] Among them, the data provider is used to:

[0107] In the case of obtaining a data processing request, splitting a target data block to obtain a plurality of sub-data blocks, wherein the target data block is a data block corresponding to the data processing request;

[0108] The sub-data blocks are transmitted to the computing participants on the blockchain respectively, so that the computing participants upload the first processing results obtained to the blockchain after performing the first processing according to the obtained target sub-data, and the computing participants on the blockchain perform the second processing on the first processing result and other processing results uploaded by other computing participants to obtain the second processing result.

[0109] Based on the above implementation scheme, taking the data processing request for project recommendation as an example, the technical scheme of this application is illustrated as follows:

[0110] like Figure 8 As shown in the figure, Alice, as the transaction initiator (requester), specifies the distribution policy (collection policy), and as the data provider, splits her own data block to obtain two data fragments: CP (A1, X1) and CP (A2, X2), and then distributes the data fragments to the Delear in peer1 and peer2 on the blockchain according to the distribution policy; at the same time, Alice sends the distribution policy to Delear and another data provider Bob, and Bob responds to the distribution policy, splits his own data block to obtain two data fragments B1 and B2, and then distributes the data fragments to peer1 and peer2 on the blockchain according to the distribution policy. Based on this, the Delear in peer1 and peer2 first performs private calculations on the collected data fragments off-chain, and then performs hash calculations on the calculation results to realize encrypted chain storage. After that, each calculation participant on the blockchain decrypts the calculation results on the chain and then performs public calculations to obtain the final calculation results.

[0111] Alternatively, the Delear among the computing participants specifies the distribution strategy as the transaction initiator, and sends the distribution strategy to the corresponding data providers Alice and Bob. Alice and Bob respond to the distribution strategy respectively, split their own data blocks, and obtain two data shards: CP (A1, X1) and CP (A2, X2) and B1 and B2 respectively. Then, the data shards are distributed to the Delear among the computing participants peer1 and peer2 on the blockchain according to the distribution strategy. Based on this, the Delear among peer1 and peer2 first performs private calculations on the collected data shards off-chain, and then performs hash calculations on the calculation results to realize encrypted chain storage. After that, each computing participant on the blockchain decrypts the calculation results on the chain and then performs public calculations to obtain the final calculation results.

[0112] It should be noted that each computing participant will also store the collected data shards in its own private storage area to ensure data security.

[0113] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0114] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0115] 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.

[0116] 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 processing method based on blockchain, applied to a data provider on the blockchain, the method comprising: In the case of obtaining a data processing request, splitting a target data block to obtain a plurality of sub-data blocks, wherein the target data block is a data block corresponding to the data processing request; The sub-data blocks are transmitted to computing participants on the blockchain respectively, so that the computing participants upload the obtained first processing results to the blockchain after performing the first processing according to the obtained target sub-data, and the computing participants perform the second processing on the first processing results and other processing results uploaded by other computing participants on the blockchain to obtain the second processing results; The target data block is split to obtain a plurality of sub-data blocks, including: According to the splitting rule, the target data block is split to obtain multiple sub-data blocks; wherein the splitting rule is determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain; The splitting rule at least includes: splitting the target data block at least according to the number of computing participants on the blockchain and the random number, so that the size of the sub-data block obtained by the scoring block is related to the random number; The step of transmitting the sub-data blocks to computing participants on the blockchain includes: According to the distribution rule, the sub-data blocks are respectively transmitted to the computing participants on the blockchain; wherein the distribution rule is determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain; The distribution rules include at least: distribution based on at least the computing participants that are online on the blockchain; Among them, the target sub-data blocks belonging to the same data provider obtained by the same computing participant constitute part of the target data block held by the data provider; the proportion of computing participants in an online state on the blockchain among all computing participants on the blockchain is greater than a preset proportion threshold.

2. The method according to claim 1, further comprising: The sub-data block is stored in a private storage area corresponding to the data provider, and the private storage area only grants its access rights to the data provider corresponding to the private storage area.

3. A data processing device based on blockchain, applied to a data provider on the blockchain, the device comprising: A data block splitting unit is used to split a target data block to obtain a plurality of sub-data blocks when a data processing request is obtained, wherein the target data block is a data block corresponding to the data processing request; A data block distribution unit, configured to transmit the sub-data blocks to computing participants on the blockchain respectively, so that the computing participants upload the obtained first processing results to the blockchain after performing the first processing according to the obtained target sub-data, and the computing participants perform the second processing on the first processing results and other processing results uploaded by other computing participants on the blockchain to obtain the second processing results; The data block splitting unit is used to split the target data block to obtain multiple sub-data blocks, specifically including: splitting the target data block according to the splitting rule to obtain multiple sub-data blocks; wherein the splitting rule is determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain; wherein the splitting rule at least includes: splitting the target data block at least according to the number of computing participants on the blockchain and a random number, so that the size of the sub-data block obtained by the scoring block is related to the random number; The step of transmitting the sub-data blocks to computing participants on the blockchain includes: According to the distribution rule, the sub-data blocks are respectively transmitted to the computing participants on the blockchain; wherein the distribution rule is determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain; The distribution rules include at least: distribution based on at least the computing participants that are online on the blockchain; Among them, the target sub-data blocks belonging to the same data provider obtained by the same computing participant constitute part of the target data block held by the data provider; the proportion of computing participants in an online state on the blockchain among all computing participants on the blockchain is greater than a preset proportion threshold.

4. An electronic device, the electronic device being a data provider on a blockchain, the electronic device comprising: A memory, used to store applications and data generated by the operation of the applications; A processor, configured to execute the application program to implement: In the case of obtaining a data processing request, splitting a target data block to obtain a plurality of sub-data blocks, wherein the target data block is a data block corresponding to the data processing request; The sub-data blocks are transmitted to computing participants on the blockchain respectively, so that the computing participants upload the obtained first processing results to the blockchain after performing the first processing according to the obtained target sub-data, and the computing participants perform the second processing on the first processing results and other processing results uploaded by other computing participants on the blockchain to obtain the second processing results; The target data block is split to obtain a plurality of sub-data blocks, including: According to the splitting rule, the target data block is split to obtain a plurality of sub-data blocks; wherein the splitting rule is determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain; wherein the splitting rule at least includes: splitting the target data block according to at least the number of computing participants on the blockchain and a random number, so that the size of the sub-data block obtained by the scoring block is related to the random number; The step of transmitting the sub-data blocks to computing participants on the blockchain includes: According to the distribution rule, the sub-data blocks are respectively transmitted to the computing participants on the blockchain; wherein the distribution rule is determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain; The distribution rules include at least: distribution based on at least the computing participants that are online on the blockchain; Among them, the target sub-data blocks belonging to the same data provider obtained by the same computing participant constitute part of the target data block held by the data provider; the proportion of computing participants in an online state on the blockchain among all computing participants on the blockchain is greater than a preset proportion threshold.

5. A data processing method based on blockchain, comprising: At least two computing participants and at least one data provider; The data provider is used to: In the case of obtaining a data processing request, splitting a target data block to obtain a plurality of sub-data blocks, wherein the target data block is a data block corresponding to the data processing request; The sub-data blocks are transmitted to computing participants on the blockchain respectively, so that the computing participants upload the obtained first processing results to the blockchain after performing the first processing according to the obtained target sub-data, and the computing participants perform the second processing on the first processing results and other processing results uploaded by other computing participants on the blockchain to obtain the second processing results; The data provider is used to split the target data block to obtain multiple sub-data blocks, specifically including: According to the splitting rule, the target data block is split to obtain a plurality of sub-data blocks; wherein the splitting rule is determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain; wherein the splitting rule at least includes: splitting the target data block according to at least the number of computing participants on the blockchain and a random number, so that the size of the sub-data block obtained by the scoring block is related to the random number; The step of transmitting the sub-data blocks to computing participants on the blockchain includes: According to the distribution rule, the sub-data blocks are respectively transmitted to the computing participants on the blockchain; wherein the distribution rule is determined by the requester corresponding to the data processing request, and the requester is a node on the blockchain; The distribution rules include at least: distribution based on at least the computing participants that are online on the blockchain; The target sub-data blocks obtained by the same computing participant and belonging to the same data provider constitute part of the target data block held by the data provider; the proportion of computing participants in an online state on the blockchain to all computing participants on the blockchain is greater than a preset proportion threshold; The computing participants perform private off-chain computing on the collected data shards, and then perform hash calculations on the computing results for encrypted on-chain storage. Afterwards, each computing participant on the blockchain decrypts the on-chain computing results and performs public computing to obtain the final computing results.

Citation Information

Patent Citations

  • Method, device and storage medium for data processing in block chain

    CN109086140A