Blockchain-based data processing method, device, equipment and system

By using the zero-knowledge proof algorithm on the blockchain to encrypt corporate accounts receivable data, the problems of privacy information leakage and data management in pool financing business are solved, and effective management of the accounts receivable balance pool and accurate verification of the total amount of resources are achieved.

CN114707167BActive Publication Date: 2025-09-23ANT DOUBLE CHAIN TECH (SHANGHAI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210415074.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-22
Publication Date
2025-09-23
Estimated Expiration
2041-11-22

AI Technical Summary

Technical Problem

In pool financing business, the management and verification of corporate accounts receivable data carries the risk of privacy information leakage, and it is difficult for banks to effectively manage a large amount of dispersed accounts receivable data.

Method used

A blockchain-based zero-knowledge proof algorithm is used to encrypt corporate accounts receivable data to generate ciphertext data, and the total resource amount update of the resource pool is verified in the blockchain system through smart contracts to ensure data privacy and authenticity.

Benefits of technology

On the premise of ensuring that corporate privacy information is not leaked, effective management of the accounts receivable balance pool is achieved, reducing the bank's management costs and human and material resources investment, and ensuring the authenticity and validity of the data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114707167B_ABST
    Figure CN114707167B_ABST
Patent Text Reader

Abstract

The embodiments of the present specification provide a blockchain-based data processing method, apparatus, device, and system, wherein the method includes: obtaining target storage data to be processed of a target resource pool; wherein the target storage data includes ciphertext data corresponding to multiple target businesses of the target resource pool during its storage interval, and the ciphertext data is data obtained by encrypting the first value of the resource of each target business using a zero-knowledge proof algorithm; obtaining a first total resource amount of the target resource pool from the blockchain system, the first total resource amount being the total resource amount of the target resource pool at the starting point of the storage interval of the target storage data; generating proof data corresponding to the target storage data based on the ciphertext data and the first total resource amount based on the zero-knowledge proof algorithm, and saving the proof data to the blockchain system; the proof data is used to verify whether the update of the total resource amount of the target resource pool based on the multiple target businesses is correct.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This patent application is a divisional application of the Chinese patent application with application number: 202111383485.3, application date: November 22, 2021, and invention name: "Data processing method, device, equipment and system based on blockchain". Technical Field

[0002] This document relates to the field of data processing technology, and in particular to a blockchain-based data processing method, device, equipment and system. Background Art

[0003] In recent years, more and more banks have launched pool financing business for enterprises. That is, enterprises do not need to provide additional mortgages and guarantees. As long as they pool their daily scattered and small accounts receivable to form a "pool" with a relatively stable accounts receivable balance and transfer it to the bank, they can obtain a certain proportion of financing based on this.

[0004] To ensure the authenticity of each account receivable, companies typically provide banks with detailed data on each receivable, such as the amount. This can lead to privacy breaches. Furthermore, due to the large volume and dispersed nature of accounts receivable data in pooled financing, banks face urgent technical challenges in effectively managing and verifying this data. Summary of the Invention

[0005] One or more embodiments of this specification provide a blockchain-based data processing method. The method includes obtaining target storage data to be processed from a target resource pool. The target storage data includes ciphertext data of a first numerical value of resources for each target business in a plurality of target businesses in the target resource pool during its storage interval. The first total resource amount of the target resource pool at the starting point of the storage interval is obtained from the blockchain system. Based on the ciphertext data and the first total resource amount, proof data corresponding to the target storage data is generated based on a zero-knowledge proof algorithm. The proof data is saved in the blockchain system. The proof data includes the ciphertext data, and the proof data is used to verify whether the update of the total resource amount of the target resource pool is correct while ensuring the privacy of the first numerical value.

[0006] One or more embodiments of this specification provide a blockchain-based data processing device. The device includes a first acquisition module that acquires target storage data to be processed in a target resource pool. The target storage data includes ciphertext data of the first value of the resources of each target business in the target resource pool during its storage interval. The device also includes a second acquisition module that acquires the first total resource amount of the target resource pool at the starting point of the storage interval from the blockchain system. The device also includes a generation module that generates proof data corresponding to the target storage data based on the zero-knowledge proof algorithm according to the ciphertext data and the first total resource amount. The proof data is used to verify whether the update of the total resource amount of the target resource pool based on the multiple target businesses is correct while ensuring the privacy of the first value. The device also includes a storage module that saves the proof data in the blockchain system.

[0007] One or more embodiments of the present specification provide a blockchain-based data processing system. The system includes a blockchain system. The blockchain system obtains target storage data to be processed from a target resource pool. The target storage data includes ciphertext data of the first numerical value of the resources of each target business in the target resource pool during its storage interval. The first total resource amount of the target resource pool at the starting point of the storage interval is obtained from the blockchain system. Based on the ciphertext data and the first total resource amount, proof data corresponding to the target storage data is generated based on a zero-knowledge proof algorithm. The proof data is saved in the blockchain system. The proof data includes the ciphertext data, and the proof data is used to verify whether the update of the total resource amount of the target resource pool is correct while ensuring the privacy of the first numerical value.

[0008] One or more embodiments of the present specification provide a blockchain-based data processing device. The device includes a processor. The device also includes a memory configured to store computer-executable instructions. When executed, the computer-executable instructions cause the processor to obtain target storage data to be processed from a target resource pool. The target storage data includes ciphertext data of a first numerical value of resources for each target business in the target resource pool during a storage interval. The first total resource amount of the target resource pool at the starting point of the storage interval is obtained from a blockchain system. Based on the ciphertext data and the first total resource amount, proof data corresponding to the target storage data is generated based on a zero-knowledge proof algorithm. The proof data is saved in the blockchain system. The proof data includes the ciphertext data and is used to verify whether the update of the total resource amount of the target resource pool is correct while ensuring the privacy of the first numerical value.

[0009] One or more embodiments of the present specification provide a storage medium. The storage medium is used to store computer-executable instructions. When the computer-executable instructions are executed by a processor, they obtain target storage data to be processed in a target resource pool. The target storage data includes ciphertext data of a first numerical value of resources for each target business in a plurality of target businesses in the target resource pool during its storage interval. The first total amount of resources of the target resource pool at the starting point of the storage interval is obtained from a blockchain system. Based on the ciphertext data and the first total amount of resources, proof data corresponding to the target storage data is generated based on a zero-knowledge proof algorithm. The proof data is saved in the blockchain system. The proof data includes the ciphertext data, and the proof data is used to verify whether the update of the total amount of resources of the target resource pool is correct while ensuring the privacy of the first numerical value. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate one or more embodiments of this specification or technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments described in this specification. Those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0011] Figure 1 A schematic diagram of a blockchain-based data processing method for one or more embodiments of this specification;

[0012] Figure 2 A first flowchart of a blockchain-based data processing method provided for one or more embodiments of this specification;

[0013] Figure 3 A second flowchart of a blockchain-based data processing method provided for one or more embodiments of this specification;

[0014] Figure 4 A third flowchart of a blockchain-based data processing method provided for one or more embodiments of this specification;

[0015] Figure 5 A fourth flowchart of a blockchain-based data processing method provided for one or more embodiments of this specification;

[0016] Figure 6 A fifth flowchart of a blockchain-based data processing method provided for one or more embodiments of this specification;

[0017] Figure 7A sixth flow chart of a blockchain-based data processing method provided for one or more embodiments of this specification;

[0018] Figure 8 A seventh flowchart of a blockchain-based data processing method provided for one or more embodiments of this specification;

[0019] Figure 9 A schematic diagram of the module composition of a blockchain-based data processing device provided for one or more embodiments of this specification;

[0020] Figure 10 A first schematic diagram of the composition of a blockchain-based data processing system provided for one or more embodiments of this specification;

[0021] Figure 11 A second schematic diagram of the composition of a blockchain-based data processing system provided in one or more embodiments of this specification;

[0022] Figure 12 A third schematic diagram of a blockchain-based data processing system provided for one or more embodiments of this specification;

[0023] Figure 13 A schematic diagram of the structure of a blockchain-based data processing device provided for one or more embodiments of this specification. DETAILED DESCRIPTION

[0024] In order to enable those skilled in the art to better understand the technical solutions in one or more embodiments of this specification, the technical solutions in one or more embodiments of this specification will be clearly and completely described below in conjunction with the drawings in one or more embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on one or more embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this document.

[0025] Figure 1 A schematic diagram of an application scenario of a blockchain-based data processing method provided in one or more embodiments of this specification, such as Figure 1As shown, the scenario includes: transaction devices of participants in the target business and a blockchain system. The transaction device can be a terminal device such as a mobile phone, tablet computer, desktop computer, portable notebook computer, etc.; the transaction device can also be a server. When the transaction device is a terminal device, the transaction device can be installed with a transaction-related application, which can be an independent application (Application, abbreviated as App) or a small program embedded in other applications. The blockchain system includes at least one blockchain node ( Figure 1 Only 1 is shown).

[0026] In one embodiment of the present specification, a transaction device (i.e., a participant client) responds to an operation of a participant in a target business and initiates a transaction to a blockchain system to call a smart contract on the chain based on the business data of the determined target business. The transaction carries target storage data, and the smart contract is used to put the target storage data on the chain. The target storage data includes ciphertext data corresponding to multiple target businesses in the target resource pool during its storage interval. The ciphertext data is the data obtained by encrypting the first value of the resource of each target business using a zero-knowledge proof algorithm. The ciphertext data can be obtained in a variety of ways, which are described in detail below. After receiving the transaction, the blockchain node in the blockchain system broadcasts the transaction in the blockchain network based on a P2P method. After the consensus verification of the transaction is passed, the blockchain node runs the corresponding smart contract and obtains the first total resource amount of the target resource pool from the blockchain system. The first total resource amount is the total resource amount of the target resource pool at the starting point of the storage interval of the target storage data; then, based on the ciphertext data and the first total resource amount, the proof data corresponding to the target storage data is generated based on the zero-knowledge proof algorithm and the proof data is saved in the blockchain system. The certification data is used to verify the correctness of updates to the total resource volume of the target resource pool based on multiple target transactions. The participants in the target transaction can be the target party to which the target resource pool belongs, or other parties that have reached a target transaction agreement with the target party. Both the target party and the other parties can be enterprises, institutions, groups, organizations, individuals, etc. Resources can be virtual resources such as points, physical resources such as funds, or physical resources such as bandwidth. In other words, the blockchain-based data processing methods provided in the embodiments of this specification can be applied to pool financing scenarios, as well as to transaction scenarios involving virtual and physical resources.

