Image file secure multi-party computing method and system
By combining blockchain, digital identity and multi-party security computing technology, using content-aware algorithms to perform joint calculations, generating digital watermarks and public-private key pairs, the problems of data privacy protection and ownership on the blockchain are solved, and data efficiency is achieved Traceability and security, suitable for secure data sharing and financial business scenarios.
Patent Information
- Application Number
- CN202111446594.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-30
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2041-11-30
AI Technical Summary
In the blockchain system, data privacy protection and data ownership are difficult to achieve, and the traditional centralized operation model leads to data silos, limiting joint operations across subjects and across scenarios.
Combining blockchain, digital identity and multi-party security computing technology, joint calculations are carried out through content perception algorithms to generate digital watermarks and public-private key pairs to realize data encryption, decryption and traceability, break data channel isolation, and improve the protection capabilities of private data.
Effectively solve the problem of data privacy protection and attribution rights on blockchain, provide traceability means for malicious dissemination, break the traditional centralized operation model, improve data traceability and security, and is suitable for secure data sharing and financial services. Scene.
Smart Images

Figure CN114119021B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data sharing and can be applied to the financial field and other fields, and in particular to a method and system for secure multi-party computing of image files. Background Art
[0002] In the traditional distributed system, all parties involved in the system need to exchange data around the regional central system. All cross-institutional business processes within the system must be circulated and processed through the central system. Data processing is subject to the processing time of the central system, which is relatively low. In addition, due to concerns about their own data privacy and business interests, all participants in the system are unwilling to maliciously share internal data. Even if leaked private image files are found, there is no way to trace them back and claim the rights. This makes it easy for multi-centralized operation systems to form data islands, making it difficult to form a cross-subject and cross-scenario joint operation model, and limiting the business development model.
[0003] The decentralized, tamper-proof, and traceable characteristics of the blockchain system provide a good solution to the problems encountered by centralized operations, but in practical applications, there are still some issues that need to be resolved in terms of data privacy protection. Although the blockchain has a relatively safe operating environment, the data is not private in nature. Users create data, but they do not have data control and traceability, and cannot guarantee that the data belongs to them. One of the values of the blockchain is that it cannot be tampered with and the ownership is confirmed. In the blockchain system, once the data is taken away, the individual will no longer have the sole ownership of the data. In addition, due to the physical channel data isolation mechanism of the blockchain, the data between channels are not visible to each other, which to a certain extent limits the application of trusted data transmission between institutions on the blockchain across scenarios and institutions. Summary of the invention
[0004] The purpose of the present invention is to provide a method and system for secure multi-party computing of image files, which utilizes the combination of blockchain and secure multi-party computing technology to enhance its own privacy data protection capabilities. By combining blockchain + digital identity + secure multi-party computation (MPC), it not only solves the problem of decentralized data privacy protection, but also solves the problem of data ownership, and provides a basis for recourse for malicious dissemination of private data that may occur in the future.
[0005] To achieve the above-mentioned purpose, the present invention provides a secure multi-party computing method for image files, which is applicable to a blockchain network. The method comprises: receiving a multi-party secure computing transaction request provided by a user, and assembling a request transaction message according to the multi-party secure transaction request; broadcasting the request transaction message to the blockchain network, and having a blockchain node in the blockchain network parse the request transaction message to obtain a corresponding contract identifier, and obtaining corresponding computing parameters in the blockchain network according to the contract identifier; transmitting the computing parameters to other multi-party computing nodes, and having each multi-party computing node jointly calculate the computing parameters through a content-aware algorithm to obtain a computing result; providing the computing result to the blockchain node, and having the blockchain node provide the computing result to the blockchain network consensus record.
[0006] In the above-mentioned image file secure multi-party computing method, preferably, before receiving the multi-party secure computing transaction request provided by the user, it also includes: obtaining a multi-party secure computing smart contract deployment request, generating a corresponding contract unique identifier and a transaction unique identifier for the deployment contract transaction according to the smart contract deployment request; generating a deployment transaction message according to the contract unique identifier, the transaction unique identifier and the smart contract deployment request; broadcasting the deployment transaction message to each blockchain node in the blockchain network, and each blockchain node deploys the corresponding smart contract according to the deployment transaction message.
[0007] In the above-mentioned secure multi-party computing method for image files, preferably, obtaining a calculation result by performing joint calculation through a content-aware algorithm includes: generating a digital watermark of the owner of the image data in the multi-party secure computing transaction request according to the calculation parameters; adding the digital watermark to the image data and converting it into picture data of a predetermined size through a low-pass filter; extracting a feature vector after converting the pixel matrix of the picture data using a Fourier series, and compressing the feature vector to obtain the calculation result.
[0008] In the above-mentioned secure multi-party computing method for image files, preferably, extracting the feature vector after converting the pixel matrix of the image data using Fourier series also includes: generating a public-private key pair based on the feature vector, and the multi-party computing node and the blockchain node encrypt and decrypt the calculation result through the public-private key pair.
[0009] In the above-mentioned secure multi-party computing method for image files, preferably, the blockchain node providing the calculation result to the blockchain network consensus record also includes: performing evaluation similarity verification on the calculation result, and providing the calculation result to the blockchain network consensus record based on the verification result.
[0010] In the above-mentioned secure multi-party computing method for image files, preferably, evaluating the similarity verification of the calculation results includes: verifying the calculation results of each multi-party computing node according to the public-private key pair; and when the verification is passed, analyzing the similarity of each calculation result using zero-knowledge proof to obtain a similarity verification result.
[0011] The present invention also provides a secure multi-party computing system for image files, the system comprising a client access layer, a multi-party secure computing network consisting of multiple multi-party computing nodes, and a blockchain network comprising multiple blockchain nodes; the client access layer comprises multiple clients, the clients are used to receive multi-party secure computing transaction requests provided by users, and provide the multi-party secure transaction requests to associated multi-party computing nodes; the multi-party computing nodes are used to assemble transaction messages according to the received multi-party secure transaction requests, and broadcast the transaction messages to the blockchain network; and, transmit the received calculation parameters to other multi-party computing nodes, and each multi-party computing node jointly calculates the calculation parameters to obtain a calculation result, and provides the calculation result to the blockchain node; the blockchain node is used to obtain the transaction message broadcasted in the blockchain network, parse the transaction message to obtain a corresponding contract identifier, and obtain the corresponding calculation parameters in the blockchain network according to the contract identifier; provide the calculation parameters to the associated multi-party computing nodes; and provide the received calculation result to the blockchain network consensus record.
[0012] In the above-mentioned image file secure multi-party computing system, preferably, the blockchain node includes a transaction processing module, which is used to obtain a multi-party secure computing smart contract deployment request, generate a corresponding contract unique identifier and a transaction unique identifier for the deployment contract transaction according to the smart contract deployment request; generate a deployment transaction message according to the contract unique identifier, the transaction unique identifier and the smart contract deployment request; broadcast the deployment transaction message to each blockchain node in the blockchain network, and each blockchain node deploys the corresponding smart contract according to the deployment transaction message.
[0013] In the above-mentioned secure multi-party computing system for image files, preferably, the multi-party computing node includes a secure computing module, and the secure computing module is used to generate a digital watermark of the owner of the image data in the multi-party secure computing transaction request according to the computing parameters; add the digital watermark to the image data and convert it into picture data of a predetermined size through a low-pass filter; extract the eigenvector after converting the pixel matrix of the picture data using Fourier series, and compress the eigenvector to obtain the calculation result.
[0014] In the above-mentioned secure multi-party computing system for image files, preferably, the multi-party computing node also includes a ciphertext processing module, which is used to generate a public-private key pair according to the feature vector, and the multi-party computing node and the blockchain node encrypt and decrypt the calculation result through the public-private key pair.
[0015] In the above-mentioned image file secure multi-party computing system, preferably, the blockchain node also includes a consensus verification module, and the consensus verification module is used to perform evaluation similarity verification on the calculation result, and provide the calculation result to the blockchain network consensus record according to the verification result.
[0016] In the above-mentioned secure multi-party computing system for image files, preferably, the consensus verification module further includes: verifying the calculation results of each multi-party computing node according to the public-private key pair; when the verification is passed, using zero-knowledge proof to analyze the similarity of each calculation result to obtain a similarity verification result.
[0017] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above method when executing the computer program.
[0018] The present invention also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program for executing the above method.
[0019] The beneficial technical effects of the present invention are: to address the pain points of user data files being difficult to track, difficult to prove, high cost, and low efficiency in blockchain + multi-party secure computing, the existing traditional centralized operation model is broken, and a solution for secure multi-party computing of image files of blockchain digital identity is proposed; the semantic-aware hash algorithm is embedded into blockchain and multi-party secure computing technology to effectively solve the problem of digital file content tracking and operation, and can be widely used in business scenarios such as secure data sharing and financial services. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The drawings described herein are used to provide a further understanding of the present invention, constitute a part of the present application, and do not constitute a limitation of the present invention. In the drawings:
[0021] Figure 1 A schematic diagram of a flow chart of a secure multi-party computing method for image files provided by an embodiment of the present invention;
[0022] Figure 2 A schematic diagram of a smart contract deployment process provided by an embodiment of the present invention;
[0023] Figure 3 A schematic diagram of a smart contract deployment application provided by an embodiment of the present invention;
[0024] Figure 4 A schematic diagram of a multi-party secure computing process provided by an embodiment of the present invention;
[0025] Figure 5 A schematic diagram of a joint calculation process provided by an embodiment of the present invention;
[0026] Figure 6 A schematic diagram of a multi-party computing process provided by an embodiment of the present invention;
[0027] Figure 7 A schematic diagram of a flow chart of a calculation result query provided by an embodiment of the present invention;
[0028] Figure 8 A schematic diagram of the structure of a secure multi-party computing system for image files provided by an embodiment of the present invention;
[0029] Fig. 9 A schematic diagram of the structure of a multi-party computing node provided by an embodiment of the present invention;
[0030] Fig.10 A schematic diagram of the structure of a blockchain node provided by an embodiment of the present invention;
[0031] Fig.11 A schematic diagram showing the principle structure of a secure multi-party computing system for image files provided by an embodiment of the present invention;
[0032] Fig.12 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0033] The following will describe the implementation methods of the present invention in detail with reference to the accompanying drawings and embodiments, so that the implementation process of how the present invention applies technical means to solve technical problems and achieve technical effects can be fully understood and implemented accordingly. It should be noted that as long as there is no conflict, the various embodiments of the present invention and the various features in the embodiments can be combined with each other, and the technical solutions formed are all within the protection scope of the present invention.
[0034] In addition, the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be performed in an order different from that shown here.
[0035] Please refer to Figure 1 As shown, a secure multi-party computing method for image files provided by the present invention is applicable to a blockchain network, and the method comprises:
[0036] S101 receives a multi-party secure computing transaction request provided by a user, and assembles a request transaction message according to the multi-party secure transaction request;
[0037] S102 broadcasts the transaction request message to the blockchain network, and the blockchain nodes in the blockchain network parse the transaction request message to obtain a corresponding contract identifier, and obtain corresponding calculation parameters in the blockchain network according to the contract identifier;
[0038] S103: transmitting the calculation parameters to other multi-party computing nodes, and each multi-party computing node performs joint calculation on the calculation parameters through a content-aware algorithm to obtain a calculation result;
[0039] S104 provides the calculation result to the blockchain node, and the blockchain node provides the calculation result to the blockchain network consensus record.
[0040] In the above embodiment, secure multiparty computation (MPC) is an encryption protocol that performs data calculations in a distributed system. During the calculation process, each participant cannot know the data of other participants. It is possible to perform secure and confidential calculations on data without the need for each participant to disclose or upload data. Decentralized Identifiers (DID) adopts a public-private key mechanism. The private key is kept by the entity (or hosted by an agent), and the public key is published to the blockchain and made public to the entire network, realizing the dual functions of data encryption and identity authentication. Combining blockchain + digital identity + multi-party security, by providing digital identity authentication for private data and certain computing power, giving private data the attributes of traceability and selective disclosure, breaking the barrier of channel data being unavailable to each other, and thereby enhancing the value of secret private data on the blockchain; the implementation principle of the above embodiment provided by the present invention is mainly that: the sender may be multiple subjects, who are responsible for the authenticity of the transaction data and the reliability of the access object. First, multiple subjects (assuming A, A = {A i |i∈N}) signs the transaction data object, and then determines the recipient of the data (assuming it is B). A encrypts the data with B's identity ID, and then packages it into a message and transmits it to the blockchain. After B obtains the encrypted data through the blockchain, it decrypts it with the private key, and then uses A's public key to batch verify the signature. In the blockchain network, all block nodes and users have digital identities DID, which are formally expressed as:
[0041] DID={id|did:method:Did-Identifier};
[0042] DID is the identity ID of nodes and users in the blockchain network, which is synchronized to the consensus accounting node through the blockchain network and stored in the block. The blockchain network provides smart contracts and provides query services for visitors. The specific implementation methods will be explained one by one in the subsequent examples, so they will not be described in detail here.
[0043] Please refer to Figure 2 As shown, in one embodiment of the present invention, before receiving the multi-party secure computing transaction request provided by the user, the following steps are also included:
[0044] S201 obtains a multi-party secure computing smart contract deployment request, and generates a corresponding contract unique identifier and a transaction unique identifier of the deployment contract transaction according to the smart contract deployment request;
[0045] S202 generates a deployment transaction message according to the contract unique identifier, the transaction unique identifier and the smart contract deployment request;
[0046] S203 broadcasts the deployment transaction message to each blockchain node in the blockchain network, and each blockchain node deploys the corresponding smart contract according to the deployment transaction message.
[0047] This embodiment is mainly used to deploy smart contracts. For its actual operation process, please refer to Figure 3 As shown: S301: The operator on any node initiates a multi-party secure computing smart contract deployment request to the node through the client, and the blockchain node will receive the deployment request; S302: After receiving the smart contract deployment request, the transaction processing module generates a unique identifier for the deployment contract transaction and a unique identifier for the smart contract, and then assembles the transaction unique identifier, contract unique identifier, smart contract code and related parameters into a message. S303: The transaction processing module of the blockchain node calls the communication module to broadcast the message assembled in step S302 to other blockchain nodes in the blockchain system; S304: Each node receives the contract deployment request message and starts to parse the request message. If it involves this node, it starts to compile the smart contract code at this node and start the smart contract execution environment; S305: The blockchain node returns the deployment success status to the operator's client. Thereafter, the multi-party secure computing transaction can be executed, such as Figure 4As shown: S401: After the client deploys the smart contract on the node involved in the transaction, it starts to issue a multi-party secure computing transaction request, and the transaction request specifies the relevant computing parameters and the unique identifier of the multi-party secure computing smart contract; S402: The communication module of the multi-party secure computing node receives the multi-party secure computing transaction request and assembles the transaction message; S403: Encrypt the transaction message and broadcast the transaction request to the blockchain system through the communication module; Responsible for encrypting and decrypting the multi-party secure computing message and executing the content-aware algorithm. The content-aware algorithm includes two steps: generating feature vectors and evaluating similarity. Generating feature vectors includes: preprocessing, feature generation, and post-processing; evaluating similarity includes four steps: calculating similarity, transmitting information, responding to requests, and verifying similarity. The detailed process will be described one by one in the subsequent embodiments, and will not be described in detail here.
[0048] Please refer to Figure 5 As shown, in one embodiment of the present invention, the calculation result obtained by performing joint calculation through the content-aware algorithm includes:
[0049] S501 generates a digital watermark of the owner of the image data in the multi-party secure computing transaction request according to the computing parameters;
[0050] S502: adding the digital watermark to the image data and converting it into picture data of a predetermined size through a low-pass filter;
[0051] S503 converts the pixel matrix of the image data using Fourier series to extract feature vectors, and compresses the feature vectors to obtain calculation results.
[0052] Specifically, the calculation result is mainly the above-mentioned eigenvector, and the generation process of the eigenvector in actual work is as follows:
[0053] (1) Preprocessing: Generate a digital watermark of the image owner. Suppose the DID of the image owner A is Did A , using the Hash algorithm to convert Did A Convert to 256-bit hash code HDid A , which is the digital watermark of A, and is further expanded into an m×n sparse matrix R as follows:
[0054] R=Sprand(m,n,HDid A );
[0055] Among them, Sprand represents the sparse matrix function, m×n represents the rows and columns of the sparse matrix, and the scale is equal to the length and width of the original image pixels.
[0056] Assume I is the original image of m×n, and add the digital watermark of A to I as follows:
[0057] I = I × R;
[0058] Convert the image or text into a fixed-size image (e.g., 512x512 pixels) through a low-pass filter. Let i(x,y) represent the pixel matrix, and use the Fourier series to convert the pixel matrix into polar coordinate form I(ρ,θ).
[0059] (2) Feature generation: Select m sets of feature sets {Γ j} j∈[m] , choose ρ∈Γ j is the unique (non-repeated) feature variable in the image pixel matrix. For each ρ, a random number β is selected ρ Correspondingly, the feature vector of the image is represented as {h1,h2,...,h m},in,
[0060]
[0061] I(ρ,θ) is the polar coordinate form of pixel point i(x,y).
[0062] (3) Post-processing: The feature vector is quantized and compressed, and the distribution function is applied to the compression process, which will not be described in detail here.
[0063] In one embodiment of the present invention, extracting the feature vector after converting the pixel matrix of the image data using Fourier series may also include: generating a public-private key pair according to the feature vector, and the multi-party computing node and the blockchain node encrypt and decrypt the calculation result through the public-private key pair. For the specific process, please refer to Figure 6As shown, S601: each blockchain node receives a multi-party secure computing transaction request, parses the message, obtains the unique identifier of the smart contract, and then transmits the relevant information to the corresponding smart contract, which is processed by the smart contract module, executes the smart contract business logic, and performs data processing; S602: According to the smart contract business logic, the data required for this multi-party secure computing transaction is obtained from the blockchain node database, and then the data is handed over to the multi-party secure computing node; S603: The multi-party secure computing node receives the transaction message data, and encrypts the transaction message data obtained by the encryption module; S604: Encryption The processed data is transmitted to other nodes in the system by the communication module, and the transmitted message includes calculation factors, random numbers, data ciphertext, etc.; S605: Each node uses the ciphertext processing module in the multi-party secure computing node to jointly calculate the ciphertext obtained by the communication; S606: The final result of the joint calculation of the multi-party secure computing ciphertext processing module is returned to the smart contract node; S607: Each blockchain node smart contract verifies the multi-party secure computing transaction result through the blockchain consensus mechanism, and finally reaches a consensus and records it in the blockchain ledger; responsible for executing the smart contract to form a joint calculation result, verifying and evaluating the similarity result. Among them, the public and private key pair is mainly used to generate β during the generation of feature vectors ρ , and choose ρ∈Γ j The calculation formula is as follows:
[0064]
[0065] In one embodiment of the present invention, the blockchain node providing the calculation result to the blockchain network consensus record also includes: evaluating the similarity verification of the calculation result, and providing the calculation result to the blockchain network consensus record according to the verification result. Among them, evaluating the similarity verification of the calculation result includes: verifying the calculation result of each multi-party computing node according to the public-private key pair; after the verification is passed, using zero-knowledge proof to analyze the similarity of each calculation result to obtain a similarity verification result. Specifically, in actual work, calculating similarity includes calculations at both ends (client and blockchain node), and the client calculation model is expressed as:
[0066]
[0067] in,
[0068]
[0069] In the above formula, Indicates that the public key pair β ρ,j The result of encryption, u represents the size of the vector space, N represents a large prime number, ρ∈Γ jis the unique (non-repeated) eigenvector in the image pixel matrix, c p It represents the sum of the square roots of k polar axes (<π) apart.
[0070] The blockchain node needs to decrypt the feature vector and then compress the feature vector using operations similar to the post-processing stage.
[0071] The analysis process for the above zero-knowledge proof is as follows:
[0072] The client user needs to prove that he can provide the vector:
[0073] [c ρ ]∈Z N (forρ=1,...,u);
[0074] So as to satisfy:
[0075]
[0076] The standard zero-knowledge proof steps are as follows:
[0077] A client calculation:
[0078] For every value r ρ ∈ R Z N ,calculate:
[0079]
[0080] B blockchain node transmits random number:
[0081] The blockchain node sends a random number to the client: e∈ R Z N ;
[0082] C client responds:
[0083] Client response message: s ρ =r ρ +ec ρ mod N;
[0084] In the above formula, r ρ ∈ R Z N is an integer less than N, e∈ R Z N A random number sent by the server to the client.
[0085] D blockchain node verification:
[0086] Blockchain node verification:
[0087] If the two sides are equal, it means the similarity is close, otherwise it means they are not similar.
[0088] Finally, the similarity is used as the verification result to determine whether to reach a consensus.
[0089] Based on the above, when any operator needs to query the multi-party secure computing results, they can refer to Figure 7 As shown, S701: operator B sends a multi-party secure computing result query request through the client; S702: the blockchain node obtains the multi-party secure joint computing result by executing the smart contract query transaction; S703: the joint computing result is returned to the client to complete the transaction.
[0090] The present invention also provides a secure multi-party computing system for image files, the system comprising a client access layer, a multi-party secure computing network consisting of multiple multi-party computing nodes, and a blockchain network comprising multiple blockchain nodes; the client access layer comprises multiple clients, the clients are used to receive multi-party secure computing transaction requests provided by users, and provide the multi-party secure transaction requests to associated multi-party computing nodes; the multi-party computing nodes are used to assemble transaction messages according to the received multi-party secure transaction requests, and broadcast the transaction messages to the blockchain network; and, transmit the received calculation parameters to other multi-party computing nodes, and each multi-party computing node jointly calculates the calculation parameters to obtain the calculation results, and provides the calculation results to the blockchain nodes; the blockchain nodes are used to obtain the transaction messages broadcast in the blockchain network, parse the transaction messages to obtain the corresponding contract identifiers, and obtain the corresponding calculation parameters in the blockchain network according to the contract identifiers; provide the calculation parameters to the associated multi-party computing nodes; and, provide the received calculation results to the blockchain network consensus record. For details, please refer to Figure 8 As shown, its structure includes client 1, MPC node 2, and blockchain node 3. Client 1: Mainly responsible for initiating smart contract deployment requests, multi-party secure computing transaction requests, multi-party secure computing query requests, etc. MPC node 2: Responsible for receiving multi-party secure transaction requests, performing multi-party secure computing, and storing transaction information in the blockchain node. Client A and client B of the present invention are respectively connected to the MPC node, and will issue secure multi-party computing requests through the MPC node and receive secure multi-party computing results. Blockchain node 3 is a node that completes functions such as transaction broadcasting, transaction execution, transaction verification, consensus and storage. It has the general characteristics of blockchain. Joint calculation and query of multi-party secure computing are initiated through the client, and the transaction records after the execution of the smart contract after multi-party secure computing will also be saved on the blockchain.
[0091] In one embodiment of the present invention, the multi-party computing node includes a secure computing module, and the secure computing module is used to generate a digital watermark of the owner of the image data in the multi-party secure computing transaction request according to the computing parameters; add the digital watermark to the image data and convert it into picture data of a predetermined size through a low-pass filter; use Fourier series to convert the pixel matrix of the image data and extract the feature vector, and compress the feature vector to obtain the calculation result. Furthermore, the multi-party computing node may also include a ciphertext processing module, and the ciphertext processing module is used to generate a public-private key pair according to the feature vector, and the multi-party computing node and the blockchain node encrypt and decrypt the calculation result through the public-private key pair. For details, please refer to Fig. 9 As shown, in actual work, the MPC node includes a communication module 21, a ciphertext processing module 22, and a secure computing module 23. Communication module 21: responsible for establishing a secure channel for the multi-party secure computing node 2 to realize the sending and receiving of multi-party secure computing messages. Ciphertext processing module 22: responsible for encrypting and decrypting multi-party secure computing messages, and is the main module for executing the content-aware algorithm. The content-aware algorithm includes two steps: generating feature vectors and evaluating similarity. Generating special function vectors includes: preprocessing, feature generation, and post-processing; evaluating similarity includes four steps: calculating similarity, transmitting information, responding to requests, and verifying similarity; the detailed implementation methods of generating feature vectors and evaluating similarity have been described in detail in the aforementioned embodiments, and will not be described in detail here.
[0092] In one embodiment of the present invention, the blockchain node includes a transaction processing module, the transaction processing module is used to obtain a multi-party secure computing smart contract deployment request, generate a corresponding contract unique identifier and a transaction unique identifier for the deployment contract transaction according to the smart contract deployment request; generate a deployment transaction message according to the contract unique identifier, the transaction unique identifier and the smart contract deployment request; broadcast the deployment transaction message to each blockchain node in the blockchain network, and each blockchain node deploys the corresponding smart contract according to the deployment transaction message. Furthermore, the blockchain node may also include a consensus verification module, the consensus verification module is used to evaluate the similarity verification of the calculation results, and provide the calculation results to the blockchain network consensus record according to the verification results. Among them, the consensus verification module also includes: verifying the calculation results of each multi-party computing node according to the public-private key pair; when the verification passes, using zero-knowledge proof to analyze the similarity of each calculation result to obtain a similarity verification result. For details, please refer to Fig.10As shown, in actual work, the technical structure of the blockchain node 3 includes: a communication module 31, a transaction processing module 32, a smart contract module 33, and a consensus verification module 34. Communication module 31: responsible for the communication interaction between nodes, completing the general blockchain node communication information, including transaction information broadcast, consensus-related information, block synchronization information, network status information, etc. Transaction processing module 32: responsible for receiving transaction requests, generating transaction unique identifiers, assembling transaction unique identifiers, contract unique identifiers and call parameters into transactions, and broadcasting them to other nodes of the blockchain. Smart contract module 33: responsible for receiving transaction requests from communication module 22, obtaining calculation results through multi-party secure calculations, making judgments based on preset business logic, and submitting the final transaction instructions to transaction processing module 21 through communication module 22 for execution. Consensus verification module 34: responsible for consensus processing of received transaction requests, if consensus is reached, calling smart contract module 23, executing smart contracts, and finally forming records for future audit tracing or verification. Responsible for executing smart contracts to form joint calculation results, verifying and evaluating similarity results.
[0093] In summary, the image file secure multi-party computing system provided by the present invention can be referred to in terms of implementation principle. Fig.11As shown, it mainly includes a client access layer 41, a multi-party secure computing network 42, and a blockchain network 43. Client access layer 41: responsible for providing client software for operator access, facilitating the initiation of multi-party secure computing requests and receiving multi-party secure computing results. The client can publish chain codes on the blockchain platform. After the client generates behavior data, it can call the chain code to initiate a transaction request, upload the behavior data to the chain, and submit it to the channel corresponding to each scenario according to the customer's usage scenario (the client can directly upload the customer behavior data without processing, and the specific data processing logic can be handed over to the scenario provider for execution). Suppliers can also publish chain codes, query the data belonging to their own channels, and process and analyze the data of their own channels. Multi-party secure computing network 42: responsible for configuring the learned parameters, data, business logic, etc. through the multi-party secure computing logic according to the computing request submitted by the client, and encrypting it to form a secure multi-party computing message, and broadcasting it to the blockchain network 43. Scenario providers can also publish joint operation chain codes, call MPC services through chain codes, each blockchain node has a corresponding MPC service, and the chain code can specify which MPC services are needed for joint computing. The scenario provider initiates a joint computing request through the chain code. The data of providers in other channels are originally inaccessible to each other. Through MPC, joint query and calculation can be performed without leaking their own data. Blockchain network 43: Responsible for receiving and decrypting secure multi-party computing messages, triggering the preset smart contract logic, and forming secure multi-party computing results. The blockchain network can provide hosting nodes, and local node deployment can also be provided for capable providers. Each scenario provider has its own channel on the blockchain, and the scenario provider cannot obtain data information from other channels, that is, other providers.
[0094] The beneficial technical effects of the present invention are: to address the pain points of user data files being difficult to track, difficult to prove, high cost, and low efficiency in blockchain + multi-party secure computing, the existing traditional centralized operation model is broken, and a solution for secure multi-party computing of image files of blockchain digital identity is proposed; the semantic-aware hash algorithm is embedded into blockchain and multi-party secure computing technology to effectively solve the problem of digital file content tracking and operation, and can be widely used in business scenarios such as secure data sharing and financial services.
[0095] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above method when executing the computer program.
[0096] The present invention also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program for executing the above method.
[0097] like Fig.12As shown, the electronic device 600 may further include: a communication module 110, an input unit 120, an audio processing unit 130, a display 160, and a power supply 170. It is worth noting that the electronic device 600 does not necessarily have to include Fig.12 In addition, the electronic device 600 may also include Fig.12 For components not shown, reference may be made to the prior art.
[0098] like Fig.12 As shown, the central processor 100 is sometimes also referred to as a controller or an operation control, and may include a microprocessor or other processor devices and / or logic devices. The central processor 100 receives inputs and controls the operations of various components of the electronic device 600.
[0099] The memory 140 may be, for example, one or more of a cache, a flash memory, a hard drive, a removable medium, a volatile memory, a non-volatile memory or other suitable devices. The above-mentioned information related to the failure may be stored, and a program for executing the relevant information may also be stored. The CPU 100 may execute the program stored in the memory 140 to implement information storage or processing.
[0100] The input unit 120 provides input to the CPU 100. The input unit 120 is, for example, a key or a touch input device. The power supply 170 is used to provide power to the electronic device 600. The display 160 is used to display display objects such as images and text. The display may be, for example, an LCD display, but is not limited thereto.
[0101] The memory 140 may be a solid-state memory, such as a read-only memory (ROM), a random access memory (RAM), a SIM card, etc. It may also be a memory that saves information even when the power is off, can be selectively erased, and is provided with more data, examples of which are sometimes referred to as EPROMs, etc. The memory 140 may also be some other type of device. The memory 140 includes a buffer memory 141 (sometimes referred to as a buffer). The memory 140 may include an application / function storage unit 142, which is used to store application programs and function programs or processes for executing the operation of the electronic device 600 through the central processor 100.
[0102] The memory 140 may also include a data storage unit 143 for storing data, such as contacts, digital data, pictures, sounds, and / or any other data used by the electronic device. The driver storage unit 144 of the memory 140 may include various drivers for communication functions of the electronic device and / or for executing other functions of the electronic device (such as messaging applications, address book applications, etc.).
[0103] The communication module 110 is a transmitter / receiver 110 that transmits and receives signals via an antenna 111. The communication module (transmitter / receiver) 110 is coupled to the central processor 100 to provide input signals and receive output signals, which may be the same as the case of a conventional mobile communication terminal.
[0104] Based on different communication technologies, multiple communication modules 110 may be provided in the same electronic device, such as a cellular network module, a Bluetooth module and / or a wireless LAN module. The communication module (transmitter / receiver) 110 is also coupled to a speaker 131 and a microphone 132 via an audio processor 130 to provide an audio output via the speaker 131 and receive an audio input from the microphone 132, thereby realizing a common telecommunication function. The audio processor 130 may include any suitable buffer, decoder, amplifier, etc. In addition, the audio processor 130 is also coupled to the central processor 100, so that the sound can be recorded on the local machine through the microphone 132, and the sound stored on the local machine can be played through the speaker 131.
[0105] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0106] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0107] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0108] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0109] The specific embodiments described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A secure multi-party computing method for image files, applicable to blockchain networks, characterized in that: The method comprises: Receiving a multi-party secure computing transaction request provided by a user, and assembling a request transaction message according to the multi-party secure computing transaction request; Broadcasting the transaction request message to the blockchain network, having the blockchain nodes in the blockchain network parse the transaction request message to obtain a corresponding contract identifier, and obtaining corresponding calculation parameters in the blockchain network according to the contract identifier; The calculation parameters are transmitted to other multi-party computing nodes, and each multi-party computing node performs joint calculation on the calculation parameters through a content-aware algorithm to obtain a calculation result; Providing the calculation result to the blockchain node, and the blockchain node providing the calculation result to the blockchain network consensus record; The obtaining of the calculation result by performing joint calculation by the content-aware algorithm comprises: generating a digital watermark of the owner of the image data in the multi-party secure computing transaction request according to the calculation parameters; After adding the digital watermark to the image data, the image data is converted into picture data of a predetermined size through a low-pass filter; The pixel matrix of the image data is transformed using Fourier series to extract a feature vector, and the feature vector is compressed to obtain a calculation result.
2. The secure multi-party computing method for image files according to claim 1, characterized in that: Before receiving the multi-party secure computing transaction request provided by the user, it also includes: Obtain a multi-party secure computing smart contract deployment request, and generate a corresponding contract unique identifier and a transaction unique identifier for the deployment contract transaction according to the smart contract deployment request; Generate a deployment transaction message according to the contract unique identifier, the transaction unique identifier and the smart contract deployment request; The deployment transaction message is broadcast to each blockchain node in the blockchain network, and each blockchain node deploys the corresponding smart contract according to the deployment transaction message.
3. The secure multi-party computing method for image files according to claim 1, characterized in that: The step of converting the pixel matrix of the image data using Fourier series and extracting the feature vector further comprises: A public-private key pair is generated according to the feature vector, and the multi-party computing node and the blockchain node encrypt and decrypt the calculation result through the public-private key pair.
4. The image file secure multi-party computing method according to claim 3, characterized in that: Providing the calculation result to the blockchain network consensus record by the blockchain node also includes: The calculation results are evaluated for similarity verification, and the calculation results are provided to the blockchain network consensus record according to the verification results.
5. The secure multi-party computing method for image files according to claim 4, characterized in that: Evaluating the similarity verification of the calculation results includes: Verifying the computation results of each multi-party computing node according to the public-private key pair; When the verification is passed, the similarity of each calculation result is analyzed using zero-knowledge proof to obtain the similarity verification result.
6. A secure multi-party computing system for image files, characterized in that: The system includes a client access layer, a multi-party secure computing network consisting of multiple multi-party computing nodes, and a blockchain network including multiple blockchain nodes; The client access layer includes a plurality of clients, wherein the clients are used to receive a multi-party secure computing transaction request provided by a user, and provide the multi-party secure computing transaction request to an associated multi-party computing node; The multi-party computing node is used to assemble a transaction message according to the received multi-party secure computing transaction request, and broadcast the transaction message to the blockchain network; and transmitting the received computing parameters to other multi-party computing nodes, each of which performs joint computing on the computing parameters to obtain computing results, and providing the computing results to the blockchain node; The blockchain node is used to obtain the transaction message broadcasted in the blockchain network, parse the transaction message to obtain the corresponding contract identifier, obtain the corresponding calculation parameters in the blockchain network according to the contract identifier; and provide the calculation parameters to the associated multi-party computing node; And, providing the received calculation results to the blockchain network consensus record; The multi-party computing node comprises a secure computing module, and the secure computing module is used to generate a digital watermark of the owner of the image data in the multi-party secure computing transaction request according to the computing parameters; The digital watermark is added to the image data and then converted into picture data of a predetermined size through a low-pass filter; a pixel matrix of the picture data is converted using Fourier series to extract a feature vector, and the feature vector is compressed to obtain a calculation result.
7. The image file secure multi-party computing system according to claim 6, characterized in that: The blockchain node includes a transaction processing module, which is used to obtain a multi-party secure computing smart contract deployment request, and generate a corresponding contract unique identifier and a transaction unique identifier of the deployment contract transaction according to the smart contract deployment request; Generate a deployment transaction message according to the contract unique identifier, the transaction unique identifier and the smart contract deployment request; broadcast the deployment transaction message to each blockchain node in the blockchain network, and each blockchain node deploys the corresponding smart contract according to the deployment transaction message.
8. The image file secure multi-party computing system according to claim 7, characterized in that: The multi-party computing node also includes a ciphertext processing module, which is used to generate a public-private key pair according to the feature vector, and the multi-party computing node and the blockchain node encrypt and decrypt the calculation result through the public-private key pair.
9. The image file secure multi-party computing system according to claim 8, characterized in that: The blockchain node also includes a consensus verification module, which is used to perform evaluation similarity verification on the calculation results and provide the calculation results to the blockchain network consensus record based on the verification results.
10. The image file secure multi-party computing system according to claim 9, characterized in that: The consensus verification module also includes: verifying the calculation results of each multi-party computing node according to the public-private key pair; and when the verification is passed, using zero-knowledge proof to analyze the similarity of each calculation result to obtain a similarity verification result.
11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 5 is implemented.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program for causing a computer to execute the method according to any one of claims 1 to 5.
