Privacy computing system and method
Patent Information
- Application Number
- CN202510996307.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-18
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2045-07-18
AI Technical Summary
[0004]本申请提供了一种隐私计算系统与方法,以解决传统隐私网络网状拓扑节点交互端口开通复杂问题、环形网络中节点存在强顺序依赖的问题、中心化平台服务器单点故障问题,实现在确保“数据不出域”的前提下,构建高鲁棒性、低运维复杂度且真正去中心化的网络架构,以实现跨机构数据的安全高效协同
Smart Images

Figure CN121056112B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of privacy computing technology and blockchain applications, and in particular to a privacy computing system and method. Background Technology
[0002] As policy support for data as a new production factor continues to increase, the importance of data element circulation is becoming increasingly prominent. However, it still faces bottlenecks such as serious data silos and a lack of mutual trust between institutions. Data providers such as government agencies face the dilemma of poor data quality (only 53% of resources can be linked, and 51% of the catalog is updated in a timely manner) and low willingness to share. While privacy computing technology can achieve "data usable but not visible", its mainstream network topology scheme has significant defects. For example, mesh topology (such as traditional privacy computing networks) requires each node to open a bidirectional communication port with all other nodes, involving cumbersome IP / port reporting and approval (such as multi-level approval required by financial institutions), and the maintenance cost is extremely high when nodes change dynamically.
[0003] While some ring-based privacy computing solutions address the centralization issue, strong node dependencies lead to single-point failures causing end-to-end blockages, violating robustness principles. Furthermore, their ordered data transmission on public blockchains is vulnerable to interception and cracking, posing security risks. Centralized platform solutions, while mitigating multi-port issues through server-side data forwarding, fundamentally rely on a central authority, contradicting the decentralized trust required for privacy computing. In practical applications, the lack of inter-organizational trust hinders their implementation. Ring architectures suffer from high operational complexity and system fragility, posing single-point-of-failure risks, while centralized solutions face trust bottlenecks. Neither approach can simultaneously meet the core requirements of decentralized collaboration, high availability, and low operational costs. Therefore, there is an urgent need to construct a highly robust, low-complexity, and truly decentralized network architecture to achieve secure and efficient cross-organizational data collaboration. Summary of the Invention
[0004] This application provides a privacy computing system and method to solve the problems of complex node interaction port opening in traditional privacy network mesh topology, strong sequential dependency of nodes in ring network, and single point of failure of centralized platform server. It realizes the construction of a highly robust, low-maintenance and truly decentralized network architecture while ensuring that "data does not leave the domain", so as to achieve secure and efficient collaboration of cross-organizational data.
[0005] Firstly, this application provides a privacy computing system employing a bus-type network topology. The system includes: a blockchain network, serving as a message bus for storing and broadcasting task proposals, encrypted data, and node voting results, and managing node permission sets through smart contracts; a task initiating node, used to define the privacy computing algorithm specified for the task, select computing nodes participating in the task, randomly generate the execution order of the computing nodes, construct an encrypted address book, encrypt initial data, and publish the task proposal to the blockchain network; and multiple computing nodes, used to listen to the blockchain network, and when a task proposal or update is detected, attempt to decrypt the data packet using their own private key. If decryption is successful, they claim the task, perform local privacy computing, encrypt the computing result using the public key of the next node obtained from the encrypted address book, and submit the encrypted result as a voting data signature to the blockchain network. All task instructions and encrypted data circulate only between the task initiating node and the computing nodes, and among the computing nodes, through the blockchain network.
[0006] As an optional implementation, the encrypted address book is constructed by having the task initiating node generate an entry for each selected computing node and encrypt the public key of the next relay node determined in a random execution order using the computing node's own public key.
[0007] As an optional implementation, the task proposal published by the task initiating node includes: initial data encrypted with the public key of the first computing node in the random execution order, an encrypted address book containing entries for all selected computing nodes, and a description of the privacy computing algorithm.
[0008] As an optional implementation, for the last computing node in the execution order, the public key of the next relay node obtained by the computing node from the encrypted address book is the public key of the task initiating node, which is used to encrypt the final calculation result and submit it to the blockchain network, and is then decrypted by the task initiating node.
[0009] Secondly, this application provides a privacy computing method based on a blockchain bus, applied to a privacy computing system, the method comprising the following steps:
[0010] Step S1: The task initiating node defines the privacy computing algorithm, selects a set of computing nodes to participate in the computing, and randomly generates the execution order of the computing nodes;
[0011] Step S2: The task initiating node constructs an encrypted address book, generates an encrypted entry for each selected computing node, and uses the computing node's own public key to encrypt the public key of the next relay node; wherein, the next relay node is the computing node following the current computing node in the execution order.
[0012] Step S3: The task initiating node encrypts the initial data of the privacy computing task using the public key of the first computing node in the execution order, and encapsulates the encrypted initial data, the encrypted address book, and the description of the privacy computing algorithm into a task proposal, which is then published to the blockchain network.
[0013] Step S4: The computing node listens to the blockchain network. When it hears a task proposal or updated data, it attempts to decrypt the data packet of the proposal with its own private key. If the decryption is successful, the computing node claims the task.
[0014] Step S5: The computing node that claims the task decrypts the address book entry to obtain the public key of the next relay node, decrypts the data to be calculated input to the computing node, performs local privacy calculation, and obtains the calculation result.
[0015] Step S6: The computing node that claims the task encrypts the computing result using the public key of the next relay node, signs it, and submits it to the blockchain network as voting data.
[0016] Step S7: The next successor node of the computing node repeats steps S4 to S6 until the final result is generated and submitted.
[0017] Step S8: The task initiating node obtains and decrypts the final result, and updates the status of the task proposal to complete.
[0018] As an optional implementation, the construction of the encrypted address book in step S2 satisfies the following: when the computing node is not the last computing node in the execution order, the entry corresponding to the computing node in the encrypted address book contains the public key of the next relay node encrypted with the public key of the encrypted address book; when the computing node is the last computing node in the execution order, the entry corresponding to the computing node in the encrypted address book contains the public key of the task initiating node encrypted with the public key of the computing node.
[0019] As an optional implementation, the public key used for encrypting the calculation result in step S6 is derived from the public key of the next relay node obtained by decrypting the encrypted address book in step S5.
[0020] As an optional implementation, all data transmission is completed only through the blockchain network, which serves as a message bus. There is no direct network communication between the computing nodes, and each computing node only knows the public key of the next relay node directly following it in the execution order, and cannot know the global task chain topology.
[0021] As an optional implementation, for the computing node that claims the task, the private key of the computing node is used to decrypt the entry corresponding to itself in the encrypted address book to obtain the public key of the next relay node; the private key of the computing node is used to decrypt the data to be calculated input to the computing node to obtain the decrypted data; the decrypted data and local data are combined to execute the privacy computing algorithm to generate the calculation result.
[0022] As an optional implementation, the submission of the final result includes: the last computing node in the execution order encrypts the final result using the public key of the task initiating node, submits it to the blockchain network, and is then decrypted by the task initiating node.
[0023] Thirdly, this application provides an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; the memory is used to store computer programs; and the processor is used to implement the privacy computing method described above when executing the program stored in the memory.
[0024] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the privacy computing method described above.
[0025] The technical solutions provided in this application have the following advantages compared with the prior art:
[0026] The privacy computing system and method of this application solves the problem of complex node interaction port opening in real-world privacy computing mesh topologies. It allows nodes to simply listen to the corresponding port on the blockchain (message bus). By adopting a bus topology with the blockchain as the message bus, and relying on the blockchain's multi-node and fault-tolerant nature, stable bus operation is guaranteed. Furthermore, this structure has strong compatibility and supports various privacy computing methods. Compared to existing technologies, the privacy computing system and method of this application eliminates inter-node dependencies. Messages are broadcast to each node, allowing each node to perform business simultaneously. Moreover, the message transmission uses blockchain, which inherently possesses data transparency and decentralization. Access parties do not need to worry about data black-box issues. The blockchain's fault tolerance prevents single-point failures from paralyzing the entire computing network. This effectively solves the problems of complex node interaction port opening in traditional privacy network mesh topologies, strong sequential dependencies among nodes in ring networks, and single-point-of-failure issues with centralized platform servers. It achieves a highly robust, low-maintenance, and truly decentralized network architecture while ensuring "data does not leave the domain," enabling secure and efficient cross-institutional data collaboration. Attached Figure Description
[0027] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0028] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0029] Figure 1 This illustration schematically shows a structural diagram of a privacy computing system according to an embodiment of this application;
[0030] Figure 2 This is a schematic flowchart of a privacy computing method according to an embodiment of this application;
[0031] Figure 3 This is a schematic flowchart of a privacy computing method according to yet another embodiment of this application;
[0032] Figure 4 This is a schematic diagram of the task initiation process of a privacy computing method according to another embodiment of this application;
[0033] Figure 5 This is a schematic diagram of the collaborative logic on the proposal chain for the initiating node and participating nodes of the privacy computing method according to another embodiment of this application;
[0034] Figure 6 This is a schematic diagram of the operation flow of a computing node in a privacy computing method according to another embodiment of this application. Detailed Implementation
[0035] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. 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.
[0036] Figure 1 This illustration schematically shows a structural diagram of a privacy computing system according to an embodiment of this application; refer to Figure 1 According to the embodiments of this application, the privacy computing system adopts a bus-type network topology, including a blockchain network, a task initiation node, and multiple computing nodes.
[0037] The blockchain network, as a message bus, is used to store and broadcast task proposals, encrypted data, and node voting results, and manages the set of node permissions through smart contracts;
[0038] The task initiation node is used to define the privacy computing algorithm specified for the task, select computing nodes to participate in the task, randomly generate the execution order of the computing nodes, construct an encrypted address book, encrypt the initial data, and publish the task proposal to the blockchain network.
[0039] Multiple computing nodes are used to monitor the blockchain network. When a task proposal or update is detected, they attempt to decrypt the data packet with their own private key. If the decryption is successful, they claim the task, perform local privacy computation, use the public key of the next node obtained from the encrypted address book to encrypt the computation result, and submit the encrypted result as a voting data signature to the blockchain network.
[0040] In this system, all task instructions and encrypted data are transferred only through the blockchain network between the task initiating node and the computing node, and between the computing nodes.
[0041] Specifically, the privacy computing system employs a bus-based network topology to construct its privacy computing network. A privacy computing network is a network architecture based on cryptography and distributed computing, designed to protect user data privacy and security. It provides a secure data processing method, allowing users to perform computations and analyses without exposing the raw data.
[0042] Privacy-preserving computation networks (PCNs) ensure the confidentiality and integrity of data during computation by using encryption and other privacy-preserving technologies. They distribute computation tasks to multiple participants, known as Privacy Computing Network Nodes (PCNs), or compute nodes. While all PCNs are theoretically equal in role and function, their functions differ for each individual task. The node that initiates the privacy-preserving computation task is called the task initiating node. The other nodes participating in the privacy-preserving computation task are called compute nodes.
[0043] According to the embodiments of this application, the privacy computing system employs a bus-type network topology to implement the privacy computing method for data collaboration and sharing. The blockchain serves as the message bus for message aggregation and forwarding. Each node in the privacy computing process acquires collaborative data in real time by monitoring the blockchain contract data status. Simultaneously, it decrypts the data using a pre-set private key. After data computation is completed, it obtains the public key of the next node from the message header data, encrypts the data using this public key, and publishes it to the blockchain for the next data collaboration. The blockchain serves as the sole communication channel (message bus), and all task instructions, encrypted data, and computation results are published, broadcast, and retrieved only through the blockchain.
[0044] Using blockchain as a message bus allows nodes to communicate only with the blockchain (listening and publishing), eliminating the need to open numerous ports with other computing nodes. This completely avoids the complex reporting and approval processes required by institutions like banks in existing mesh topologies. It effectively eliminates single-point-of-failure risks; the decentralized, multi-replica, and fault-tolerant characteristics of blockchain ensure high availability of the message bus. Even if some blockchain nodes fail, the overall service remains unaffected. It establishes decentralized trust; the transparency and immutability of blockchain naturally solve trust issues in multi-party collaboration. All operation records are auditable, avoiding potential "black box" operation concerns associated with centralized platforms. It also improves compatibility; the bus structure itself does not restrict underlying privacy computing algorithms, allowing access as long as the algorithm can be executed step-by-step.
[0045] Optionally, the encrypted address book can be constructed by having the task initiating node generate an entry for each selected computing node and encrypt the public key of the next relay node, determined in a random execution order, using the computing node's own public key.
[0046] The task proposal published by the task initiating node includes: initial data encrypted with the public key of the first computing node in the random execution order, an encrypted address book containing the corresponding entries for all selected computing nodes, and a description of the privacy computing algorithm.
[0047] For the last computing node in the execution order, the public key of the next relay node obtained by the computing node from the encrypted address book is the public key of the task initiating node. It is used to encrypt the final computing result and submit it to the blockchain network, and is then decrypted and obtained by the task initiating node.
[0048] Compared with the prior art, the technical solution provided in this application has the following advantages: The privacy computing system of this application solves the problem of complex node interaction port opening faced by the mesh topology of privacy computing in real-world scenarios. It allows nodes to simply listen to the corresponding port of the blockchain (message bus). By adopting a bus topology with the blockchain as the message bus, relying on the blockchain's multi-node and fault tolerance, the stable operation of the bus can be guaranteed. Furthermore, this structure has strong compatibility and can support various privacy computing methods. Compared with the prior art, the privacy computing system and method of this application have no inter-node dependencies. Messages are broadcast to each node, and each node can conduct business simultaneously. Moreover, the message transmission uses blockchain, which inherently possesses data transparency and decentralization characteristics. Access parties do not need to worry about data black-box issues. Simultaneously, the blockchain has fault tolerance, preventing single-point failures from paralyzing the entire computing network. This effectively solves the problems of complex node interaction port opening in traditional privacy network mesh topology, strong sequential dependency of nodes in ring network, and single point of failure of centralized platform server. It enables the construction of a highly robust, low-maintenance, and truly decentralized network architecture while ensuring that "data does not leave the domain", so as to achieve secure and efficient collaboration of cross-organizational data.
[0049] Figure 2 This is a schematic flowchart of a privacy computing method according to an embodiment of this application. (In conjunction with...) Figure 2 In one embodiment of this application, the privacy computing method includes the following operations:
[0050] Step S1: The task initiating node defines the privacy computing algorithm, selects a set of computing nodes to participate in the computing, and randomly generates the execution order of the computing nodes;
[0051] Step S2: The task initiating node constructs an encrypted address book, generates an encrypted entry for each selected computing node, and uses the computing node's own public key to encrypt the public key of the next relay node; wherein, the next relay node is the computing node following the current computing node in the execution order.
[0052] Step S3: The task initiating node encrypts the initial data of the privacy computing task using the public key of the first computing node in the execution order, and encapsulates the encrypted initial data, the encrypted address book, and the description of the privacy computing algorithm into a task proposal, which is then published to the blockchain network.
[0053] Step S4: The computing node listens to the blockchain network. When it hears a task proposal or updated data, it attempts to decrypt the data packet of the proposal with its own private key. If the decryption is successful, the computing node claims the task.
[0054] Step S5: The computing node that claims the task decrypts the address book entry to obtain the public key of the next relay node, decrypts the data to be calculated input to the computing node, performs local privacy calculation, and obtains the calculation result.
[0055] Step S6: The computing node that claims the task encrypts the computing result using the public key of the next relay node, signs it, and submits it to the blockchain network as voting data.
[0056] Step S7: The next successor node of the computing node repeats steps S4 to S6 until the final result is generated and submitted.
[0057] Step S8: The task initiating node obtains and decrypts the final result, and updates the status of the task proposal to complete.
[0058] Specifically, in step 1, the randomization of the node order during task initiation is performed by the task initiating node. After selecting participating nodes, a strongly randomized algorithm (such as HMAC_DRBG) is used to completely shuffle the processing order of these nodes. For example, the original nodes might be ABCD, but after randomization, the order becomes CADB. Furthermore, this randomized order is kept secret and is only reflected in the construction of the "encrypted address book" and data flow.
[0059] Randomly generating the execution order of the computing nodes breaks order dependencies, enhances robustness, and improves network node data privacy. Since the order is random and there are no direct dependencies between nodes, the failure or delay of any computing node will not block the task execution of other nodes. Therefore, after a failed node recovers, it can retrieve its tasks from the blockchain and continue execution. Thus, this method supports fault recovery; even if a node malfunctions, tasks can continue after recovery. To ensure execution efficiency, nodes can also develop fault monitoring tools to ensure timely response after system anomalies.
[0060] Furthermore, it significantly improves security. Even if an attacker can view the publicly available data on the blockchain (proposals, encrypted results), they cannot easily deduce the complete computation path and the identity order of all participating nodes. Each node only knows its previous data source and its next recipient. Compared to the easily cracked order and transparency of existing circular topologies, the global topology in this method is also hidden from the participants.
[0061] In one possible implementation, the construction of the encrypted address book in step S2 satisfies the following: when the computing node is not the last computing node in the execution order, the entry corresponding to the computing node in the encrypted address book contains the public key of the next relay node encrypted with the public key of the encrypted address book; when the computing node is the last computing node in the execution order, the entry corresponding to the computing node in the encrypted address book contains the public key of the task initiating node encrypted with the public key of the computing node.
[0062] For example, suppose the task initiating node selects three computing nodes: node A, node B, and node C, and randomly generates the execution order as A→B→C. The task initiating node generates a unique encrypted entry (i.e., an "address book entry") for each participating node. The entry is encrypted using the public key of the node to which it belongs. The content of the entry is encrypted with the public key of the next relay target. For non-last computing node A, its entry content ("B's public key") is encrypted with A's own public key, and only node A can decrypt it with its private key. For last node C, its entry content ("initiator's public key") is encrypted with C's own public key, and only node C can decrypt it. Therefore, each node can only decrypt its own entry to obtain the instruction "who is the next relay target." Node A only knows to pass the result to B, node B only knows to pass it to C, and no one knows the complete chain (e.g., A→B→C→initiator). The last node (C) is explicitly told to "pass the result to the initiator" (using the encrypted initiator's public key), forming a closed loop.
[0063] In one possible implementation, the public key used to encrypt the computation result in S6 is derived from the public key of the next relay node obtained by decrypting the encrypted address book in step S5. Step S5 includes: for the computing node that claims the task, using its own private key to decrypt the entry corresponding to itself in the encrypted address book to obtain the public key of the next relay node; using its own private key to decrypt the data to be computed input to the computing node to obtain the decrypted data; combining the decrypted data and local data, executing the privacy computation algorithm to generate the computation result.
[0064] In one possible implementation, all data transmission is completed solely through a blockchain network, which serves as a message bus. There is no direct network communication between the computing nodes, and each computing node only knows the public key of the next relay node directly following it in the execution order, without being aware of the global task chain topology.
[0065] In one possible implementation, the submission of the final result includes: the last computing node in the execution order encrypts the final result using the public key of the task initiating node, submits it to the blockchain network, and is then decrypted by the task initiating node.
[0066] Understandably, in the above steps, the task initiating node creates an encrypted entry for each computing node: encrypting the public key of its next successor node (in random order) using its own public key. These entries are combined into an "encrypted address book," which is uploaded to the blockchain along with the proposal. When a computing node unlocks its own task data, it decrypts its corresponding entry in the "encrypted address book" using its own private key to obtain the public key of the next node. After completing the computation, the node must encrypt the computation result using the newly obtained public key of the next node, then encapsulate and sign it before publishing it back to the blockchain. Each encrypted entry also contains the initiator's private key signature. Each node only recognizes and approves the initiator's signature to achieve identity authentication.
[0067] As can be seen, the above-mentioned method constructs and utilizes an "encrypted address book" for relay-style data transfer. By constructing and utilizing an "encrypted address book" for relay-style data transfer, secure collaboration is achieved under the condition that "data does not leave the domain." Data always flows on the blockchain in encrypted form. Each node can only decrypt its own input data and encrypt the output to the next node using a specified public key. The original local data never leaves the node's local storage. The public key of the next relay node dynamically and securely (through encryption) tells each node "who should receive the result next," realizing the simulation of a controllable, confidential, and independent data flow path under a bus architecture. It also minimizes information exposure; each node only knows its immediate next node and is unaware of the overall task chain, the order of other nodes, or their identities, greatly increasing the difficulty for attackers to correlate and crack the entire computation process.
[0068] Understandably, in the above steps, the task status (proposal) and all intermediate results are stored on the blockchain in the form of "votes." All nodes asynchronously listen for changes in the proposal status on the blockchain, and each node independently determines whether the on-chain data belongs to its own task (by attempting to decrypt it with its own private key). After completing the calculation, the node submits the encrypted result as "vote data" to the blockchain, updating the proposal status.
[0069] As can be seen, this achieves true decentralized collaboration, meaning there is no central scheduler; instead, nodes autonomously listen, judge, compute, and submit, achieving coordination through smart contract rules and encrypted data streams. Compared to the circular dependencies and blocking of existing technologies, in this method, if a computing node temporarily goes offline, it does not affect other nodes. Once that node comes back online, it resumes listening to the blockchain, finds its own unprocessed task data, and can then continue processing and submitting the results.
[0070] Compared with the prior art, the technical solution provided in this application has the following advantages: The privacy computing method in this application solves the problem of complex node interaction port opening faced by the mesh topology of privacy computing in real-world scenarios. It allows nodes to simply listen to the corresponding port of the blockchain (message bus). By adopting a bus topology with the blockchain as the message bus, relying on the blockchain's multi-node and fault tolerance, the stable operation of the bus can be guaranteed. Furthermore, this structure has strong compatibility and can support various privacy computing methods. Compared with the prior art, the privacy computing system and method in this application have no inter-node dependencies. Messages are broadcast to each node, and each node can conduct business simultaneously. Moreover, the message transmission uses blockchain, which inherently possesses data transparency and decentralization characteristics. Access parties do not need to worry about data black-box issues. Simultaneously, the blockchain has fault tolerance, preventing single-point failures from paralyzing the entire computing network. This effectively solves the problems of complex node interaction port opening in traditional privacy network mesh topology, strong sequential dependency of nodes in ring network, and single point of failure of centralized platform server. It enables the construction of a highly robust, low-maintenance, and truly decentralized network architecture while ensuring that "data does not leave the domain", so as to achieve secure and efficient collaboration of cross-organizational data.
[0071] Figure 3 This is a flowchart illustrating a privacy computing method according to yet another embodiment of this application; combined with Figure 2 In another embodiment of this application, the privacy computation method includes the following operations:
[0072] S100: The task initiating node first confirms the number of participating nodes and node information, randomly arranges the order in a completely random manner, allocates the public key information corresponding to each node, puts the final data on the chain, and initiates a proposal.
[0073] S200 blockchain sets up a proposal contract, first setting up a set of participating nodes and confirming permissions. Proposal data must be initiated and parsed by members of the participating node set. The proposal voting threshold is set by the initiator. Proposal data flows on-chain in the MateData manner and is transmitted to the participating computing nodes.
[0074] S300 involves privacy computing participating nodes listening to on-chain proposal information. When proposal data MateData is generated, on-chain data parsing is performed. The node identifies whether the on-chain data belongs to it using its locally stored private key. The node then performs calculations using the on-chain privacy computing method and the local data. The node encrypts the calculation result using the public key in the public data header and uploads it to the chain.
[0075] In one possible implementation, the privacy computing network nodes are divided into task initiation nodes and task computing nodes. The task initiation node is mainly used to define the algorithm for this task, the number and scope of participating computing nodes, the computing order of each participating node, and to initiate blockchain proposals. In S100, the task initiation workflow is as follows: Figure 4 , Figure 4 This is a schematic diagram of the task initiation process of a privacy computing method according to another embodiment of this application.
[0076] Combination Figure 4 As shown, the task initiation process includes the following steps:
[0077] 1. Define participating nodes
[0078] The task initiator selects the nodes to participate in this task from the entire node set based on the actual business scenario, i.e., Set(k) = {N1, N2, ..., N}. k},Set (k) ∈Set (n) , where k and n are the number of nodes selected for this task and the number of nodes in the privacy computing network set, respectively.
[0079] 2. Define initialization data
[0080] The task initiating node, based on the actual business scenario and local data, generates a random hash and combines the two to create a data set to be calculated, D0 = [d0 + r0], where d0 is the original data and r0 is the random hash mask. The initiating node records r0.
[0081] 3. Determine the order of node participation.
[0082] The node will randomly select Set(k) nodes to participate in this task. This process uses the HMAC_DRBG random generation method, the basic principle of which is as follows:
[0083] K_i=HMAC(K_{i-1},V_{i-1}||additional_input)
[0084] V_i = HMAC(K_i, V_{i-1})
[0085] K represents the corresponding key, V represents the corresponding state, and additional_input is the input from the external entropy source. The corresponding node order is generated, and the node information is assembled as follows:
[0086] List <node>nodes = [N m N t ,...,N k ], where m, t, k∈n, and n is the total number of network nodes.
[0087] N m ={"ip":"<node IP>","port":"<node port>","pubKey":"<node public key>"}
[0088] 4. Define header data
[0089] Before a task is initiated, the initiating node must define the sorted header information for each participating node, which can be represented as follows: Headers = [PK m [pk m+1 ],PK t [pk t+1 ],...,PK n [pk n+1] ], PKm represents encryption using the public key of the current node m, and pkm represents the public key corresponding to node m. As shown in the formula above, the task initiating node needs to encrypt the public keys of all participating nodes and their downstream nodes using its own public key. Finally, these are assembled into a Headers list and transmitted via the blockchain MetaData.
[0090] 5. Initiate blockchain proposals
[0091] After the node operation order and basic data processing are completed, the above information is encapsulated into an object, the basic structure of which is as follows: {
[0092] headers:[PK m [pk m+1 ],PK t [pk t+1 ],...,PK n [pk n+1] ],
[0093] data:PK m (D0)
[0094] };
[0095] In addition to transmitting the Headers generated in step 4 to the chain, the initiating node also needs to compute and obfuscate the resulting data D0 (see step 2) locally, encrypt it with the public key of the compute node m, and publish the new proposal to the chain.
[0096] In S200, blockchain data forwarding is as follows: Figure 5 As shown, Figure 5 This is a schematic diagram illustrating the collaborative logic of the initiating node and participating nodes on the proposal chain in a privacy computation method according to another embodiment of this application. Specifically, the blockchain network chain can be a public chain or a consortium chain. Given that privacy computation network nodes require a certain level of expertise in real-world scenarios, a consortium chain is preferred in this embodiment. With the development of blockchain, its trust establishment, good transparency, and security have been widely applied in various industries. The privacy computation method according to this application chooses a centralized message bus based on its trust and security characteristics. S200 specifically includes:
[0097] 1. Establishment of Proposal Operation Permissions
[0098] Since blockchain is a transparent and public network, in order to ensure data security, it is necessary to set up contract operation permissions, which can be divided into permission initialization and permission change.
[0099] Permission initialization may include: when creating the proposal contract, assigning blockchain accounts to the privacy computing network nodes and calling the contract initialization method to add all participating nodes of the entire computing network to the contract management set. For example, its pseudocode may include:
[0100]
[0101] Permission changes can include: Since privacy network nodes are constantly changing, with new organizations joining and existing organizations leaving, the proposal contract management set must also have change functionality. An example logic is as follows:
[0102]
[0103] 2. Construction of the proposal function
[0104] The proposal function primarily involves the initiator publishing a task proposal on a blockchain node to complete a privacy-preserving computation task. Each participating computation node listens for and parses the proposal to obtain collaborative input data. In each round, the computation nodes perform calculations using the parsed algorithm and their local data, and then upload the results to the blockchain via a voting process, or directly reject the parameters. An example proposal data structure is as follows:
[0105]
[0106]
[0107] In S300, the resolution and computation of compute node proposals are as follows: Figure 6 As shown, Figure 6 This is a schematic diagram of the operation flow of a computing node in a privacy computing method according to another embodiment of this application. The blockchain collects and transmits the computation results of each node in a proposal manner, while each computing node also monitors changes to the blockchain proposal data. When the proposal data changes, the computing node parses the on-chain proposal data using a blockchain data parser.
[0108] Specifically, if the initiator proposes a privacy computing task proposal Pn, and its on-chain blockchain height is n, it is represented as Bn.
[0109] The compute node listens to the on-chain contract, obtains Bn from the chain, and verifies the parsed Dn using its locally allocated private key. needExe = Verify_Sign(sk, D n If needExe is false, it is ignored; otherwise, the proposal data Dn is retrieved. The structure of Dn is the same as that of the object, which can be found in the proposal function construction section of S200.
[0110] Using the private key corresponding to the current node, decrypting Dn yields the following data:
[0111] nextPK = D(SK,D) n .headers);
[0112] algorithm = D n .algorithm;
[0113] d n =D(SK,Dn.body);
[0114] Where D is the corresponding decryption algorithm, SK is the preset private key, nextPK is the public key corresponding to the next computing node, that is, the public key of the next relay node, and dn is the computing result of the previous node (which can be a privacy computing result such as homomorphic encryption).
[0115] The compute nodes obtain local data LDn based on the parameters required by the algorithm.
[0116] The algorithm obtained from the parsing was used to calculate using local data, and the result was:
[0117] d n+1 =f(d n ,LD n )
[0118] Where, d n+1 The result of this privacy computation is given by f, where f is the function used for the privacy computation.
[0119] The result of this calculation d n 'The encrypted result is d, obtained by parsing the public key of the next node.' n+1 .
[0120] Assemble the on-chain voting data by encapsulating the encrypted data into the voting data. The basic structure of the voting data is as follows:
[0121]
[0122] The generated on-chain object is then signed using a blockchain wallet and uploaded to the blockchain.
[0123] signBlob = Sign(d' n+1 ,sk)
[0124] The next computing node continues the above process until all nodes selected for this task have completed their execution. The final result is then returned to the initiating node, which decrypts the computing result using its private key, ends the current computing task, and updates the proposal status to "success".
[0125] Based on the above steps, the privacy computing system and method of this application embodiment solves the complex problem of opening node interaction ports in real-world privacy computing mesh topologies. It allows nodes to simply listen to the corresponding port on the blockchain (message bus). By adopting a bus topology with the blockchain as the message bus, and relying on the blockchain's multi-node and fault-tolerant nature, stable bus operation can be guaranteed. Furthermore, this structure has strong compatibility and can support various privacy computing methods. Compared to existing technologies, the privacy computing system and method of this application embodiment has no inter-node dependencies; messages are broadcast to each node, allowing each node to perform business simultaneously. Moreover, the message transmission uses blockchain, which inherently possesses data transparency and decentralization characteristics. Access parties do not need to worry about data black-box issues, and the blockchain's fault tolerance prevents single-point failures from paralyzing the entire computing network. This effectively solves the problems of complex node interaction port opening in traditional privacy network mesh topology, strong sequential dependency of nodes in ring network, and single point of failure of centralized platform server. It enables the construction of a highly robust, low-maintenance, and truly decentralized network architecture while ensuring that "data does not leave the domain", so as to achieve secure and efficient collaboration of cross-organizational data.
[0126] Based on the same inventive concept, in one embodiment, this application provides an electronic device including a processor, a communication interface, a memory, and a communication bus, wherein the processor, communication interface, and memory communicate with each other via the communication bus; the memory is used to store computer programs; the processor, when executing the program stored in the memory, implements the method described above. This implements the privacy computing method in any of the above possible implementations. The electronic device can be a PC, server, terminal, or other similar device.
[0127] More details and beneficial effects of this embodiment can be found in the descriptions of the foregoing embodiments, and will not be repeated here.
[0128] Based on the same inventive concept, in one embodiment, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the exploration data processing method or the abnormal data filtering method as described above.
[0129] More details and beneficial effects of this embodiment can be found in the descriptions of the foregoing embodiments, and will not be repeated here.
[0130] It should be understood that these embodiments are for illustrative purposes only and are not intended to limit the scope of this application. Experimental methods in the following embodiments, unless specific conditions are specified, are generally determined according to national standards. If no corresponding national standard exists, then generally accepted international standards, conventional conditions, or conditions recommended by the manufacturer are followed.
[0131] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one…" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0132] The above description is merely a specific embodiment of this disclosure, enabling those skilled in the art to understand or implement it. Various modifications to these embodiments will be readily 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 this disclosure. Therefore, this disclosure is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.< / node>
Claims
1. A privacy computing system, comprising: A bus-type network topology is adopted, including: The blockchain network, as a message bus, is used to store and broadcast task proposals, encrypted data, and node voting results, and manages the set of node permissions through smart contracts; The task initiation node is used to define the privacy computing algorithm specified for the task, select computing nodes to participate in the task, randomly generate the execution order of the computing nodes, construct an encrypted address book, encrypt the initial data, and publish the task proposal to the blockchain network. Multiple computing nodes are used to monitor the blockchain network. When a task proposal or update is detected, they attempt to decrypt the data packet with their own private key. If the decryption is successful, they claim the task, perform local privacy computation, use the public key of the next node obtained from the encrypted address book to encrypt the computation result, and submit the encrypted result as a voting data signature to the blockchain network. In this system, all task instructions and encrypted data are transferred only through the blockchain network between the task initiating node and the computing node, and between the computing nodes.
2. The privacy computing system according to claim 1, characterized in that, The encrypted address book is constructed by the task initiating node generating an entry for each selected computing node and encrypting the public key of the next relay node determined by the random execution order using the computing node's own public key.
3. The privacy computing system according to claim 1, characterized in that, The task proposal published by the task initiating node includes: initial data encrypted with the public key of the first computing node in the random execution order, an encrypted address book containing entries for all selected computing nodes, and a description of the privacy computing algorithm.
4. The privacy computing system according to claim 1, characterized in that, For the last computing node in the execution order, the public key of the next relay node obtained by the computing node from the encrypted address book is the public key of the task initiating node. It is used to encrypt the final calculation result and submit it to the blockchain network, and is then decrypted by the task initiating node.
5. A privacy computation method, characterized in that, The method, applied to the privacy computing system according to any one of claims 1 to 4, comprises the following steps: Step S1: The task initiating node defines the privacy computing algorithm, selects a set of computing nodes to participate in the computing, and randomly generates the execution order of the computing nodes; Step S2: The task initiating node constructs an encrypted address book, generates an encrypted entry for each selected computing node, and uses the computing node's own public key to encrypt the public key of the next relay node; wherein, the next relay node is the computing node following the computing node in the execution order. Step S3: The task initiating node encrypts the initial data of the privacy computing task using the public key of the first computing node in the execution order, and encapsulates the encrypted initial data, the encrypted address book, and the description of the privacy computing algorithm into a task proposal, which is then published to the blockchain network. Step S4: The computing node listens to the blockchain network. When it hears a task proposal or updated data, it attempts to decrypt the data packet of the proposal with its own private key. If the decryption is successful, the computing node claims the task. Step S5: The computing node that claims the task decrypts the address book entry to obtain the public key of the next relay node, decrypts the data to be calculated input to the computing node, performs local privacy calculation, and obtains the calculation result. Step S6: The computing node that claims the task encrypts the computing result using the public key of the next relay node, signs it, and submits it to the blockchain network as voting data. Step S7: The next successor node of the computing node repeats steps S4 to S6 until the final result is generated and submitted. Step S8: The task initiating node obtains and decrypts the final result, and updates the status of the task proposal to complete.
6. The privacy computation method according to claim 5, characterized in that, The construction of the encrypted address book in step S2 satisfies: If the computing node is not the last computing node in the execution order, the entry corresponding to the computing node in the encrypted address book contains the public key of the next relay node encrypted with the public key of the encrypted address book. In the case where the computing node is the last computing node in the execution order, the entry corresponding to the computing node in the encrypted address book contains the public key of the task initiating node encrypted with the public key of the computing node.
7. The privacy computation method according to claim 5, characterized in that, The public key used in the encryption calculation result in step S6 is derived from the public key of the next relay node obtained by decrypting the encrypted address book in step S5.
8. The privacy computation method according to claim 5, characterized in that, All data transmission is completed solely through the blockchain network, which serves as a message bus. There is no direct network communication between the computing nodes, and each computing node only knows the public key of the next relay node directly following it in the execution order, and cannot know the global task chain topology.
9. The privacy computation method according to claim 5, characterized in that, Step S5 includes: For the computing node that claims the task, its own private key is used to decrypt the entry corresponding to itself in the encrypted address book to obtain the public key of the next relay node. The data to be computed by the computing node is decrypted using the computing node's own private key, and the decrypted data is obtained. By combining the decrypted data and local data, the privacy calculation algorithm is executed to generate the calculation result.
10. The privacy computation method according to claim 5, characterized in that, The submission of the final result includes: the last computing node in the execution order encrypts the final result using the public key of the task initiating node, submits it to the blockchain network, and is then decrypted by the task initiating node.
Citation Information
Patent Citations
Multi-party computing method and device based on blockchain, equipment and medium
CN111222165A
Data sharing method and system based on blockchain and attribute-based encryption, and computer readable storage medium
CN112637278A