[0027] In another embodiment of the present specification, the steps of obtaining the target storage data and the first total resource amount, as well as generating the proof data, can also be performed outside the blockchain system, i.e., off-chain. In this embodiment, the transaction device first obtains the plaintext data of transactions in the target resource pool during a specified storage interval. This plaintext data includes the first value of the resources involved in each transaction. This first value is then encrypted using a zero-knowledge proof algorithm to obtain ciphertext data. Thereafter, in response to an operation by a participant in the target transaction, the transaction device initiates a transaction with the blockchain system to obtain the total resource amount of the target resource pool stored on-chain at the start point of the storage interval. Finally, the transaction device uses a zero-knowledge proof algorithm to generate proof data corresponding to the target storage data based on the ciphertext data and the first total resource amount. After generating this proof data, the transaction device then initiates a transaction with the blockchain system and stores the proof data on-chain.

[0028] Based on the same technical concept, this specification also provides an embodiment in which the steps of obtaining the target storage data and the first total resource amount are performed off-chain, and the steps of generating the proof data are performed on-chain. First, a transaction device obtains the plaintext data of transactions in the target resource pool during a specified storage interval. This plaintext data is the first value of the resources involved in each transaction. This plaintext data is then encrypted using a zero-knowledge proof algorithm to obtain ciphertext data, and the corresponding target storage data containing this ciphertext data is generated. Then, in response to an operation by a participant in the target transaction, the transaction device initiates a transaction with the blockchain system to obtain the total resource amount of the target resource pool stored on-chain at the start of the storage interval. Finally, the transaction device initiates a transaction with the blockchain system to invoke an on-chain smart contract. This transaction carries the target storage data and the first total resource amount. The blockchain node executes the corresponding smart contract and, using a zero-knowledge proof algorithm, generates proof data corresponding to the target storage data based on the ciphertext data and the first total resource amount, and stores the proof data in the blockchain system.

[0029] In the above-mentioned multiple implementations, although there is a difference in whether the execution of each step is on-chain or off-chain, they can all achieve the goal of protecting the privacy of the target party's resource transaction quantity and effectively verifying the update status of the resource pool. Those skilled in the art can choose a suitable implementation according to the specific scenario, or adopt other equivalent implementations. These implementations of the same technical concept are all within the scope of the claims of this document.

[0030] Thus, upon obtaining the target storage data to be processed from the target resource pool, proof data corresponding to the target storage data is generated based on the encrypted data of the first numerical values ​​of the resources corresponding to the corresponding multiple target transactions and the first total resource amount of the target resource pool obtained from the blockchain system, using a zero-knowledge proof algorithm. This proof data is then stored in the blockchain system. This not only ensures the authenticity and validity of the uploaded data based on the characteristics of the blockchain, providing a valid data basis for subsequent related processing, but also, because the proof data is generated and uploaded based on the encrypted data of the first numerical value, it effectively verifies the updated status of the total resource amount of the target resource pool while maintaining the privacy of the target party's resource transaction quantity. In pool financing scenarios, this not only avoids the risk of corporate privacy information leakage, but also allows banks to effectively manage the accounts receivable balance "pool" without having to investigate the actual amount of each enterprise's accounts receivable.

[0031] Based on the above application scenario architecture, one or more embodiments of this specification provide a blockchain-based data processing method. Figure 2 A flowchart of a data processing method based on blockchain provided in one or more embodiments of this specification is as follows: Figure 2 As shown, the method may include the following steps:

[0032] Step S102: Obtain target storage data to be processed in the target resource pool; wherein the target storage data includes ciphertext data corresponding to multiple target services in the target resource pool during its storage interval, and the ciphertext data is data obtained by encrypting the first value of the resource of each target service using a zero-knowledge proof algorithm;

[0033] Optionally, the transaction device of the target party to which the target resource pool belongs uses a preset zero-knowledge proof algorithm to encrypt the first value of the resource of each target business among the multiple determined target businesses to obtain ciphertext data, determines the target storage data to be processed based on the ciphertext data, and initiates a transaction carrying the target storage data to the blockchain system; accordingly, after receiving the transaction initiated by the transaction device, the blockchain system obtains the target storage data to be processed from the transaction. Alternatively, the first value can be encrypted by the blockchain system, and then the transaction device of the target party to which the target resource pool belongs, in response to the target party's operation, initiates a transaction to the blockchain system, the transaction carrying the business data of the multiple target businesses, the business data including the first value; accordingly, after receiving the transaction initiated by the transaction device, the blockchain system obtains the first value from the transaction, and runs a second smart contract in the blockchain system to encrypt the first value using a zero-knowledge proof algorithm to obtain ciphertext data, and determines the ciphertext data and information in the business data except the first value as the target storage data to be processed. The specific implementation method of this step can be found in the relevant description below.

[0034] Because the first value of the resource corresponding to each transaction is private data for all parties involved in the transaction, to prevent the leakage of this private data, in the embodiments of this specification, a segmented storage data processing method is used to process the transaction data corresponding to each resource pool. Specifically, a storage interval is pre-set, and data processing is performed based on the transaction data of multiple target transactions during each storage interval. In other words, the target storage data is the storage data obtained according to the preset storage interval; the storage interval can be divided according to the number of transactions executed, and the number of transactions corresponding to each storage interval is the preset granularity value.

[0035] Furthermore, the participants in the business include the target party and the business party that reaches a target business with the target party (hereinafter referred to as the business party). The target party can provide its resources to the business party in the form of loans or leases, thereby reaching a target business with the business party. Correspondingly, the target party has a receivable resource, and multiple receivable resources constitute the target party's resource pool. The target party can obtain resources from the resource provision platform based on its resource pool. The target party can have at least one resource pool, and each resource pool can correspond to a resource provision platform. For example, the target party obtains resources from resource provision platform 1 based on resource pool 1, obtains resources from resource provision platform 2 based on resource pool 2, and so on. Each resource pool can also correspond to the type of business the target party conducts based on resources. For example, the target party may enter into transactions with multiple first business parties based on business 1 and provide its resources to each of the first business parties, forming a corresponding resource pool 1; the target party may enter into transactions with multiple second business parties based on business 2 and provide its resources to each of the second business parties, forming a corresponding resource pool 2, and so on. It should be noted that the target party can enter into multiple transactions with a business party based on different types of business, as well as multiple transactions with a business party based on the same type of business. Each resource pool can also correspond to the type of business party, for example, a first type of business party corresponds to resource pool 1, a second type of business party corresponds to resource pool 2, and so on. The specific rules for dividing resource pools can be set as needed in actual applications and are not specifically limited in this specification, nor will they be listed one by one. Each resource pool of the target party can correspond to a blockchain account registered by the target party in the blockchain system, or it can correspond to a virtual account of the target party. The target stored data can also include information about the target party and the business parties.

[0036] Step S104: Obtain a first total amount of resources of the target resource pool from the blockchain system; wherein the first total amount of resources is the total amount of resources of the target resource pool at the starting point of the storage interval of the target storage data;

[0037] Specifically, as described above, the blockchain system can obtain the first total amount of resources in the target resource pool stored on the blockchain after obtaining the target storage data to be processed based on a transaction initiated by the target party's transaction device. Alternatively, the transaction device can initiate a transaction with the blockchain system to obtain the first total amount of resources stored on the blockchain from the blockchain system.

[0038] In the embodiments of this specification, storage intervals can be divided according to the number of services executed. For the first storage interval, the time point before the first service execution within the first storage interval can be referred to as the starting point of the first storage interval, and the time point when the last service execution within the first storage interval is completed can be referred to as the end point of the first storage interval. For a non-first current storage interval, the end point of the previous storage interval can be referred to as the starting point of the current storage interval, and the time point when the last service execution within the current storage interval is completed can be referred to as the end point of the current storage interval.

[0039] For example, let's pre-set the number of transactions corresponding to a storage interval to 5. Each transaction is recorded in the order in which it is executed, as Transaction 1, Transaction 2, Transaction 3, and so on, where N is a positive integer. The transactions corresponding to the first storage interval are Transaction 1 through Transaction 5, the transactions corresponding to the second storage interval are Transaction 6 through Transaction 10, and so on. The time point before Transaction 1 is executed is called the starting point of the first storage interval, and the time point when Transaction 5 is completed is called the end point of the first storage interval. The end point of the first storage interval can also be called the starting point of the second storage interval, and the time point when Transaction 10 is completed is called the end point of the second storage interval, and so on.

[0040] Step S106: Generate proof data corresponding to the target storage data based on the zero-knowledge proof algorithm according to the ciphertext data and the first total amount of resources, and save the proof data to the blockchain system; the proof data is used to verify whether the total amount of resources in the target resource pool is correctly updated based on multiple target businesses.

[0041] Specifically, as described above, the blockchain system can generate proof data corresponding to the target storage data based on the ciphertext data and the first total resource amount using a zero-knowledge proof algorithm, and then save the proof data to the blockchain system. Alternatively, the transaction device can generate proof data corresponding to the target storage data based on the ciphertext data and the first total resource amount using a zero-knowledge proof algorithm, and then initiate a transaction on the blockchain to save the proof data to the blockchain system.

