Blockchain-based data collaboration method and device, equipment and storage medium
Patent Information
- Application Number
- CN202210976886.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-15
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2042-08-15
AI Technical Summary
In data collaboration scenarios, the problem of easy leakage of raw data from data providers has not yet been effectively solved.
A blockchain-based data collaboration approach is adopted, which uses a two-layer network system consisting of a computing network and a blockchain network. The computing task is published to the blockchain network by the target data user, and the target data provider executes the computing sub-task through the connected computing nodes and generates the computing results. The results are verified and delivered through the blockchain network to ensure the security of the original data of the data provider.
It ensures the security of the original data provided by the data provider, guarantees the authenticity and reliability of the calculation results, and realizes the credibility and traceability of the data collaboration process.
Smart Images

Figure CN117633904B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing technology, and specifically to a data collaboration method, apparatus, device, and storage medium based on blockchain. Background Technology
[0002] With the development of digitalization, many data collaboration scenarios have emerged that involve the collaborative use of data.
[0003] In data collaboration scenarios, there are generally two roles: data provider and data user, and multiple entities can participate in the same role simultaneously. The data provider possesses the original data and aims to monetize it without disclosing the original data; the data user has the ability to process and compute the data, thereby providing value-added services, and is more concerned with the accuracy and reliability of the computational results.
[0004] In related technologies, there is currently no suitable solution to the problem of easy leakage of raw data provided by data providers in data collaboration scenarios. Summary of the Invention
[0005] This application provides a data collaboration method, apparatus, device, and storage medium based on blockchain, and the technical solution is as follows.
[0006] On the one hand, a blockchain-based data collaboration method is provided, which is executed by a computing network in a data collaboration system, the data collaboration system further including a blockchain network, and the computing network including multiple computing nodes;
[0007] The method includes:
[0008] The first computing node publishes the computing task to the blockchain network, and the computing task is constructed by the target data user who accesses the first computing node;
[0009] The second computing node pulls the target computing subtask from the computing task published in the blockchain network, accesses the data from the target data provider connected to the second computing node to execute the target computing subtask, and generates the target computing result corresponding to the target computing subtask;
[0010] The second computing node uploads the computation result proof corresponding to the target computation result to the blockchain network and delivers the target computation result to the first computing node. The computation result proof is proof data generated based on the target computation result.
[0011] The first computing node uses the computing result proof in the blockchain network to perform on-chain verification of the target computing result. After the verification is passed, the target computing result is sent to the target data user.
[0012] On another front, a blockchain-based data collaboration device is provided, which is executed by a computing network in a data collaboration system, the data collaboration system further including a blockchain network, and the computing network including multiple computing nodes;
[0013] The device includes:
[0014] The computing task publishing module is used to enable the first computing node to publish computing tasks to the blockchain network. The computing tasks are constructed by the target data users who are connected to the first computing node.
[0015] The computing task execution module is used to allow the second computing node to pull the target computing sub-tasks from the computing tasks published in the blockchain network, access the data in the target data provider connected to the second computing node to execute the target computing sub-tasks, and generate the target computing results corresponding to the target computing sub-tasks;
[0016] The calculation result delivery module is used to enable the second computing node to upload the calculation result proof corresponding to the target calculation result to the blockchain network, and to deliver the target calculation result to the first computing node, wherein the calculation result proof is proof data generated based on the target calculation result;
[0017] The calculation result verification module is used to enable the first computing node to use the calculation result proof in the blockchain network to perform on-chain verification of the target calculation result. After the verification is passed, the target calculation result is sent to the target data user.
[0018] In one possible implementation, the computation task execution module is further configured to:
[0019] The third computing node pulls the computing task from the blockchain network and breaks the computing task into multiple computing subtasks;
[0020] For the target computational subtask among the plurality of computational subtasks, the third computational node performs route matching on the target computational subtask and deploys the target computational subtask to the second computational node.
[0021] At this point, the computing task is received through the third computing node, the computing task is split into multiple computing subtasks, and the computing subtasks are routed and matched so that each computing subtask can be efficiently deployed to the computing node where the corresponding computing task is executed.
[0022] In one possible implementation, the blockchain network publishes data directories corresponding to each computing node, and the data directory corresponding to each computing node is defined by the data provider accessing the computing node. The computing task is constructed by the target data user based on the data directory published in the blockchain network.
[0023] The computation task execution module is further configured to:
[0024] The third computing node queries the data directory published by each computing node to the blockchain network to determine the computing node that matches the target computing subtask;
[0025] In response to the target computing subtask being matched with the second computing node, the third computing node deploys the target computing subtask to the second computing node.
[0026] At this point, routing matching is performed through the data directory, ensuring that the computing nodes to which the computing subtasks are deployed are connected to data providers that have the data required by the computing subtasks, thereby guaranteeing the accuracy of the computing subtask deployment.
[0027] In one possible implementation, the computation task execution module is further configured to:
[0028] The third computing node monitors the computing tasks of the blockchain network;
[0029] In response to detecting a computing task whose task receiving node is the third computing node, the third computing node pulls the computing task from the blockchain network.
[0030] At this point, computing nodes within the computing network pull their own computing tasks from the blockchain network through task listening, enabling the computing tasks to be processed quickly.
[0031] In one possible implementation, the task receiving node corresponding to the computing task is specified at the time of publication;
[0032] or,
[0033] The task receiving node corresponding to the computing task is automatically selected by the blockchain network according to agreed rules.
[0034] At this point, the task receiving node corresponding to the computation task can be specified in different ways, making the selection of the task receiving node more flexible.
[0035] In one possible implementation, the blockchain network publishes model algorithms corresponding to each computing node. The model algorithm corresponding to each computing node is developed by the data user accessing the computing node according to the data catalog published in the blockchain network. The computing task is constructed by the target data user based on the model algorithm published in the blockchain network.
[0036] The computation task execution module is further configured to:
[0037] The second computing node pulls the target model algorithm corresponding to the target computing subtask from the blockchain network;
[0038] The second computing node uses the target model algorithm to generate the target computing result corresponding to the target computing subtask.
[0039] At this point, the computing node executing the computational subtask acquires the model algorithm corresponding to the computational subtask published in the blockchain network, thus enabling the computing node to execute the computational subtask.
[0040] In one possible implementation, the computing task specifies a result receiving node when it is published, and the result receiving node includes a fourth computing node in addition to the first computing node.
[0041] The calculation result delivery module is also used to enable the second computing node to deliver the target calculation result to the fourth computing node;
[0042] The calculation result verification module is also used to enable the fourth computing node to use the calculation result proof in the blockchain network to perform on-chain verification of the target calculation result. After the verification is passed, the target calculation result is sent to other data users connected to the fourth computing node.
[0043] At this point, the generated target computation results can be sent not only to the computation node that issued the computation task, but also to other computation nodes, so that the target computation results can be effectively utilized.
[0044] In one possible implementation, the device further includes:
[0045] A network deployment module is used to build the blockchain network and deploy smart contracts within it. The smart contracts include: a computing node contract endorsing computing nodes registered in the blockchain network; a data directory contract endorsing data directories published in the blockchain network; a model algorithm contract endorsing model algorithms published in the blockchain network; and a computing task contract endorsing computing tasks published in the blockchain network. The module also builds the computing network, where computing nodes are registered in the blockchain network. Each computing node includes modules such as: an application support service module providing functionality to access objects; a data computing service module for processing computing tasks; a contract service module providing interaction with the smart contracts of the blockchain network; and a data exchange service module for data transmission between computing nodes.
[0046] At this point, by building a blockchain network and a computing network, a data collaboration system can be deployed to ensure the execution of data collaboration methods within the system.
[0047] In another aspect, a computer-readable storage medium is provided, wherein at least one instruction is stored therein, the at least one instruction being loaded and executed by a processor to implement the above-described blockchain-based data collaboration method.
[0048] In another aspect, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the aforementioned blockchain-based data collaboration method.
[0049] The technical solution provided in this application may include the following beneficial effects:
[0050] A two-layer data collaboration system consisting of a computing network and a blockchain network was deployed, where the computing network includes multiple computing nodes. During data collaboration, the target data user publishes a computing task to the blockchain through its connected first computing node. Subsequently, the target data provider executes the target sub-task of the acquired computing task through its connected second computing node and generates the target computing result. After receiving the target computing result from the second computing node, the first computing node performs on-chain verification of the target computing result and feeds back the verified target computing result to the target data user.
[0051] Based on the above technical solution, after the data user creates a computing task, the computing subtasks in the computing task are deployed to the computing node connected to the data provider through the blockchain network. The computing node accesses the original data in the data provider and executes the computing task locally without exposing the original data to the outside world, thus ensuring the security of the original data of the data provider. Attached Figure Description
[0052] To more clearly illustrate the technical solutions in the specific embodiments of this application or the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0053] Figure 1 This is a schematic diagram of the structure of a data collaboration system according to an exemplary embodiment.
[0054] Figure 2 This is a flowchart illustrating a blockchain-based data collaboration method according to an exemplary embodiment.
[0055] Figure 3 This is a flowchart illustrating a blockchain-based data collaboration method according to an exemplary embodiment.
[0056] Figure 4 This is a schematic diagram illustrating a blockchain network and a computing network according to an exemplary embodiment.
[0057] Figure 5 This is a schematic diagram illustrating the lifecycle of a data collaboration system according to an exemplary embodiment.
[0058] Figure 6 This is a flowchart illustrating the specific process of the execution phase of a data collaboration system according to an exemplary embodiment.
[0059] Figure 7 This is a structural block diagram illustrating a blockchain-based data collaboration device according to an exemplary embodiment.
[0060] Figure 8 This is a schematic diagram of a computer device provided according to an exemplary embodiment. Detailed Implementation
[0061] The technical solutions of this application will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0062] It should be understood that the term "instruction" mentioned in the embodiments of this application can be a direct instruction, an indirect instruction, or an indication of a relationship. For example, A instructing B can mean that A directly instructs B, such as B being able to obtain information through A; it can also mean that A indirectly instructs B, such as A instructing C, so B can obtain information through C; or it can mean that there is a relationship between A and B.
[0063] In the description of the embodiments of this application, the term "correspondence" may indicate that there is a direct or indirect correspondence between two things, or that there is an association between two things, or that there is a relationship of instruction and being instructed, configuration and being configured, etc.
[0064] In the embodiments of this application, "predefined" can be achieved by pre-storing corresponding codes, tables or other means that can be used to indicate relevant information in the device (e.g., including terminal devices and network devices). This application does not limit the specific implementation method.
[0065] In the information society, the digital wave has swept across all industries. As the digital process deepens, many digital achievements will inevitably be generated, resulting in a large amount of data. Consequently, many data collaboration scenarios will emerge, such as: financial credit investigation requires multi-dimensional data verification to improve risk control capabilities; cross-domain and cross-departmental data sharing in organizational structures; and collaborative consultations and cross-hospital visits between medical institutions.
[0066] Currently, common solutions for implementing data collaboration scenarios include:
[0067] Option 1: The data provider provides data through an interface, and the data user calls the interface to obtain the data it needs after being authorized by the data provider.
[0068] In this scheme, all parties collaborate on data utilization through interfaces, and data providers can control the scope of data access and usage by data users through management and auditing measures. However, from the perspective of data providers, the original data is still provided to data users, posing a risk of data leakage and costless secondary dissemination and utilization. From the perspective of data users, if data from multiple parties is required, it is necessary to interface with the systems of multiple data providers, resulting in a large development workload, difficulty in scaling up applications with large-scale data, and high costs.
[0069] Option 2: Share and utilize data through a "shared data pool," which can be implemented through a public collaborative platform or blockchain.
[0070] In this approach, the "shared data pool" means that each participant has complete data, which poses a risk of data leakage. This approach is only suitable for data collaboration scenarios where data can be fully disclosed or partially disclosed.
[0071] Option 3: The data provider publishes the data catalog to the blockchain and uses the blockchain for data access control (management of processes such as application and authorization). The data is encrypted off-chain and then transmitted to the data user, thus completing data sharing and collaboration among all parties.
[0072] In this scheme, data access control and encryption are performed through blockchain, which can control and trace the data access and collaboration process and ensure the confidentiality of the transmission process. However, the original data will still be exposed to the data user, and the data user's data will still not be able to be monitored afterward, and the risk of data leakage cannot be avoided.
[0073] Analysis of current data collaboration implementation schemes reveals a pressing issue: the vulnerability of raw data provided by data providers to leakage. Therefore, this application provides a blockchain-based data collaboration method. The technical solution provided in this application will be further illustrated below with reference to several embodiments.
[0074] Figure 1 This is a schematic diagram illustrating the structure of a data collaboration system according to an exemplary embodiment. The data collaboration system consists of a two-layer network, including a blockchain network and a computing network.
[0075] The blockchain network consists of different blockchain nodes. It serves as the trusted foundation for the data collaboration system, responsible for endorsing the identities of objects within the system. These objects can include computing nodes, data directories, model algorithms, and computing tasks. The blockchain network is also responsible for tracing and storing evidence of the entire data collaboration process, ensuring its trustworthiness and making the computational results obtained from the data collaboration process traceable and verifiable.
[0076] The computing network consists of different computing nodes responsible for parsing, splitting, routing, deploying, executing, and delivering results of computing tasks. Both data providers and data users access this data collaboration system through computing nodes: data providers authorize access permissions for their data to the computing nodes they connect to, and data users connect their data applications to these computing nodes, enabling them to provide and use data within the data collaboration system, thereby completing data collaboration.
[0077] In this data collaboration system, computing nodes in the computing network can be deployed and registered to the blockchain network by the participants themselves, or by a trusted third party. The registration process will bind the computing node identity credentials issued by the blockchain network.
[0078] Figure 2 This is a flowchart illustrating a blockchain-based data collaboration method according to an exemplary embodiment. The method is executed by a computing network within the data collaboration system. Figure 2 As shown, this blockchain-based data collaboration method may include the following steps:
[0079] Step 201: The first computing node publishes the computing task to the blockchain network, and the computing task is constructed by the target data user who connects to the first computing node.
[0080] In this system, the target data user is a single data consumer that accesses the data collaboration system through the first computing node. The computing tasks are computation-related tasks constructed by the target data user based on business application requirements.
[0081] In this embodiment of the application, after the target data user completes the computing task, the target data user publishes the computing task to the blockchain network of the data collaboration system through the first computing node.
[0082] Step 202: The second computing node pulls the target computing subtask from the computing tasks published in the blockchain network.
[0083] Step 203: The second computing node accesses the data from the target data provider connected to the second computing node to execute the target computing subtask and generate the target computing result corresponding to the target computing subtask.
[0084] In this system, the target data provider is a single data provider that accesses the data collaboration system via a second computing node. The computation task comprises multiple sub-tasks, with the target computation sub-task being one of them. The data required by the target computation sub-task is sourced from the target data provider.
[0085] After a computation task is published on the blockchain network, since the data required by the target computation subtask in the computation task is data from the target data provider, the target computation subtask is deployed to the second computation node connected to the target data provider. The second computation node accesses the data in the target data provider to execute the target computation subtask locally and generate the target computation result corresponding to the target computation subtask.
[0086] It is understandable that, for computational subtasks other than the target computational subtask in a computational task, they can be deployed to a computational node that can provide the data required by the other computational subtasks. The computational node can then access the data provider connected to the computational node to execute the other computational subtasks and generate the corresponding computational results.
[0087] Step 204: The second computing node uploads the computation result proof corresponding to the target computation result to the blockchain network. The computation result proof is proof data generated based on the target computation result.
[0088] Among them, the computation result proof is proof data generated based on the target computation result. The computation result proof is used to perform on-chain verification of the target computation result to ensure the authenticity and credibility of the target computation result.
[0089] Step 205: The second computing node delivers the target calculation result to the first computing node.
[0090] Correspondingly, the first computing node receives the target computing result sent by the second computing node.
[0091] After generating the target computation result, the second computing node connected to the target data provider delivers the target computation result to the first computing node connected to the target data user. The second computing node also generates a computation result proof corresponding to the target computation result and uploads the computation result proof to the blockchain network.
[0092] Step 206: The first computing node pulls the computation result proof from the blockchain network.
[0093] Step 207: The first computing node uses the computing result proof in the blockchain network to perform on-chain verification of the target computing result. After the verification is passed, the target computing result is sent to the target data user.
[0094] After receiving the target computation result, the first computing node uses the computation result proof in the blockchain network to verify the target computation result on-chain, ensuring its authenticity and reliability. If the verification is successful, the first computing node sends the target computation result to the target data user connected to it, allowing the target data user to directly use the target computation result in their business applications.
[0095] For example, the computation result proof is the data after hashing the target computation result and then signing it using the private key of the second computing node. Correspondingly, the first computing node's on-chain verification of the target computation result refers to the first computing node performing on-chain hash comparison and signature verification on the target computation result.
[0096] For example, the computation result proof is a zero-knowledge proof generated from the target computation result. Correspondingly, the first computing node's on-chain verification of the target computation result refers to the first computing node performing a zero-knowledge proof verification of the target computation result.
[0097] In summary, the blockchain-based data collaboration method provided in this embodiment deploys a two-layer data collaboration system consisting of a computing network and a blockchain network, wherein the computing network includes multiple computing nodes. During data collaboration, the target data user publishes a computing task to the blockchain through its connected first computing node. Subsequently, the target data provider executes the target sub-task of the acquired computing task through its connected second computing node and generates the target computing result. After receiving the target computing result from the second computing node, the first computing node performs on-chain verification of the target computing result and feeds back the verified target computing result to the target data user.
[0098] Based on the above technical solution, after the data user creates a computing task, the computing subtasks in the computing task are deployed to the computing node connected to the data provider through the blockchain network. The computing node accesses the original data in the data provider and executes the computing task locally without exposing the original data to the outside world, thus ensuring the security of the original data of the data provider.
[0099] In an exemplary embodiment, after the computing task is published to the blockchain network by the first computing node accessed by the target data user, the third computing node pulls the computing task from the blockchain network, splits the computing task, and performs routing and delivery on the split computing task, so that the second computing node accessed by the target data provider obtains the split target computing subtask.
[0100] Figure 3 This is a flowchart illustrating a blockchain-based data collaboration method according to an exemplary embodiment. The method is executed by a computing network within the data collaboration system. Figure 3 As shown, this blockchain-based data collaboration method may include the following steps:
[0101] Step 301: The first computing node publishes the computing task to the blockchain network, and the computing task is constructed by the target data user who connects to the first computing node.
[0102] Step 302: The third computing node pulls computing tasks from the blockchain network and breaks them down into multiple computing subtasks.
[0103] The third computing node in the computing network pulls the computing tasks published by the first computing node from the blockchain network, and parses and splits the computing tasks, thereby splitting the computing tasks into multiple computing subtasks.
[0104] In one possible implementation, a third computing node listens for computing tasks on the blockchain network. Upon detecting a computing task whose receiving node is the third computing node, the third computing node retrieves the computing task from the blockchain network. In this way, computing nodes within the network retrieve their own computing tasks from the blockchain network through task listening, enabling the computing tasks to be processed quickly.
[0105] In this scenario, the task receiving node for a computational task is specified at the time of publication; alternatively, the task receiving node is automatically selected by the blockchain network according to agreed-upon rules. In this case, the task receiving node can be specified in different ways, allowing for flexibility in its selection.
[0106] Step 303: For the target computational subtask among multiple computational subtasks, the third computational node performs route matching on the target computational subtask and deploys the target computational subtask to the second computational node.
[0107] Route matching refers to the process of assigning a target computational subtask to a specific execution computation node. After splitting the computational task, the third computation node performs route matching on each subtask to assign it to the matching computation node, such as assigning the target computational subtask to the second computation node. At this point, the third computation node receives the computational task, splits it into multiple subtasks, and performs route matching on each subtask, ensuring that each subtask is efficiently assigned to the corresponding computation node for execution.
[0108] In one possible implementation, the blockchain network publishes data directories corresponding to each computing node. Each computing node's data directory is defined by the data provider accessing the computing node. The computing task is constructed by the target data user based on the data directories published in the blockchain network. Correspondingly, the third computing node queries the data directories published by each computing node in the blockchain network to determine the computing node matching the target computing subtask. In response to the target computing subtask being matched with a second computing node, the third computing node deploys the target computing subtask to the second computing node.
[0109] The data directory contains descriptive information about the data. For example, the data directory is the metadata of the data.
[0110] During the operational phase of this data collaboration system, each data provider defines its data catalog and publishes it to the blockchain network through the computing nodes it connects to. This allows all participants in the data collaboration system to access the data provided by the data providers via the blockchain network. When constructing computing tasks, target data users combine the data catalogs published to the blockchain network and construct computing tasks accordingly for the required data catalogs. Therefore, during the routing matching of target computing subtasks within a computing task, the specific matching involves data catalogs, matching the target computing subtask to the computing nodes corresponding to the required data catalogs. At this point, routing matching through data catalogs ensures that the computing nodes to which the computing subtasks are deployed are connected to data providers that possess the data required by the subtasks, thereby guaranteeing the accuracy of the computing subtask deployment.
[0111] Step 304: The second computing node accesses the data from the target data provider connected to the second computing node to execute the target computing subtask and generate the target computing result corresponding to the target computing subtask.
[0112] In one possible implementation, the blockchain network publishes model algorithms corresponding to each computing node. The model algorithm for each computing node is developed by the data user accessing the computing node based on the data catalog published in the blockchain network. The computing task is constructed by the target data user based on the model algorithm published in the blockchain network. Correspondingly, the second computing node pulls the target model algorithm corresponding to the target computing sub-task from the blockchain network; the second computing node uses the target model algorithm to generate the target computing result corresponding to the target computing sub-task.
[0113] Among them, model algorithms are the methods of operation on data. For example, model algorithms are simple addition and subtraction, while deep learning algorithms are different.
[0114] During the operational phase of this data collaboration system, each data provider defines its data catalog and publishes it to the blockchain network through its connected computing nodes. This allows all participants in the data collaboration system to access the data providers' data via the blockchain network. Then, each data user develops model algorithms based on the data catalog and uploads them to the blockchain network. When constructing a computation task, the target data user combines the published data catalog and model algorithms to select the appropriate model algorithm for the required data catalog, thus constructing the computation task accordingly. Therefore, when executing a target computation subtask, the second target node needs to obtain the target model algorithm corresponding to that subtask. At this point, the computing node executing the subtask acquires the execution capability by obtaining the corresponding model algorithm published on the blockchain network.
[0115] Furthermore, after the second computing node has finished using the target model algorithm to execute the target computation subtask, the second computing node can destroy the target model algorithm to ensure the security of the model algorithm.
[0116] Step 305: The second computing node uploads the computation result proof corresponding to the target computation result to the blockchain network. The computation result proof is proof data generated based on the target computation result.
[0117] Step 306: The second computing node delivers the target calculation result to the first computing node.
[0118] Understandably, if a computation task cannot be broken down into multiple computation subtasks, then the computation task will be executed directly with a process similar to steps 303 to 306 above, including computation task routing matching, computation task execution, computation result proof uploading, and computation result delivery.
[0119] Step 307: The first computing node pulls the computation result proof from the blockchain network.
[0120] Step 308: The first computing node uses the computing result proof in the blockchain network to perform on-chain verification of the target computing result. After the verification is passed, the target computing result is sent to the target data user.
[0121] In one possible implementation, the computation task specifies a result receiving node when it is published. Besides the first computation node, the result receiving node also includes a fourth computation node. Correspondingly, after step 304, the following steps can also be performed: the second computation node delivers the target computation result to the fourth computation node; the fourth computation node uses the computation result proof in the blockchain network to perform on-chain verification of the target computation result, and after successful verification, sends the target computation result to other data users connected to the fourth computation node. At this point, the generated target computation result can be sent not only to the computation node that published the computation task but also to other computation nodes, ensuring that the target computation result is effectively utilized.
[0122] The other data users connected to the fourth computing node can have similar business application needs to the target data user. Therefore, the target data user specifies a fourth computing node when defining the result receiving node for the computing task.
[0123] In summary, the blockchain-based data collaboration method provided in this embodiment ensures the credibility and traceability of the process by conducting the data collaboration process on a blockchain network, and the obtained calculation results are authentic and verifiable.
[0124] In an illustrative embodiment, the data collaboration system is deployed as follows: a blockchain network is built, and smart contracts are deployed within the blockchain network; a computing network is built, and computing nodes in the computing network are registered with the blockchain network. Thus, by building the blockchain network and the computing network, the data collaboration system is deployed, ensuring the execution of the data collaboration methods within the system.
[0125] Reference Figure 4 It illustrates a schematic diagram of the blockchain network and computing network in a data collaboration system.
[0126] The smart contracts deployed in the blockchain network include:
[0127] • Compute node contracts are used to endorse compute nodes registered in the blockchain network.
[0128] Compute node contracts can endorse compute nodes on-chain, thus confirming the on-chain identity of the compute nodes.
[0129] • Data catalog contracts are used to endorse data catalogs published on blockchain networks.
[0130] Data providers publish data metadata to the blockchain in the form of a data catalog through their connected computing nodes. This allows all participants in the data collaboration system to access the data provider's data from the blockchain, thereby enabling the development of model algorithms and the creation of computational tasks. Simultaneously, the data provider also controls access permissions to the original data through the data catalog. During computational task execution, the computing nodes determine whether the task has the necessary access permissions to the original data from the data source.
[0131] • Model algorithm contracts are used to endorse model algorithms published on the blockchain network.
[0132] Data users can develop the model algorithms needed for their business applications based on the trusted data catalog provided on the chain, and publish them on the chain.
[0133] • Computational task contracts are used to endorse computational tasks published on the blockchain network.
[0134] Computational tasks are the concrete manifestation of data collaboration within this data collaboration system, and serve as a descriptive language. Based on the business application needs of the data collaboration scenario, data catalogs and model algorithms are selected to create computational tasks, which are then published on the blockchain. The computational task contract is responsible for recording the computational task, its entire computation process, and proof of the computational result.
[0135] The modules in the compute node include:
[0136] • Application support service module, used to provide functions to access objects.
[0137] The application support service module provides necessary functions to data providers and data users through an application programming interface (API), such as node management, data catalog management, and computation task creation. The application support service module can be the only access point for this data collaboration system.
[0138] • Data computing service module, used to handle computing tasks.
[0139] The data computing service module is the execution engine for computing tasks. It is responsible for the entire computing process, including parsing, splitting, routing, deploying, executing, generating computing result proofs, and delivering computing results. By deploying model algorithms to the access computing nodes of the data source, the data computing is performed on the access computing nodes of the data source, ensuring that the original data does not appear on any computing nodes other than the access computing nodes of the data source.
[0140] • Contract service module, used to provide interaction with smart contracts on the blockchain network.
[0141] The contract service module can provide the data computing service module with interaction with the chain contract.
[0142] • Data exchange service module, used for data transmission between computing nodes.
[0143] The blockchain-based data collaboration method described above involves the deployment, operation, and execution phases of the data collaboration system.
[0144] Reference Figure 5 It illustrates the lifecycle of a data collaboration system, which generally includes three phases: deployment, operation, and execution.
[0145] (1) Deployment phase
[0146] The deployment phase refers to the construction phase of the data collaboration system, specifically the establishment of the blockchain network and computing network. Once established, both networks are dynamically adjustable. This involves:
[0147] 1.1: Blockchain network construction and contract deployment.
[0148] 1.2: Deploy computing nodes and register them with the blockchain network.
[0149] (2) Operational Phase
[0150] The operation phase refers to the stage after the two-layer network is built, during which the various objects in the data collaboration system are operated and managed. This involves:
[0151] 2.1: After the data provider connects its data source to the computing node, it defines, publishes, modifies, and authorizes its data directory.
[0152] 2.2: Data users develop and publish model algorithms based on the data catalog.
[0153] 2.3: Data users construct corresponding computing tasks based on business application requirements.
[0154] (3) Execution phase
[0155] The execution phase refers to the specific stage in which the computation task is carried out, mainly including the deployment of the computation task, the execution of the computation task, and the delivery of the computation results.
[0156] Reference Figure 6 It shows a flowchart illustrating the specific process of the execution phase of a data collaboration system.
[0157] 3.1: Data users publish computing tasks to the blockchain network through the computing nodes they access.
[0158] Furthermore, when publishing a computation task, a task receiving node can be specified, or the on-chain contract can automatically select a task receiving node according to agreed-upon rules. A task receiving node refers to the computation node that receives the computation task.
[0159] In addition, when publishing a computation task, you can specify the result receiving node. The result receiving node refers to the computation node that receives the computation results corresponding to the computation task.
[0160] 3.2: In the data collaboration system, the computing nodes of the computing network will listen to the computing tasks on the blockchain network and pull the computing tasks that belong to them.
[0161] 3.3: After receiving a computing task, the computing node that is a task receiving node will parse and split the computing task into multiple computing subtasks.
[0162] 3.4: The computing nodes that belong to the task receiving nodes perform route matching for each computing subtask and match it to the specific execution computing node, which is the computing node to which the data source required by the computing subtask is connected.
[0163] 3.5: After the route matching is completed, the computing node belonging to the task receiving node will send the computing subtask to the corresponding execution computing node.
[0164] 3.6: After receiving the computation subtask, the execution node accesses the target data and performs calculations according to the computation subtask, thereby executing the computation task.
[0165] 3.7: After the computation task is completed, the execution computation node delivers the computation result to the computation node that belongs to the result receiving node.
[0166] 3.8: The execution computing node generates a proof of the computing result and uploads it to the blockchain network.
[0167] 3.9: The compute nodes that are result receiving nodes perform on-chain verification of the compute results. If the verification is successful, the compute results will be sent to the data user.
[0168] Based on the above description, the data collaboration method mainly includes: computation task construction, computation task release, computation task parsing, computation task splitting, computation task routing and deployment, computation task execution, computation result verification, and computation result delivery.
[0169] It should be noted that the above method embodiments can be implemented individually or in combination, and this application does not limit them in this regard.
[0170] Figure 7 This is a structural block diagram illustrating a blockchain-based data collaboration device according to an exemplary embodiment. The device includes:
[0171] The computing task publishing module 701 is used to enable the first computing node to publish computing tasks to the blockchain network, wherein the computing tasks are constructed by the target data users who access the first computing node;
[0172] The computing task execution module 702 is used to allow the second computing node to pull the target computing sub-tasks in the computing tasks published in the blockchain network, access the data in the target data provider connected to the second computing node to execute the target computing sub-tasks, and generate the target computing results corresponding to the target computing sub-tasks;
[0173] The calculation result delivery module 703 is used to enable the second computing node to upload the calculation result proof corresponding to the target calculation result to the blockchain network, and to deliver the target calculation result to the first computing node, wherein the calculation result proof is proof data generated based on the target calculation result;
[0174] The calculation result verification module 704 is used to enable the first computing node to use the calculation result proof in the blockchain network to perform on-chain verification of the target calculation result, and after the verification is passed, send the target calculation result to the target data user.
[0175] In one possible implementation, the computation task execution module 702 is further configured to:
[0176] The third computing node pulls the computing task from the blockchain network and breaks the computing task into multiple computing subtasks;
[0177] For the target computational subtask among the plurality of computational subtasks, the third computational node performs route matching on the target computational subtask and deploys the target computational subtask to the second computational node.
[0178] In one possible implementation, the blockchain network publishes data directories corresponding to each computing node, and the data directory corresponding to each computing node is defined by the data provider accessing the computing node. The computing task is constructed by the target data user based on the data directory published in the blockchain network.
[0179] The computing task execution module 702 is further configured to:
[0180] The third computing node queries the data directory published by each computing node to the blockchain network to determine the computing node that matches the target computing subtask;
[0181] In response to the target computing subtask being matched with the second computing node, the third computing node deploys the target computing subtask to the second computing node.
[0182] In one possible implementation, the computation task execution module 702 is further configured to:
[0183] The third computing node monitors the computing tasks of the blockchain network;
[0184] In response to detecting a computing task whose task receiving node is the third computing node, the third computing node pulls the computing task from the blockchain network.
[0185] In one possible implementation, the task receiving node corresponding to the computing task is specified at the time of publication;
[0186] or,
[0187] The task receiving node corresponding to the computing task is automatically selected by the blockchain network according to agreed rules.
[0188] In one possible implementation, the blockchain network publishes model algorithms corresponding to each computing node. The model algorithm corresponding to each computing node is developed by the data user accessing the computing node according to the data catalog published in the blockchain network. The computing task is constructed by the target data user based on the model algorithm published in the blockchain network.
[0189] The computing task execution module 702 is further configured to:
[0190] The second computing node pulls the target model algorithm corresponding to the target computing subtask from the blockchain network;
[0191] The second computing node uses the target model algorithm to generate the target computing result corresponding to the target computing subtask.
[0192] In one possible implementation, the computing task specifies a result receiving node when it is published, and the result receiving node includes a fourth computing node in addition to the first computing node.
[0193] The calculation result delivery module 703 is also used to enable the second computing node to deliver the target calculation result to the fourth computing node;
[0194] The calculation result verification module 704 is also used to enable the fourth computing node to use the calculation result proof in the blockchain network to perform on-chain verification of the target calculation result. After the verification is passed, the target calculation result is sent to other data users connected to the fourth computing node.
[0195] In one possible implementation, the device further includes:
[0196] A network deployment module is used to build the blockchain network and deploy smart contracts within it. The smart contracts include: a computing node contract endorsing computing nodes registered in the blockchain network; a data directory contract endorsing data directories published in the blockchain network; a model algorithm contract endorsing model algorithms published in the blockchain network; and a computing task contract endorsing computing tasks published in the blockchain network. The module also builds the computing network, where computing nodes are registered in the blockchain network. Each computing node includes modules such as: an application support service module providing functionality to access objects; a data computing service module for processing computing tasks; a contract service module providing interaction with the smart contracts of the blockchain network; and a data exchange service module for data transmission between computing nodes.
[0197] It should be noted that the blockchain-based data collaboration device provided in the above embodiments is only an example of the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the device and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.
[0198] Please see Figure 8 This is a schematic diagram of a computer device provided according to an exemplary embodiment of this application. The computer device includes a memory and a processor. The memory is used to store a computer program. When the computer program is executed by the processor, it implements the above-described blockchain-based data collaboration method.
[0199] The processor can be a central processing unit (CPU). It can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or combinations thereof.
[0200] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the methods in the embodiments of this invention. The processor executes various functional applications and data processing by running the non-transitory software programs, instructions, and modules stored in the memory, thereby implementing the methods described in the above embodiments.
[0201] The memory may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created by the processor, etc. Furthermore, the memory may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory may optionally include memory remotely located relative to the processor, which can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0202] In one exemplary embodiment, a computer-readable storage medium is also provided for storing at least one computer program, which is loaded and executed by a processor to implement all or part of the steps in the above-described method. For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, or optical data storage device, etc.
[0203] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.
[0204] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A data collaboration method based on blockchain, characterized in that, The method is executed by a computing network in a data collaboration system, which also includes a blockchain network, and the computing network includes multiple computing nodes; The method includes: The first computing node publishes the computing task to the blockchain network, and the computing task is constructed by the target data user who accesses the first computing node; The second computing node pulls the target computing subtask from the computing task published in the blockchain network, accesses the data from the target data provider connected to the second computing node to execute the target computing subtask, and generates the target computing result corresponding to the target computing subtask; The second computing node uploads the computation result proof corresponding to the target computation result to the blockchain network and delivers the target computation result to the first computing node. The computation result proof is proof data generated based on the target computation result. The first computing node uses the computing result proof in the blockchain network to perform on-chain verification of the target computing result. After the verification is passed, the target computing result is sent to the target data user. The second computing node pulls the target computing subtask from the computing task published in the blockchain network, including: The third computing node pulls the computing task from the blockchain network and breaks the computing task into multiple computing subtasks; For the target computational subtask among the plurality of computational subtasks, the third computational node performs route matching on the target computational subtask and deploys the target computational subtask to the second computational node.
2. The method according to claim 1, characterized in that, The blockchain network publishes data directories corresponding to each computing node. The data directory corresponding to each computing node is defined by the data provider that accesses the computing node. The computing task is constructed by the target data user based on the data directory published in the blockchain network. The third computing node performs route matching on the target computing subtask and deploys the target computing subtask to the second computing node, including: The third computing node queries the data directory published by each computing node to the blockchain network to determine the computing node that matches the target computing subtask; In response to the target computing subtask being matched with the second computing node, the third computing node deploys the target computing subtask to the second computing node.
3. The method according to claim 1, characterized in that, The third computing node pulls the computing task from the blockchain network, including: The third computing node monitors the computing tasks of the blockchain network; In response to detecting a computing task whose task receiving node is the third computing node, the third computing node pulls the computing task from the blockchain network.
4. The method according to claim 3, characterized in that, The task receiving node corresponding to the computing task is specified during the publishing process; or, The task receiving node corresponding to the computing task is automatically selected by the blockchain network according to agreed rules.
5. The method according to claim 1, characterized in that, The blockchain network publishes model algorithms corresponding to each computing node. The model algorithm corresponding to each computing node is developed by the data user who accesses the computing node according to the data catalog published in the blockchain network. The computing task is constructed by the target data user based on the model algorithm published in the blockchain network. The second computing node generates the target computing result corresponding to the target computing subtask, including: The second computing node pulls the target model algorithm corresponding to the target computing subtask from the blockchain network; The second computing node uses the target model algorithm to generate the target computing result corresponding to the target computing subtask.
6. The method according to claim 1, characterized in that, The computing task specifies a result receiving node when it is published, and the result receiving node includes a fourth computing node in addition to the first computing node. The method further includes: The second computing node delivers the target calculation result to the fourth computing node; The fourth computing node uses the computation result proof in the blockchain network to perform on-chain verification of the target computation result. After the verification is successful, the target computation result is sent to other data users connected to the fourth computing node.
7. The method according to claim 1, characterized in that, The data collaboration system is deployed in the following manner: The blockchain network is constructed, and smart contracts are deployed in the blockchain network. The smart contracts include: a computing node contract for endorsing computing nodes registered in the blockchain network, a data catalog contract for endorsing data catalogs published in the blockchain network, a model algorithm contract for endorsing model algorithms published in the blockchain network, and a computing task contract for endorsing computing tasks published in the blockchain network. The computing network is constructed, and the computing nodes in the computing network are registered with the blockchain network. The modules in the computing nodes include: an application support service module for providing functions to access objects, a data computing service module for processing computing tasks, a contract service module for providing interaction with smart contracts of the blockchain network, and a data exchange service module for data transmission between computing nodes.
8. A data collaboration device based on blockchain, characterized in that, The device is executed by a computing network in a data collaboration system, which also includes a blockchain network, and the computing network includes multiple computing nodes; The device includes: The computing task publishing module is used to enable the first computing node to publish computing tasks to the blockchain network. The computing tasks are constructed by the target data users who are connected to the first computing node. A computation task execution module is used for the second computing node to pull target computation subtasks from the computation task published in the blockchain network, access data from the target data provider connected to the second computing node to execute the target computation subtasks, and generate target computation results corresponding to the target computation subtasks. The second computing node pulling target computation subtasks from the computation task published in the blockchain network includes: The third computing node pulls the computing task from the blockchain network and breaks the computing task into multiple computing subtasks; For the target computing subtask among the plurality of computing subtasks, the third computing node performs route matching on the target computing subtask and deploys the target computing subtask to the second computing node; The calculation result delivery module is used to enable the second computing node to upload the calculation result proof corresponding to the target calculation result to the blockchain network, and to deliver the target calculation result to the first computing node, wherein the calculation result proof is proof data generated based on the target calculation result; The calculation result verification module is used to enable the first computing node to use the calculation result proof in the blockchain network to perform on-chain verification of the target calculation result. After the verification is passed, the target calculation result is sent to the target data user.
9. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one instruction, at least one program, code set, or instruction set, the at least one instruction, at least one program, code set, or instruction set being loaded and executed by the processor to implement the blockchain-based data collaboration method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The storage medium stores at least one instruction, at least one program, code set, or instruction set, which is loaded and executed by a processor to implement the blockchain-based data collaboration method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Resource scheduling method, information management method and device and task deployment system
CN109992373A
Transaction method and device based on blockchain and multi-party security computing, and storage medium
CN110335037A