[0042] In one or more embodiments of this specification, upon obtaining the target storage data to be processed in the target resource pool, proof data corresponding to the target storage data is generated based on the encrypted data of the first numerical values ​​of the resources corresponding to the corresponding multiple target transactions and the first total resource amount of the target resource pool obtained from the blockchain system, using a zero-knowledge proof algorithm, and the proof data is stored in the blockchain system. This not only ensures the authenticity and validity of the data uploaded to the blockchain based on the characteristics of the blockchain, providing an effective data basis for subsequent related processing; but also, because the proof data is generated and uploaded to the blockchain based on the encrypted data of the first numerical value, it effectively verifies the updated status of the total resource amount of the target resource pool while maintaining the privacy of the target party's resource transaction quantity. In pool financing scenarios, this not only avoids the risk of corporate privacy information leakage, but also allows banks to effectively manage the accounts receivable balance "pool" without having to inquire about the actual amount of each account receivable of the enterprise.

[0043] In order to improve the efficiency and accuracy of generating proof data, in one or more embodiments of this specification, proof data can be generated based on smart contracts in the blockchain system. Figure 3 As shown, step S106 may include the following steps S106-2:

[0044] Step S106-2: Based on the first smart contract in the blockchain system, generate proof data corresponding to the target storage data according to the zero-knowledge proof algorithm, the ciphertext data and the first total resource amount, and save the proof data to the blockchain system; the proof data is used to verify whether the total resource amount of the target resource pool is correctly updated based on multiple target businesses.

[0045] Specifically, after obtaining the first total resource amount of the target resource pool from the blockchain system, the blockchain system may invoke a first smart contract in the blockchain system and, based on the first smart contract, generate proof data corresponding to the target storage data based on the zero-knowledge proof, ciphertext data, and the first total resource amount. Alternatively, after obtaining the target storage data to be processed, the blockchain system may invoke the first smart contract in the blockchain system and, based on the first smart contract, obtain the first total resource amount of the target resource pool from the blockchain system and, based on the first smart contract, generate proof data corresponding to the target storage data based on the zero-knowledge proof, ciphertext data, and the first total resource amount. Alternatively, upon determining that a preset data processing condition is met, the blockchain system may invoke the first smart contract in the blockchain system and, based on the first smart contract, obtain the target storage data to be processed in the target resource pool and the first total resource amount of the target resource pool from the blockchain system; and, based on the first smart contract, generate proof data corresponding to the target storage data based on the zero-knowledge proof, ciphertext data, and the first total resource amount. The transaction initiated by the target party's transaction device may carry the contract identifier of the first smart contract, and the blockchain system may accordingly invoke the corresponding first smart contract based on the contract identifier.

[0046] Since smart contracts have the characteristics of automatic execution and no human intervention, generating proof data based on smart contracts can not only improve the efficiency of proof data generation, but also ensure the authenticity and validity of proof data.

[0047] In order to verify whether the total amount of resources in the target resource pool is updated correctly based on multiple target businesses, in one or more embodiments of this specification, certification data is generated based on the second total amount of resources in the target resource pool after the target business is updated. Figure 4 As shown, step S106 may include the following steps S106-4 to S106-10:

[0048] Step S106-4: Determine, based on a zero-knowledge proof algorithm, a preset mapping relationship satisfied by the first calculation result and the second calculation result; the first calculation result is calculated based on the first preset algorithm on each ciphertext data, and the second calculation result is a change in the total amount of resources in the target resource pool during the storage interval;

[0049] In order to facilitate the management of the preset mapping relationship that needs to be satisfied between the first calculation result and the second calculation result corresponding to the target business of different target parties, in one or more embodiments of the present application, when the target party establishes a resource pool for the first time, the identification information of the target party and the preset mapping relationship determined based on the zero-knowledge proof algorithm can be set in the smart contract accordingly. Accordingly, the blockchain system can determine the identification information of the target party based on the target storage data, and determine the preset mapping relationship that the first calculation result and the second calculation result satisfy based on the identification information of the target party based on the smart contract. Alternatively, when the target party establishes a target resource pool for the first time, the resource pool information of the target resource pool and the preset mapping relationship determined based on the zero-knowledge proof algorithm are set in the first smart contract accordingly. Accordingly, the blockchain system can determine the resource pool information of the target resource pool based on the target storage data, and determine the preset mapping relationship that the first calculation result and the second calculation result satisfy based on the resource pool information based on the first smart contract.

[0050] Step S106-6: Determine the change value of the total amount of resources in the target resource pool during the storage interval based on the preset mapping relationship and the ciphertext data.

[0051] In a feasible implementation manner, the above preset mapping relationship may be: kM1+kM2+…+kM n =k(P2-P1), where M1, M2, M n is the first value; kM1 is the ciphertext data of the first value M1, kM2 is the ciphertext data of the first value M2, kM n is the first value M n The ciphertext data is: P1 is the total amount of the first resource, P2 is the total amount of the second resource, k is the key assigned to the target party by the blockchain system based on the zero-knowledge proof algorithm when the target party first creates the resource pool, and n is the number of transactions corresponding to the storage interval, a positive integer. Since the ciphertext data is known and k is a preset value, the blockchain system can determine the change in the total amount of resources in the target resource pool during the storage interval based on this preset relationship (P2-P1).

[0052] In another feasible implementation, n is the number of transactions corresponding to the storage interval, and n is an even number; accordingly, the above preset mapping relationship can be: (M1+k*(-1) 1 )+(M2+k*(-1) 2 )+…(M n +k*(-1) n )=P2-P1, where M1, M2, M n is the first value; (M1+k*(-1) 1 ) is the ciphertext data of the first value M1, (M2+k*(-1) 2 ) is the ciphertext data of the first value M2, (Mn +k*(-1) n ) is the first value M n The ciphertext data is: P1 is the total amount of the first resource, P2 is the total amount of the second resource, and k is the key assigned to the target party by the blockchain system based on the zero-knowledge proof algorithm when the target party first creates the resource pool. Because the ciphertext data is known, the blockchain system can determine the change in the total amount of resources in the target resource pool during the storage interval (P2-P1) based on this preset relationship.

[0053] It should be noted that the preset mapping relationship, the first preset algorithm, and the second preset algorithm are not limited to the examples above and can be set as needed in actual applications. This specification does not impose any specific restrictions on this. The key assigned to the target party based on the zero-knowledge proof algorithm can be a symmetric key or an asymmetric key; when it is an asymmetric key, the above k can be the private key of the asymmetric key.

[0054] Step S106-8, calculating the total amount of the second resource of the target resource pool at the end point of the storage interval of the target storage data according to the change value;

[0055] Continuing with the above example, since the first total resource amount P1 has been obtained, the blockchain system can calculate the second total resource amount P2 of the target resource pool at the end point of the storage interval of the target storage data based on the determined change value.

[0056] Step S106-10: Generate certification data based on the ciphertext data and the second total amount of resources, where the certification data includes the ciphertext data and the second total amount of resources.

[0057] Therefore, the certification data is generated based on the second total amount of resources, and it is possible to subsequently verify based on the certification data whether the total amount of resources in the target resource pool is updated correctly based on the corresponding multiple target businesses.

[0058] Considering that different business participants often have different business data processing requirements in actual applications, this specification provides multiple methods for obtaining target storage data. Specifically, in one or more embodiments, the target party can initiate a first transaction to the blockchain system based on multiple target businesses within the storage interval. Figure 5 As shown, step S102 may include the following steps S102-2 to S102-6:

[0059] Step S102-2: receiving a first transaction initiated by a target party belonging to the target resource pool; wherein the first transaction carries business data of each target business among multiple target businesses, and the business data includes a first value of a resource corresponding to the target business;

[0060] Business data may also include the target party's identification information, the business party's identification information, and the resource transfer type. The target party's identification information and the business party's identification information may be pre-assigned by the blockchain system for the target party and the business party, or may be information such as the corresponding business license number or the user's ID number. Resource transfer types include resource entry and resource exit. When the target party provides its resources to the business party, the corresponding resource transfer type is resource entry; when the business party returns resources acquired from the target party to the target party, the corresponding resource transfer type is resource exit.

[0061] Step S102-4: Based on the second smart contract in the blockchain system, each first value is encrypted using the target party's key to obtain ciphertext data of each first value;

[0062] Optionally, after assigning a key to the target party based on a zero-knowledge proof algorithm, the blockchain system associates and stores the assigned key with the target party's identification information. Accordingly, upon receiving the first transaction, the blockchain system, based on the second smart contract in the blockchain system, retrieves the associated and stored key based on the target party's identification information in the first transaction, and uses the retrieved key to encrypt each first value, thereby obtaining the ciphertext data of each first value. Alternatively, the target party's key is stored at the target party or a custodial platform. Accordingly, upon receiving the first transaction, the blockchain system, based on the second smart contract in the blockchain system, retrieves the target party's key from the target party or the custodial platform based on the target party's identification information, and uses the retrieved private key to encrypt each first value, thereby obtaining the ciphertext data of each first value.

[0063] It should be noted that the above steps S102-2 and S102-4 are described using the encryption of the first numerical value based on the blockchain system as an example. It is conceivable that the transaction device can also use the target party's key to encrypt each first numerical value separately off-chain to obtain the ciphertext data of each first numerical value.

[0064] Step S102-6: Determine the information in each business data except the first value as business detail information, and determine each business detail information and each ciphertext data as target storage data to be processed.

[0065] Specifically, the blockchain system can determine the information in each business data except the first value as business detail information, and determine each business detail information and each ciphertext data as target storage data to be processed.

[0066] Corresponding to steps S102-2 to S102-6, Figure 5As shown, the aforementioned step S104 may include the following step S104-2, and step S106 may include the following steps S106-12 and S106-14:

[0067] Step S104-2: determining query information based on the first transaction; obtaining a first total amount of resources in the target resource pool from the blockchain system based on the query information; wherein the first total amount of resources is the total amount of resources in the target resource pool at the starting point of the storage interval of the target storage data;

[0068] Optionally, the business data carried by the first transaction may include identification information of the previous proof data, and accordingly, the blockchain system may determine this identification information as the query information. Alternatively, the business data may also include resource pool information of the target resource pool, and accordingly, the blockchain system may determine the resource pool information in the business data as the query information. Alternatively, based on the first transaction and in accordance with preset rules, the blockchain system may determine the resource pool information of the corresponding target resource pool and use this determined resource pool information as the query information. The resource pool information may include identification information of the resource pool, corresponding account information, etc.

[0069] Among them, the blockchain system determines the resource pool information of the corresponding target resource pool according to the preset rules based on the first transaction, which may include: when the business data includes platform information of the resource providing platform corresponding to the target resource pool, the blockchain system accordingly determines the platform information and the identification information of the target party in the business data as query information. When the resource pool corresponds to the business type of the business conducted by the target party based on the resources, the business type corresponding to multiple target businesses is the same, and the business data also includes business type information corresponding to the target business; accordingly, the blockchain system determines the target party identification and business type information in the business data as query information. It is understandable that according to the resource pool division rules, the business data may include relevant information for querying the target resource pool. When determining the query information, the blockchain system may determine the target party identification information and the relevant information as query information, which will not be listed one by one here.

[0070] Step S106-12, determining identification information of the certification data corresponding to the target storage data, associating the determined identification information, the determined resource pool information of the target resource pool, the second total amount of resources, and the target storage data, and using the associated information as certification data;

[0071] Among them, the identification information of the certification data can be allocated by the blockchain system according to a preset method, and this manual does not make specific limitations on this.

[0072] It should be noted that if the resource pool information of the target resource pool is not determined in step S104-2, the resource pool information of the target resource pool can be determined in step S106-12, and then the identification information of the certification data, the determined resource pool information of the target resource pool, the total amount of the second resource, and the target storage data are associated, and the associated information is used as the certification data. The process of determining the resource pool information of the target resource pool can be found in the relevant description above, and any repetitions are not repeated here.

[0073] Furthermore, the first transaction may include business data for each of multiple target businesses within multiple storage intervals, where the business data includes a first value of a resource corresponding to the target business. Accordingly, upon receiving the first transaction, if the blockchain system determines that the first transaction corresponds to multiple storage intervals, the blockchain system determines the business order of the corresponding multiple target businesses based on the business data, divides the business data into multiple business data subsets based on the business order and the number of transactions corresponding to the preset storage intervals, and generates corresponding proof data for each business data subset in accordance with the above-described method. For example, if the first transaction includes 10 target businesses, namely, businesses 1 to 10, in descending order, and the number of transactions corresponding to the preset storage intervals is 5, the blockchain system divides the business data of businesses 1 to 5 into a business data subset and generates corresponding proof data based on the business data subset. Furthermore, the blockchain system divides the business data of businesses 6 to 10 into a business data subset and generates corresponding proof data based on the business data subset.

[0074] Step S106-14, save the proof data to the blockchain system.

[0075] Furthermore, after step S106 - 14 , the process may further include: the block sending a request success message to the target party according to the system.

[0076] Thus, the target party can initiate a first transaction to the blockchain system based on the business data of multiple target businesses in the target resource pool. Based on this first transaction, the blockchain system generates corresponding proof data using a zero-knowledge proof algorithm and stores it in the blockchain system. This enables batch processing of transactions for the target party, eliminating the need to initiate a transaction to the blockchain system after each target business transaction, thus reducing the target party's operations. Furthermore, updates to the target resource pool's total resource volume can be effectively verified without leaking the first value.

[0077] Considering that for some target parties, batch transaction processing may miss a transaction; and the business party may also have the need to initiate data processing. Based on this, in one or more embodiments of this specification, the target party or the business party can also initiate a second transaction to the blockchain system after each transaction is completed. Figure 6As shown, step S102 may include the following steps S102-8 to S102-16:

[0078] Step S102-8: receiving a second transaction initiated by a business party of the current target business based on the target resource pool; wherein the second transaction carries business data of the current target business, and the business data includes a first value of a resource corresponding to the current target business;

[0079] Optionally, a second transaction initiated by the target party is received, or a second transaction initiated by the business party is received.

[0080] Step S102-10: Based on the second smart contract in the blockchain system, the first value is encrypted using the key of the target party to which the target resource pool belongs to obtain ciphertext data of the first value;

[0081] Step S102-12, determining the resource pool information of the corresponding target resource pool according to the business data and preset rules;

[0082] The specific implementation of step S102-10 and step S102-12 can be found in the above-mentioned related descriptions, and the repeated parts will not be repeated here.

[0083] Step S102-14: If the associated data to be processed is found from the designated cache according to the resource pool information, the information in the service data except the first value and the ciphertext data are determined as the data to be processed for the current target service.

[0084] Step S102-16, determining whether each data to be processed meets a preset interval storage condition, and if so, determining each data to be processed as target storage data to be processed;

[0085] Specifically, determine whether the number of target businesses corresponding to each data to be processed reaches a preset number. If so, determine whether the interval storage conditions are met and determine each transaction data as the target storage data to be processed; if not, determine whether the interval storage conditions are not met, save the pending data of the current target business to the designated cache, and send a request success message to the target party or business party.

[0086] Since the data processing is performed in a segmented storage manner in this specification, when it is determined that the preset interval storage condition is not met, the corresponding data to be processed of the current target business is saved in the designated cache. And when it is determined that the preset interval storage condition is met, the segmented storage processing of the data is performed based on the target storage data. That is, corresponding to the above steps S102-8 to S102-16, as shown in FIG. Figure 6 As shown, step S104 may include the following steps S104-4, and step S106 may include the following steps S106-16 and S106-18:

[0087] Step S104-4: Determine query information based on the second transaction; obtain a first total resource amount of the target resource pool from the blockchain system based on the query information; wherein the first total resource amount is the total resource amount of the target resource pool at the starting storage interval point of the target storage data.

[0088] The process of determining the query information can be found in the aforementioned related description, and the repeated parts will not be repeated here.

[0089] Step S106-16, determining identification information of the certification data corresponding to the target storage data, associating the determined identification information, resource pool information, the second resource amount, and the target storage data, and using the associated information as certification data;

[0090] Among them, the process of determining the identification information of the certification data can be found in the above-mentioned related description, and the repeated parts will not be repeated here.

[0091] Step S106-18, save the proof data to the blockchain system.

[0092] Considering that the storage space of the designated cache is limited, in one or more embodiments of this specification, after step S106-18, the following may also be included: clearing the to-be-processed data corresponding to the generated proof data in the designated cache from the designated cache.

[0093] Thus, each time a target business participant concludes a transaction, they initiate a second transaction with the blockchain system. If the blockchain system determines that the preset interval storage conditions are not met, it saves the pending data for the current target business to a designated cache. If the preset interval storage conditions are met, it generates corresponding proof data for multiple target businesses based on the determined target storage data and saves it to the blockchain system. This not only avoids omissions when the target party processes business data in batches, but also enables effective verification of the updated status of the target resource pool's total resource volume based on the proof data in the blockchain system, without leaking the first value.

[0094] Considering that in actual applications, there may be a target party with a strong sense of privacy protection, who does not want the first value to be exposed to any party. Based on this, in one or more embodiments of this specification, the target party may also send a third transaction to the blockchain system based on the encrypted data of the first value. Specifically, Figure 7 As shown, step S102 may include the following steps S102-18 to S102-22:

[0095] Step S102-18: Receive a third transaction initiated by a target party belonging to the target resource pool; the third transaction carries business data of a current target business based on the target resource pool; the business data includes ciphertext data obtained by encrypting a first value of a resource of the current target business; the ciphertext data is obtained by homomorphically encrypting the first value using the target party's key;

[0096] The third transaction may also include identification information of the target party, identification information of the business party, resource transfer type information, etc. Preferably, the ciphertext data is obtained by homomorphically encrypting the first value using a public key pre-assigned to the target party based on a zero-knowledge proof algorithm. The homomorphic encryption process can be found in existing homomorphic encryption methods, and since it is a prior art, it will not be further described here.

[0097] Step S102-20, based on the third transaction, determining the resource pool information of the target resource pool corresponding to the current target business according to preset rules;

[0098] Among them, the process of determining the resource pool information of the target resource pool corresponding to the current target business according to the preset rules based on the third transaction is the same as the process of determining the resource pool information of the target resource pool corresponding to the current target business according to the preset rules based on the first data processing information. Please refer to the above-mentioned relevant description, and the repeated parts will not be repeated here.

[0099] In step S102-22, if the business data to be processed is queried from the blockchain system according to the resource pool information, it is determined whether the business data in the third transaction and the queried business data meet the preset interval storage conditions; if so, the business data in the third transaction and the queried business data are determined as the target storage data to be processed.

[0100] Furthermore, when the blockchain system determines that the business data in the third transaction and the queried business data do not meet the preset interval storage condition, the business data in the third transaction is saved in the blockchain system.

[0101] The process of determining whether the preset interval storage condition is met can be referred to the above-mentioned related description, and the repeated parts are not repeated here. After the transaction data in the third transaction is saved in the blockchain system, it can also include: sending a request success message to the target party.

[0102] Since the transaction data is processed in a segmented storage manner in this specification, and the third transaction includes the ciphertext data of the first value; therefore, when it is determined that the preset interval storage condition is not met, the business data in the third transaction can be directly saved to the blockchain system, and when it is determined that the preset interval storage condition is met, segmented storage processing is performed based on the determined target storage data. That is, corresponding to steps S102-18 to S102-22, as shown in FIG. Figure 7 As shown, step S104 may include the following steps S104-6, and step S106 may include the following steps S106-20 and S106-22:

[0103] Step S104-6: determining query information based on the third transaction; obtaining the total amount of the first resource in the target resource pool from the blockchain system based on the determined query information;

[0104] Among them, the process of determining the query information based on the third transaction is the same as the process of determining the query information based on the first transaction. Please refer to the above related description; the repeated parts will not be repeated here.

[0105] Step S106-20, determining identification information of the certification data corresponding to the target storage data, associating the determined identification information, the resource pool information, the second resource total amount, and the business data in the third transaction, and using the associated information as certification data;

[0106] Step S106-22, save the proof data to the blockchain system.

[0107] The target party then homomorphically encrypts the first value of the current target business and, based on the ciphertext data obtained through homomorphic encryption, initiates a third transaction with the blockchain system. If the blockchain system determines that the preset interval storage conditions are not met, it saves the business data in the third transaction to the blockchain system. If the preset interval storage conditions are met, it then performs segmented data storage based on the pending business data stored in the blockchain system and the pending business data of the current target business. This ensures that the plaintext of the first quantity never leaves the target party, safeguarding the security of the target party's private data. Furthermore, updates to the total resource volume of the target resource pool can be effectively verified based on proof data in the blockchain system.

[0108] It should be noted that the third transaction may also carry target storage data for multiple target businesses within the storage interval. This target storage data includes ciphertext data obtained by encrypting the first numerical value of the resources for each target business, where the ciphertext data is obtained by homomorphically encrypting the first numerical value using the target party's key. Accordingly, upon receiving this third transaction, the blockchain system obtains the first total resource amount of the target resource pool from the blockchain system based on the determined query information; determines the identification information of the proof data corresponding to the target storage data; and associates the identification information, the determined resource pool information of the target resource pool, the second total resource amount, and the target storage data, using the associated information as the proof data.

[0109] The above is a method for obtaining the target storage data to be processed provided in the embodiments of this specification. It should be pointed out that the method for obtaining the target storage data is not limited to the above method and can be set by itself as needed in actual applications; for example, the target party and the business party can also achieve the target business through a designated business platform, and accordingly, the blockchain system can also obtain the target storage data from the business platform.

[0110] After generating proof data based on the acquired target storage data and saving the proof data to the blockchain system, verification processing can be performed based on the data in the blockchain system. Specifically, Figure 8 As shown, the method further includes the following steps S108 to S112:

[0111] Step S108: receiving a verification request sent by the verification party, and determining the certification data to be verified according to the verification request;

[0112] Among them, the verifier can be the aforementioned resource provision platform, or it can be a third-party authority for supervising transactions. When the verifier is a resource provision platform, it can verify any proof data of the resource pool corresponding to the resource acquisition request at any time after receiving the resource acquisition request based on the resource pool sent by the target party, thereby verifying the update status of the total amount of resources in the resource pool. The verification request may include the identification information of the proof data to be verified, the information of the verifier, etc. It should be pointed out that the verifier can request verification of multiple proof data at the same time, that is, the verification request may include the identification information of at least one proof data to be verified.

[0113] Step S110: Verify the certification data according to a preset verification algorithm and the key of the target party to which the target resource pool belongs, and obtain verification result information;

[0114] Specifically, after receiving the verification request sent by the verifier, the blockchain system obtains from the blockchain system the ciphertext data of the first numerical value of the resource corresponding to each target business in the multiple target businesses corresponding to the proof data to be verified; obtains from the blockchain system the first total amount of resources at the starting point and the second total amount of resources at the end point of the corresponding storage interval corresponding to the resource pool of the proof data to be verified; and verifies the proof data to be verified based on the preset verification algorithm, the key of the target party to which the target resource pool belongs, the obtained ciphertext data, the first total amount of resources, and the second total amount of resources.

[0115] Among them, according to a preset verification algorithm, based on the target party's key, the obtained ciphertext data, the first total amount of resources, and the second total amount of resources, the verification processing of the certification data to be verified may include: determining the target party's key, ciphertext data, the first total amount of resources, and the second total amount of resources as input data of the preset verification algorithm; performing a first calculation processing on the ciphertext data based on the verification algorithm to obtain a third calculation result, and performing a second calculation processing on the first total amount of resources and the second total amount of resources to obtain a fourth calculation result; determining whether there is a preset mapping relationship between the third calculation result and the fourth calculation result; if so, generating verification result information indicating that the verification has passed; if not, generating verification result information indicating that the verification has failed. It can be understood that the verification algorithm defines a first preset algorithm and a second preset algorithm, and performing a first calculation processing on the ciphertext data of the first value according to the first preset algorithm to obtain a third calculation result; performing a second calculation processing on the third total amount of resources and the fourth total amount of resources based on the second preset algorithm to obtain a fourth calculation result; wherein, the first preset algorithm and the second preset algorithm can be referred to the aforementioned relevant examples, and the repeated parts will not be repeated here. It should be pointed out that if the key allocated to the target party in advance based on the zero-knowledge proof algorithm is an asymmetric key, the public key in the asymmetric key is used when verifying the proof data here; if the key allocated to the target party in advance based on the zero-knowledge proof algorithm is a symmetric key, the symmetric key is used when verifying the proof data here.

[0116] To improve verification efficiency, one or more embodiments of this specification may also invoke a smart contract for verification within the blockchain system. For ease of distinction, the smart contract for generating proof data may be referred to as a first smart contract, and the smart contract for verification may be referred to as a second smart contract. Based on this second smart contract, the proof data to be verified is verified according to a preset verification algorithm, the target party's key, the obtained ciphertext data, the first resource total amount, and the second resource total amount, to obtain verification result information.

[0117] Step S112: Send the verification result information to the verification party.

[0118] If the proof data passes verification, the total amount of resources in the corresponding resource pool, based on the updated status of the corresponding multiple target services, is valid. If the proof data fails verification, the total amount of resources in the corresponding resource pool, based on the updated status of the corresponding multiple target services, is invalid. This effectively verifies the updated status of the total amount of resources in the resource pool corresponding to the proof data without requiring knowledge of the plaintext of the first value.

[0119] In one or more embodiments of this specification, upon obtaining the target storage data to be processed in the target resource pool, proof data corresponding to the target storage data is generated based on the encrypted data of the first numerical values ​​of the resources corresponding to the corresponding multiple target transactions and the first total resource amount of the target resource pool obtained from the blockchain system, using a zero-knowledge proof algorithm, and the proof data is stored in the blockchain system. This not only ensures the authenticity and validity of the data uploaded to the blockchain based on the characteristics of the blockchain, providing an effective data basis for subsequent related processing; but also, because the proof data is generated and uploaded to the blockchain based on the encrypted data of the first numerical value, it effectively verifies the updated status of the total resource amount of the target resource pool while maintaining the privacy of the target party's resource transaction quantity. In pool financing scenarios, this not only avoids the risk of corporate privacy information leakage, but also allows banks to effectively manage the accounts receivable balance "pool" without having to inquire about the actual amount of each account receivable of the enterprise.

[0120] Corresponding to the blockchain-based data processing method described above, based on the same technical concept, one or more embodiments of this specification also provide a blockchain-based data processing device. Figure 9 A schematic diagram of the module composition of a blockchain-based data processing device provided in one or more embodiments of this specification is as follows: Figure 9 As shown, the device may include:

[0121] A first acquisition module 201 acquires target storage data to be processed from a target resource pool; wherein the target storage data includes ciphertext data corresponding to multiple target services in the target resource pool during a storage interval, wherein the ciphertext data is obtained by encrypting a first value of a resource for each target service using a zero-knowledge proof algorithm;

[0122] A second acquisition module 202 acquires a first total amount of resources of the target resource pool from the blockchain system; wherein the first total amount of resources is the total amount of resources of the target resource pool at the starting point of the storage interval;

[0123] A generating module 203 generates proof data corresponding to the target storage data based on the ciphertext data and the first total amount of resources and the zero-knowledge proof algorithm; the proof data is used to verify whether the total amount of resources in the target resource pool is correctly updated based on the multiple target businesses;

[0124] The saving module 204 saves the certification data into the blockchain system.

[0125] Optionally, the generation module 203 generates proof data corresponding to the target storage data based on the first smart contract in the blockchain system, according to the zero-knowledge proof algorithm, the ciphertext data and the first total amount of resources.

[0126] Optionally, the generation module 203 determines, based on the zero-knowledge proof algorithm, a preset mapping relationship satisfied by a first calculation result and a second calculation result; the first calculation result is obtained by calculating each of the ciphertext data based on the first preset algorithm, and the second calculation result is a change in the total amount of resources of the target resource pool during the storage interval; and

[0127] Determining a change value of the total amount of resources of the target resource pool during the storage interval based on the preset mapping relationship and the ciphertext data;

[0128] Calculating a second total amount of resources of the target resource pool at an end point of the storage interval according to the change value;

[0129] The certification data is generated according to the ciphertext data and the second total amount of resources, and the certification data includes the ciphertext data and the second total amount of resources.

[0130] Optionally, the device further comprises a verification module;

[0131] The verification module receives a verification request sent by a verification party and determines the certification data to be verified according to the verification request; and

[0132] Verifying the certification data based on the target party's key according to a preset verification algorithm to obtain verification result information;

[0133] The verification result information is sent to the verification party.

[0134] One or more embodiments of this specification provide a blockchain-based data processing device that, upon acquiring target storage data to be processed from a target resource pool, generates proof data corresponding to the target storage data based on the encrypted data of the first numerical values ​​of the resources corresponding to multiple target transactions and the first total resource amount of the target resource pool obtained from the blockchain system, using a zero-knowledge proof algorithm, and then stores the proof data in the blockchain system. This not only ensures the authenticity and validity of the uploaded data based on the characteristics of the blockchain, providing a valid data basis for subsequent related processing, but also, because the proof data is generated and uploaded based on the encrypted data of the first numerical value, it effectively verifies the updated status of the total resource amount of the target resource pool while maintaining the privacy of the target party's resource transaction amount. In pool financing scenarios, this not only avoids the risk of enterprise privacy information leakage, but also allows banks to effectively manage the accounts receivable balance "pool" without having to inquire about the actual amount of each enterprise's accounts receivable without investing excessive manpower and material resources.

[0135] It should be noted that the embodiment of the blockchain-based data processing device in this specification and the embodiment of the blockchain-based data processing method in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can refer to the implementation of the corresponding blockchain-based data processing method mentioned above, and the repeated parts will not be repeated.

[0136] Furthermore, corresponding to the blockchain-based data processing method described above, based on the same technical concept, one or more embodiments of this specification also provide a blockchain-based data processing system. The system may include: a blockchain system 301;

[0137] The blockchain system 301 obtains the target storage data to be processed of the target resource pool; wherein the target storage data includes ciphertext data corresponding to multiple target businesses of the target resource pool during its storage interval, and the ciphertext data is data obtained by encrypting the first value of the resource of each target business using a zero-knowledge proof algorithm; obtains the first total resource amount of the target resource pool from the blockchain system 301; wherein the first total resource amount is the total resource amount of the target resource pool at the starting point of the storage interval; based on the ciphertext data and the first total resource amount, generates proof data corresponding to the target storage data based on the zero-knowledge proof algorithm, and saves the proof data in the blockchain system 301; the proof data is used to verify whether the update of the total resource amount of the target resource pool based on the multiple target businesses is correct.

[0138] Alternatively, as Figure 10 As shown, the system further includes: a first terminal device 302 of the target party to which the target resource pool belongs;

[0139] The first terminal device 302, in response to the transaction initiation operation of the target party, initiates a first transaction to the blockchain system based on the business data of each target business among the multiple target businesses to be processed; the business data includes the first value;

[0140] The blockchain system 301 encrypts each of the first values ​​using the target party's key based on the second smart contract to obtain ciphertext data of each of the first values; determines the information in the business data other than the first value as business details; and determines the business details and the ciphertext data as target storage data to be processed. Or,

[0141] The first terminal device 302, in response to the transaction initiation operation of the target party, uses the target party's key to homomorphically encrypt a first value of a resource corresponding to the current target business based on the target resource pool to obtain ciphertext data of the first value; and sends a third transaction to the blockchain system based on the business data of the current target business; wherein the business data includes the ciphertext data;

[0142] As described above, in the embodiments of this specification, for encryption of the first value, the transaction device can first obtain the plaintext of the first value, then initiate a transaction to the blockchain to encrypt the plaintext of the first value through the blockchain system to obtain ciphertext data, and then return the ciphertext data to the transaction device. Alternatively, the transaction device can obtain the plaintext of the first value and then encrypt the plaintext to obtain ciphertext data. The specific method used for plaintext encryption can be selected based on the specific application scenario.

[0143] The blockchain system 301 determines, based on the third transaction and according to preset rules, the resource pool information of the target resource pool corresponding to the current target business; if business data to be processed is queried from the blockchain system based on the resource pool information, it is determined whether the business data in the third transaction and the queried business data meet a preset interval storage condition; if so, the business data in the third transaction and the queried business data are determined as the target storage data to be processed.

[0144] Alternatively, as Figure 11 As shown, the system further includes: a second terminal device 303 of a participant of the current target service based on the target resource pool;

[0145] The second terminal device 303, in response to the transaction initiation operation of the participant, initiates a second transaction to the blockchain system based on the business data of the current target business; the business data includes a first value of the resources corresponding to the current target business; the second terminal device 303 can be the terminal device of the target party, or it can be the terminal device of the business party that reaches a target business with the target party.

[0146] The blockchain system 301 encrypts the first value based on the second smart contract using the key of the target party to which the target resource pool belongs to obtain the ciphertext data of the first value; determines the resource pool information of the corresponding target resource pool according to the business data and preset rules; if the associated to-be-processed data is queried from the designated cache according to the resource pool information, the information in the business data other than the first value and the ciphertext data are determined as the to-be-processed data of the current target business; determines whether each of the to-be-processed data meets the preset interval storage condition; if so, determines each of the to-be-processed data as the target storage data to be processed.

[0147] Alternatively, as Figure 12 As shown, the system further includes: a third terminal device 304 of the verification party;

[0148] The third terminal device 304 sends a verification request to the blockchain system 301 in response to the verification operation of the verifier;

[0149] The blockchain system 301 determines the proof data to be verified according to the verification request; verifies the proof data according to a preset verification algorithm and based on the key of the target party to obtain verification result information; and sends the verification result information to the third terminal device 304.

[0150] One or more embodiments of this specification provide a blockchain-based data processing system. Upon obtaining target storage data to be processed from a target resource pool, the blockchain system generates proof data corresponding to the target storage data based on the encrypted data of the first numerical values ​​of the resources corresponding to multiple target transactions and the first total resource amount of the target resource pool obtained from the blockchain system, using a zero-knowledge proof algorithm. This proof data is then stored in the blockchain system. This system not only ensures the authenticity and validity of the uploaded data based on the characteristics of the blockchain, providing a valid data basis for subsequent related processing, but also, because the proof data is generated and uploaded based on the encrypted data of the first numerical value, it effectively verifies the updated status of the total resource amount of the target resource pool while maintaining the privacy of the target party's resource transaction amount. In pool financing scenarios, this system not only avoids the risk of enterprise privacy information leakage, but also allows banks to effectively manage the accounts receivable balance "pool" without having to inquire about the actual amount of each enterprise's accounts receivable without investing excessive manpower and material resources.

[0151] It should be noted that the embodiment of the blockchain-based data processing system in this specification and the embodiment of the blockchain-based data processing method in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can refer to the implementation of the corresponding blockchain-based data processing method mentioned above, and the repeated parts will not be repeated.

[0152] Furthermore, corresponding to the above-described blockchain-based data processing method, based on the same technical concept, one or more embodiments of this specification also provide a blockchain-based data processing device, which is used to execute the above-described blockchain-based data processing method. Figure 13 A schematic diagram of the structure of a blockchain-based data processing device provided for one or more embodiments of this specification.

[0153] like Figure 13As shown, blockchain-based data processing devices can vary significantly depending on their configuration or performance. They may include one or more processors 401 and memory 402. Memory 402 may store one or more applications or data. Memory 402 may be either ephemeral or persistent. Applications stored in memory 402 may include one or more modules (not shown), each of which may include a series of computer-executable instructions for the blockchain-based data processing device. Furthermore, processor 401 may be configured to communicate with memory 402 to execute the series of computer-executable instructions in memory 402 on the blockchain-based data processing device. Blockchain-based data processing devices may also include one or more power supplies 403, one or more wired or wireless network interfaces 404, one or more input / output interfaces 405, one or more keyboards 406, and the like.

[0154] In a specific embodiment, a blockchain-based data processing device includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the blockchain-based data processing device, and the one or more programs are configured to be executed by one or more processors, including computer-executable instructions for performing the following:

[0155] Obtaining target storage data to be processed from a target resource pool; wherein the target storage data includes ciphertext data corresponding to multiple target services in the target resource pool during its storage interval, the ciphertext data being data obtained by encrypting a first value of a resource for each target service using a zero-knowledge proof algorithm;

[0156] Obtaining a first total amount of resources of the target resource pool from the blockchain system; wherein the first total amount of resources is the total amount of resources of the target resource pool at the starting point of the storage interval;

[0157] According to the ciphertext data and the first total amount of resources, proof data corresponding to the target storage data is generated based on the zero-knowledge proof algorithm, and the proof data is saved in the blockchain system; the proof data is used to verify whether the total amount of resources in the target resource pool is updated correctly based on the multiple target businesses.

[0158] Optionally, when the computer-executable instructions are executed, generating proof data corresponding to the target storage data based on the zero-knowledge proof algorithm according to the ciphertext data and the first total amount of resources includes:

[0159] Based on the first smart contract in the blockchain system, proof data corresponding to the target storage data is generated according to the zero-knowledge proof algorithm, the ciphertext data and the first total amount of resources.

[0160] Optionally, when the computer executable instructions are executed, generating proof data corresponding to the target storage data based on the zero-knowledge proof algorithm according to the ciphertext data and the first total amount of resources includes:

[0161] Determining, based on the zero-knowledge proof algorithm, a preset mapping relationship satisfied by a first calculation result and a second calculation result; the first calculation result is obtained by calculating each of the ciphertext data based on the first preset algorithm, and the second calculation result is a change in the total amount of resources of the target resource pool during the storage interval;

[0162] Determining a change value of the total amount of resources of the target resource pool during the storage interval based on the preset mapping relationship and the ciphertext data;

[0163] Calculating a second total amount of resources of the target resource pool at an end point of the storage interval according to the change value;

[0164] The certification data is generated according to the ciphertext data and the second total amount of resources, and the certification data includes the ciphertext data and the second total amount of resources.

[0165] Optionally, when the computer executable instructions are executed, the method further includes:

[0166] Receive a verification request from a verification party, and determine the certification data to be verified based on the verification request;

[0167] Verifying the certification data based on the target party's key according to a preset verification algorithm to obtain verification result information;

[0168] The verification result information is sent to the verification party.

[0169] One or more embodiments of this specification provide a blockchain-based data processing device that, upon acquiring target storage data to be processed from a target resource pool, generates proof data corresponding to the target storage data based on the encrypted data of the first numerical values ​​of the resources corresponding to multiple target transactions and the first total resource amount of the target resource pool obtained from the blockchain system, using a zero-knowledge proof algorithm, and then stores the proof data in the blockchain system. This not only ensures the authenticity and validity of the uploaded data based on the characteristics of the blockchain, providing an effective data basis for subsequent related processing, but also, because the proof data is generated and uploaded based on the encrypted data of the first numerical value, it effectively verifies the updated status of the total resource amount of the target resource pool while maintaining the privacy of the target party's resource transaction amount. In pool financing scenarios, this not only avoids the risk of enterprise privacy information leakage, but also allows banks to effectively manage the accounts receivable balance "pool" without having to inquire about the actual amount of each enterprise's accounts receivable without investing excessive manpower and material resources.

[0170] It should be noted that the embodiment of the blockchain-based data processing device in this specification and the embodiment of the blockchain-based data processing method in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can refer to the implementation of the corresponding blockchain-based data processing method mentioned above, and the repeated parts will not be repeated.

[0171] Furthermore, corresponding to the blockchain-based data processing method described above, based on the same technical concept, one or more embodiments of this specification further provide a storage medium for storing computer-executable instructions. In a specific embodiment, the storage medium may be a USB flash drive, an optical disk, a hard disk, etc. When the computer-executable instructions stored in the storage medium are executed by a processor, the following process can be implemented:

[0172] Obtaining target storage data to be processed from a target resource pool; wherein the target storage data includes ciphertext data corresponding to multiple target services in the target resource pool during its storage interval, the ciphertext data being data obtained by encrypting a first value of a resource for each target service using a zero-knowledge proof algorithm;

[0173] Obtaining a first total amount of resources of the target resource pool from the blockchain system; wherein the first total amount of resources is the total amount of resources of the target resource pool at the starting point of the storage interval;

[0174] According to the ciphertext data and the first total amount of resources, proof data corresponding to the target storage data is generated based on the zero-knowledge proof algorithm, and the proof data is saved in the blockchain system; the proof data is used to verify whether the total amount of resources in the target resource pool is updated correctly based on the multiple target businesses.

[0175] Optionally, when the computer-executable instructions are executed, generating proof data corresponding to the target storage data based on the zero-knowledge proof algorithm according to the ciphertext data and the first total amount of resources includes:

[0176] Based on the first smart contract in the blockchain system, proof data corresponding to the target storage data is generated according to the zero-knowledge proof algorithm, the ciphertext data and the first total amount of resources.

[0177] Optionally, when the computer-executable instructions stored in the storage medium are executed by the processor, generating proof data corresponding to the target storage data based on the zero-knowledge proof algorithm according to the ciphertext data and the first total amount of resources, including:

[0178] Determining, based on the zero-knowledge proof algorithm, a preset mapping relationship satisfied by a first calculation result and a second calculation result; the first calculation result is obtained by calculating each of the ciphertext data based on the first preset algorithm, and the second calculation result is a change in the total amount of resources of the target resource pool during the storage interval;

[0179] Determining a change value of the total amount of resources of the target resource pool during the storage interval based on the preset mapping relationship and the ciphertext data;

[0180] Calculating a second total amount of resources of the target resource pool at an end point of the storage interval according to the change value;

[0181] The certification data is generated according to the ciphertext data and the second total amount of resources, and the certification data includes the ciphertext data and the second total amount of resources.

[0182] Optionally, when the computer executable instructions stored in the storage medium are executed by the processor, the method further includes:

[0183] Receive a verification request from a verification party, and determine the certification data to be verified based on the verification request;

[0184] Verifying the certification data based on the target party's key according to a preset verification algorithm to obtain verification result information;

[0185] The verification result information is sent to the verification party.

[0186] When executed by a processor, the computer-executable instructions stored in a storage medium provided in one or more embodiments of this specification obtain target storage data to be processed in a target resource pool. Based on the encrypted data of the first numerical values ​​of the resources corresponding to the corresponding multiple target transactions and the first total resource amount of the target resource pool obtained from the blockchain system, proof data corresponding to the target storage data is generated based on a zero-knowledge proof algorithm and stored in the blockchain system. This proof data not only ensures the authenticity and validity of each data uploaded to the blockchain based on the characteristics of the blockchain, providing an effective data basis for subsequent related processing, but also, because the proof data is generated and uploaded to the blockchain based on the encrypted data of the first numerical value, it effectively verifies the updated status of the total resource amount of the target resource pool while maintaining the privacy of the target party's resource transaction quantity. For pool financing scenarios, this not only avoids the risk of enterprise privacy information leakage, but also allows banks to effectively manage the accounts receivable balance "pool" without having to inquire about the actual amount of each enterprise's accounts receivable without investing excessive manpower and material resources.

[0187] It should be noted that the embodiment of the storage medium in this specification and the embodiment of the blockchain-based data processing method in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can refer to the implementation of the corresponding blockchain-based data processing method mentioned above, and the repeated parts will not be repeated.

[0188] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0189] In the 1990s, technological improvements could be clearly distinguished as either hardware improvements (for example, improvements to circuit structures such as diodes, transistors, and switches) or software improvements (improvements to process flows). However, with the advancement of technology, many process flow improvements today can now be considered direct improvements to hardware circuit structures. Designers almost always create the corresponding hardware circuit structure by programming the improved process flow into the hardware circuit. Therefore, it cannot be said that a process flow improvement cannot be implemented using hardware modules. For example, a programmable logic device (PLD), such as a field programmable gate array (FPGA), is an integrated circuit whose logical function is determined by user programming. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to hire a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually fabricating integrated circuit chips, this programming is mostly done using "logic compiler" software. This is similar to the software compiler used when developing programs. Before compilation, the original code must also be written in a specific programming language, called a hardware description language (HDL). There is not just one HDL, but many, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art will also understand that by simply programming the method flow in one of these hardware description languages ​​and then programming it into an integrated circuit, a hardware circuit that implements the logic method flow can be easily obtained.

[0190] The controller can be implemented in any suitable manner. For example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that in addition to implementing the controller in a purely computer-readable program code format, the controller can be implemented in the form of logic gates, switches, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller can be considered a hardware component, and the means for implementing various functions included therein can also be considered as structures within the hardware component. Or even, the means for implementing various functions can be considered as both a software module implementing the method and a structure within the hardware component.

[0191] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0192] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing the embodiments of this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0193] Those skilled in the art will appreciate that one or more embodiments of this specification may be provided as a method, system, or computer program product. Thus, one or more embodiments of this specification may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0194] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of processes and / or boxes 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.

[0195] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work 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 The function specified in one or more boxes.

[0196] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 The steps for the function specified in one or more boxes.

[0197] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0198] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0199] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0200] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0201] One or more embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. One or more embodiments of this specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0202] The various embodiments in this specification are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiments are generally similar to the method embodiments, so the description is relatively simple. For relevant parts, refer to the description of the method embodiments.

[0203] The foregoing description is merely an example of the present invention and is not intended to limit the present invention. Persons skilled in the art will readily appreciate that various modifications and variations of the present invention are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention are intended to be included within the scope of the claims herein.

Claims

1. A data processing method based on blockchain, comprising: Obtain target storage data of the target resource pool; The target storage data includes ciphertext data corresponding to each target business in a target resource pool during the storage interval, wherein the ciphertext data is obtained by encrypting the first value of the resource of the target business corresponding to the ciphertext data using a zero-knowledge proof algorithm; Obtaining a first total amount of resources of the target resource pool at the starting point of the storage interval from the blockchain system; According to the ciphertext data and the first total amount of resources, proof data corresponding to the target storage data is generated based on the zero-knowledge proof algorithm, and the proof data is saved in the blockchain system; the proof data includes the ciphertext data, and the proof data is used to verify whether the update of the total amount of resources of the target resource pool based on the multiple target businesses is correct while ensuring the privacy of the first value.

2. The method according to claim 1, wherein generating proof data corresponding to the target storage data based on the ciphertext data and the first total amount of resources using a zero-knowledge proof algorithm comprises: Based on the first smart contract in the blockchain system, proof data corresponding to the target storage data is generated according to the zero-knowledge proof algorithm, the ciphertext data and the first total amount of resources.

3. The method according to claim 1, wherein generating proof data corresponding to the target storage data based on the ciphertext data and the first total amount of resources using a zero-knowledge proof algorithm comprises: Determining, based on the zero-knowledge proof algorithm, a preset mapping relationship satisfied by the first calculation result and the second calculation result; The first calculation result is obtained by calculating each of the ciphertext data based on a first preset algorithm, and the second calculation result is a change in the total amount of resources of the target resource pool during the storage interval; Determining a change value of the total amount of resources of the target resource pool during the storage interval based on the preset mapping relationship and the ciphertext data; Calculating a second total amount of resources of the target resource pool at an end point of the storage interval according to the change value; The certification data is generated according to the ciphertext data and the second total amount of resources, and the certification data includes the second total amount of resources.

4. The method according to claim 1, wherein the storage interval is divided according to the number of services executed, and the number of services corresponding to the storage interval is a preset granularity value.

5. The method according to claim 3, wherein obtaining the target storage data to be processed in the target resource pool comprises: receiving a first transaction initiated by a target party belonging to the target resource pool; wherein the first transaction carries business data of each target business among the multiple target businesses; the business data includes the first value; Encrypting each of the first values ​​using the target party's key to obtain ciphertext data of each of the first values; Determining information in the business data except the first value as business detail information; The business detail information and the ciphertext data are determined as target storage data to be processed.

6. The method according to claim 5, wherein generating proof data corresponding to the target storage data based on the ciphertext data and the first total amount of resources using a zero-knowledge proof algorithm comprises: Determining identification information of the certification data corresponding to the target storage data; The identification information, the determined resource pool information of the target resource pool, the second total amount of resources and the target storage data are associated, and the associated information is used as the certification data.

7. The method according to claim 5, wherein obtaining the first total amount of resources of the target resource pool at the starting point of the storage interval from the blockchain system comprises: determining query information based on the first transaction; According to the query information, a first total amount of resources of the target resource pool at the starting point of the storage interval is obtained from the blockchain system.

8. The method according to claim 3, wherein obtaining the target storage data to be processed in the target resource pool comprises: receiving a second transaction initiated by a business party of a current target business based on the target resource pool; wherein the second transaction carries business data of the current target business, and the business data includes the first value; Encrypting the first value using a key of the target party to which the target resource pool belongs to obtain ciphertext data of the first value; Determining the resource pool information of the corresponding target resource pool according to the business data and preset rules; If associated to-be-processed data is found from the designated cache according to the resource pool information, the information in the service data other than the first value and the ciphertext data are determined as the to-be-processed data for the current target service; Determine whether each of the to-be-processed data satisfies a preset interval storage condition; if so, determine each of the to-be-processed data as target storage data to be processed.

9. The method according to claim 8, wherein obtaining the first total amount of resources of the target resource pool at the starting point of the storage interval from the blockchain system comprises: determining query information based on the second transaction; According to the query information, a first total amount of resources of the target resource pool at the starting point of the storage interval is obtained from the blockchain system.

10. The method according to claim 8, wherein generating proof data corresponding to the target storage data based on the ciphertext data and the first total amount of resources using a zero-knowledge proof algorithm comprises: Determining identification information of the certification data corresponding to the target storage data; The identification information, the resource pool information, the second total amount of resources and the target storage data are associated, and the associated information is used as the certification data.

11. The method according to claim 3, wherein obtaining the target storage data to be processed in the target resource pool comprises: receiving a third transaction initiated by a target party belonging to the target resource pool; the third transaction carries business data of a current target business based on the target resource pool; the business data includes ciphertext data obtained by encrypting a first value of a resource of the current target business; the ciphertext data is obtained by homomorphically encrypting the first value using a key of the target party; According to the third transaction, determining the resource pool information of the target resource pool corresponding to the current target business according to a preset rule; If the business data to be processed is queried from the blockchain system according to the resource pool information, determining whether the business data in the third transaction and the queried business data meet a preset interval storage condition; If so, the business data in the third transaction and the queried business data are determined as target storage data to be processed.

12. The method according to claim 11, wherein obtaining the first total amount of resources of the target resource pool at the starting point of the storage interval from the blockchain system comprises: determining query information based on the third transaction; According to the determined query information, a first total amount of resources of the target resource pool is obtained from the blockchain system.

13. The method according to claim 11, wherein generating proof data corresponding to the target storage data based on the ciphertext data and the first total amount of resources using a zero-knowledge proof algorithm comprises: Determining identification information of the certification data corresponding to the target storage data; The identification information, the resource pool information, the second total amount of resources, and the business data in the third transaction are associated, and the associated information is used as the proof data.

14. The method according to claim 1, further comprising: Receive a verification request from a verification party, and determine the certification data to be verified based on the verification request; According to a preset verification algorithm, based on the key of the target party to which the target resource pool belongs, the certification data is verified to obtain verification result information; The verification result information is sent to the verification party.

15. The method according to claim 14, wherein the verification of the certification data based on the target party's key according to a preset verification algorithm comprises: Obtaining, from the blockchain system, ciphertext data of a first value of a resource for each of the multiple target businesses corresponding to the proof data to be verified; Obtaining from the blockchain system a first total amount of resources at a starting point and a second total amount of resources at an end point of a corresponding storage interval of a resource pool corresponding to the proof data to be verified; According to a preset verification algorithm, the certification data to be verified is verified based on the target party's key, the obtained ciphertext data, the first total amount of resources and the second total amount of resources.

16. The method according to claim 15, wherein the verification processing of the certification data to be verified based on the target party's key, the obtained ciphertext data, the first total amount of resources, and the second total amount of resources according to a preset verification algorithm comprises: Determining the target party's key, the ciphertext data, the first total amount of resources, and the second total amount of resources as input data of a preset verification algorithm; Performing a first calculation process on the ciphertext data based on the verification algorithm to obtain a third calculation result, and performing a second calculation process on the first total amount of resources and the second total amount of resources to obtain a fourth calculation result; Determining whether a preset mapping relationship exists between the third calculation result and the fourth calculation result; If so, generate verification result information indicating that the verification is successful; If not, verification result information indicating verification failure is generated.

17. A data processing device based on blockchain, comprising: A first acquisition module acquires target storage data of a target resource pool; The target storage data includes ciphertext data corresponding to each target business in a target resource pool during the storage interval, wherein the ciphertext data is obtained by encrypting the first value of the resource of the target business corresponding to the ciphertext data using a zero-knowledge proof algorithm; A second acquisition module acquires a first total amount of resources of the target resource pool at the starting point of the storage interval from the blockchain system; A generating module, which generates proof data corresponding to the target storage data based on the zero-knowledge proof algorithm according to the ciphertext data and the first total amount of resources; The certification data is used to verify whether the total amount of resources in the target resource pool is correctly updated based on the multiple target businesses while ensuring the privacy of the first value; A saving module saves the proof data into the blockchain system.

18. A blockchain-based data processing system, comprising: Blockchain system; The blockchain system obtains target storage data from a target resource pool; The target storage data includes ciphertext data corresponding to each target business in a target resource pool during the storage interval, wherein the ciphertext data is obtained by encrypting a first value of a resource of the target business corresponding to the ciphertext data using a zero-knowledge proof algorithm; obtaining a first total amount of resources of the target resource pool at the starting point of the storage interval from the blockchain system; According to the ciphertext data and the first total amount of resources, proof data corresponding to the target storage data is generated based on the zero-knowledge proof algorithm, and the proof data is saved in the blockchain system; the proof data includes the ciphertext data, and the proof data is used to verify whether the update of the total amount of resources of the target resource pool based on the multiple target businesses is correct while ensuring the privacy of the first value.

19. The system of claim 18, further comprising: a first terminal device of the target party to which the target resource pool belongs; The first terminal device, in response to the transaction initiation operation of the target party, initiates a first transaction to the blockchain system based on the business data of each target business among the multiple target businesses to be processed; the business data includes the first value; The blockchain system encrypts each of the first values ​​using the target party's key to obtain ciphertext data of each of the first values; The information in the business data except the first value is determined as business detail information; and the business detail information and the ciphertext data are determined as target storage data to be processed.

20. The system of claim 18, further comprising: A second terminal device of a participant of a current target service based on the target resource pool; The second terminal device, in response to the transaction initiation operation of the participant, initiates a second transaction to the blockchain system according to the business data of the current target business; the business data includes a first value of a resource corresponding to the current target business; The blockchain system encrypts the first value using a key of the target party to which the target resource pool belongs to obtain ciphertext data of the first value; Determining the resource pool information of the corresponding target resource pool according to the business data and preset rules; If associated data to be processed is found from the designated cache according to the resource pool information, the information in the business data other than the first value and the ciphertext data are determined as the data to be processed for the current target business; and whether each of the data to be processed meets a preset interval storage condition; If so, each of the to-be-processed data is determined as target storage data to be processed.

21. The system of claim 18, further comprising: a first terminal device of the target party to which the target resource pool belongs; The first terminal device, in response to the transaction initiation operation of the target party, uses the target party's key to perform homomorphic encryption processing on a first value of a resource corresponding to the current target business based on the target resource pool to obtain ciphertext data of the first value; Sending a third transaction to the blockchain system according to the business data of the current target business; wherein the business data includes the ciphertext data; The blockchain system determines, based on the third transaction and according to preset rules, the resource pool information of the target resource pool corresponding to the current target business; if business data to be processed is queried from the blockchain system based on the resource pool information, it is determined whether the business data in the third transaction and the queried business data meet a preset interval storage condition; if so, the business data in the third transaction and the queried business data are determined as the target storage data to be processed.

22. The system of claim 18, further comprising: A third terminal device of the verifier; The third terminal device sends a verification request to the blockchain system in response to the verification operation of the verifier; The blockchain system determines the proof data to be verified according to the verification request; verifies the proof data according to a preset verification algorithm and based on the key of the target party to which the target resource pool belongs, to obtain verification result information; and sends the verification result information to the third terminal device.

23. A blockchain-based data processing device comprising: processor; as well as, a memory arranged to store computer-executable instructions which, when executed, cause the processor to: Obtain target storage data of a target resource pool; the target storage data includes ciphertext data corresponding to each target business in a plurality of target businesses in the target resource pool during a storage interval, the ciphertext data being data obtained by encrypting a first value of a resource of the target business corresponding to the ciphertext data using a zero-knowledge proof algorithm; Obtaining a first total amount of resources of the target resource pool at the starting point of the storage interval from the blockchain system; According to the ciphertext data and the first total amount of resources, proof data corresponding to the target storage data is generated based on the zero-knowledge proof algorithm, and the proof data is saved in the blockchain system; the proof data includes the ciphertext data, and the proof data is used to verify whether the update of the total amount of resources of the target resource pool based on the multiple target businesses is correct while ensuring the privacy of the first value.

24. A storage medium for storing computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the following process: Obtain target storage data of a target resource pool; the target storage data includes ciphertext data corresponding to each target business in a plurality of target businesses in the target resource pool during a storage interval, the ciphertext data being data obtained by encrypting a first value of a resource of the target business corresponding to the ciphertext data using a zero-knowledge proof algorithm; Obtaining a first total amount of resources of the target resource pool at the starting point of the storage interval from the blockchain system; According to the ciphertext data and the first total amount of resources, proof data corresponding to the target storage data is generated based on the zero-knowledge proof algorithm, and the proof data is saved in the blockchain system; the proof data includes the ciphertext data, and the proof data is used to verify whether the update of the total amount of resources of the target resource pool based on the multiple target businesses is correct while ensuring the privacy of the first value.

Citation Information

Patent Citations

  • Privacy transaction method and device, zero knowledge proof system and privacy transaction architecture model

    CN112288434A

  • Asset data verification method and device based on privacy protection and asset data sending method and device based on privacy protection

    CN112632594A