Information processing method, information processing device, blockchain platform and storage medium

By applying homomorphic encryption technology to the blockchain nodes of the alliance chain, the data protection problem of the alliance chain is solved, the privacy calculation of data in the transaction process is realized, and the security and privacy of the data are ensured.

CN114297721BActive Publication Date: 2025-01-21LENOVO (BEIJING) LTD

Patent Information

Application Number
CN202210089865.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-25
Publication Date
2025-01-21
Estimated Expiration
2042-01-25

AI Technical Summary

Technical Problem

The data protection problem in the field of alliance chains has not been effectively solved. The existing hash-on-chain method can only be used as evidence and cannot truly protect the privacy of data.

Method used

By using homomorphic encryption technology on the blockchain node, the transaction information is received, the account book information of the target user is obtained, the account change value is encrypted using the public key, the new ciphertext value is determined based on the ciphertext value and the evaluation function, and recorded in the zone in the blockchain so that the target user can use the private key to decrypt and obtain the plaintext account value.

Benefits of technology

It realizes the function of blockchain nodes not leaking the original information of the data when operating on ciphertext data, ensuring the privacy of data during the transaction process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114297721B_ABST
    Figure CN114297721B_ABST
Patent Text Reader

Abstract

An embodiment of the present application discloses an information processing method, which includes: receiving transaction information between a target user and other users; wherein the transaction information includes an account change value; obtaining first account book information of the target user from a blockchain; wherein the first account book information includes a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained after the target user encrypts the target user's previous transaction information with the first public key; encrypting the account change value with the first public key to obtain the first ciphertext account change value; determining a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and a first evaluation function, and recording the second ciphertext account value in the blockchain, so that the target user uses a first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain a first plaintext account value; wherein the first public key and the first private key are generated according to homomorphic encryption parameters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to but is not limited to the field of computer technology, and in particular to an information processing method, an information processing device, a blockchain platform and a storage medium. Background Art

[0002] Blockchain technology is generally divided into public chains and permissioned chains. Permissioned chains can be divided into alliance chains and private chains according to whether the data maintainer is a single individual. Data on public chains are openly shared, while within permissioned chains, although data is shared, the protected information is often open to some participants and kept confidential to others based on business needs. In the field of privacy protection, with the requirements of the General Data Protection Regulation (GDPR) proposed by the European Union in 2018, data owners are also required to provide data protection. The data protection issue in the alliance chain field has always been a key issue to be resolved.

[0003] In the related art, the method of protecting data on the alliance chain is to use hashing on the chain. Since the transaction on the hashing chain occurs on the user side, only the hash value of the transaction result, i.e., the hash data, needs to be saved on the blockchain to achieve data invisibility. However, the hash data in this method can only be used as evidence. When conducting transactions, the original plaintext data is still required, and the data protection is not truly achieved. It can be seen that there is an urgent need to provide an information processing method for privacy protection of data on the alliance chain. Summary of the invention

[0004] The embodiments of the present application hope to provide an information processing method, an information processing device, a blockchain platform and a storage medium.

[0005] The technical solution of this application is implemented as follows:

[0006] In a first aspect, an information processing method is applied to a first node of a blockchain, the method comprising:

[0007] Receiving transaction information between the target user and other users; wherein the transaction information includes an account change value;

[0008] Obtaining first account book information of the target user from the blockchain; wherein the first account book information includes a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained by the target user encrypting the previous transaction information of the target user with the first public key;

[0009] Encrypting the account change value with the first public key to obtain a first ciphertext account change value;

[0010] A second ciphertext account value is determined based on the first ciphertext account value, the first ciphertext account change value and a first evaluation function, and the second ciphertext account value is recorded in the blockchain, so that the target user uses a first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain a first plaintext account value; wherein the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function includes an operation function.

[0011] In a second aspect, an information processing device is provided, the device comprising:

[0012] A receiving module, used to receive transaction information between the target user and other users; wherein the transaction information includes an account change value;

[0013] an acquisition module, configured to acquire first account book information of the target user from a blockchain; wherein the first account book information includes a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained by the target user encrypting the previous transaction information of the target user using the first public key;

[0014] A processing module, used to encrypt the account change value with the first public key to obtain a first ciphertext account change value; determine a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and a first evaluation function, and record the second ciphertext account value in the blockchain, so that the target user uses the first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain a first plaintext account value; wherein the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function includes an operation function.

[0015] In a third aspect, a blockchain platform is provided, the blockchain platform comprising:

[0016] A memory for storing executable instructions;

[0017] The processor is used to execute the executable instructions stored in the memory to implement the information processing method described above.

[0018] In a fourth aspect, a storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the information processing method described above.

[0019] The information processing method, information processing device, blockchain platform and storage medium provided by the embodiments of the present application receive transaction information between a target user and other users; wherein the transaction information includes an account change value; obtain the first account book information of the target user from the blockchain; wherein the first account book information includes a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained by the target user encrypting the previous transaction information of the target user with the first public key; encrypt the account change value with the first public key to obtain the first ciphertext account change value; determine the second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and record the second ciphertext account value in the blockchain, so that the target user uses the first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain the first plaintext account value; wherein the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function includes an operation function; in this way, it is achieved that the original information of the data will not be leaked during the operation of the blockchain node on the ciphertext data, and the privacy operation between the data is achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 An optional flowchart of an information processing method provided in an embodiment of the present application;

[0021] Figure 2 An optional schematic diagram of sending a message to a first node provided in an embodiment of the present application;

[0022] Figure 3 An optional flowchart of an information processing method provided in an embodiment of the present application;

[0023] Figure 4 An optional flowchart of an information processing method provided in an embodiment of the present application;

[0024] Figure 5 An optional structural diagram of ciphertext update provided in an embodiment of the present application;

[0025] Figure 6 An optional flowchart of an information processing method provided in an embodiment of the present application;

[0026] Figure 7 An optional flowchart of an information processing method provided in an embodiment of the present application;

[0027] Figure 8 An optional flowchart of an information processing method provided in an embodiment of the present application;

[0028] Fig. 9 An optional schematic diagram of a joint operation provided for an embodiment of the present application;

[0029] Fig.10 A schematic diagram of the structure of an information processing device provided in an embodiment of the present application;

[0030] Fig.11 A schematic diagram of the structure of a blockchain platform provided in an embodiment of the present application. DETAILED DESCRIPTION

[0031] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.

[0032] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0033] In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.

[0034] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0035] The embodiment of the present application provides an information processing method, which is applied to the first node of the blockchain, referring to Figure 1 As shown, the method comprises the following steps:

[0036] Step 101: Receive transaction information between a target user and other users.

[0037] The transaction information includes an account change value. Here, the account change value may be the account change value of the target user, the account change value may also be the account change value of other users, or the account change value of a user different from the target user and other users, and this application does not make any specific restrictions on this. It should be noted that in the embodiment of this application, the account change value is the account change value of the target user.

[0038] In the embodiment of the present application, the target user is a user who increases the account value, that is, a user who transfers in a certain account value; the target user may also be a user who reduces the account value, that is, a user who transfers out a certain account value.

[0039] In an embodiment of the present application, the first node of the blockchain determines the changed account value of the target user based on the original account value and the account change value of the target account.

[0040] Here, the transaction information may be generated by the blockchain platform, or may be generated by the target user, other users, or user X designated by the upper layer of the blockchain and sent to the first node of the blockchain, and there is no specific restriction on this.

[0041] In the embodiment of the present application, the transaction information may also include the first identifier of the target user and the second identifier of the other user, that is, the transaction information may be expressed as Tran(ID A ,ID B ,value), where ID A Indicates the first identifier of the target user, ID B Indicates the second identifier of other users, and value indicates the account change value. Here, the transaction information between the target user and other users can also be submitted to the first node of the blockchain in the form of a contract.

[0042] In practical applications, blockchains include public chains, private chains, and alliance chains; among them, public chains are open to all users, so the data information on the public chain, i.e., the ledger information, can be publicly shared; private chains are open to users who are granted write permissions, so the data information on the private chain, i.e., the ledger information, can be accessed by users who are granted write permissions without data verification, and have a high degree of trust; alliance chains grant certain permissions to users who participate in management, and require privacy protection of data information, i.e., the ledger information, between members of the alliance chain to enhance the degree of trust between members. The information processing method provided in the embodiment of the present application is applied to the alliance chain to achieve the problem of privacy protection of data information between members of the alliance chain during transactions.

[0043] In the embodiment of the present application, the first node is any one of the multiple nodes included in the blockchain.

[0044] Step 102: Obtain the first account book information of the target user from the blockchain.

[0045] The first account book information includes a first ciphertext account value and a first public key of a target user. The first ciphertext account value is obtained by encrypting the target user's previous transaction information with the first public key.

[0046] In the embodiment of the present application, the first public key is a key required for encryption generated by the target user through a key generation algorithm based on a given homomorphic encryption parameter. Here, the target user generates the homomorphic key required for encryption through a key generation algorithm based on a given homomorphic encryption parameter, including a first public key and a first private key, and the first private key corresponds to the first public key. Exemplarily, the target user generates the homomorphic key required for encryption through a key generation algorithm KeyGen(1 λ ) Generate the first public key PK A and the first private key sk A It should be noted that the required homomorphic encryption parameters are different depending on the selected encryption and decryption algorithms. This application does not make any specific limitations on the encryption and decryption algorithms.

[0047] In an embodiment of the present application, after the first node of the blockchain receives the transaction information between the target user and other users, it obtains the first ledger information of the target user including the first ciphertext account value and the first public key from the blockchain.

[0048] In other embodiments of the present application, the first ledger information may further include a first identifier of the target user. After the first node of the blockchain receives the transaction information between the target user and other users, based on the first identifier of the target user included in the transaction information, the first ledger information corresponding to the first identifier is obtained from the blockchain.

[0049] Step 103: Use the first public key to encrypt the account change value to obtain a first ciphertext account change value.

[0050] In the embodiment of the present application, when the first node of the blockchain obtains the first account book information of the target user from the blockchain, the first public key in the first account book information is obtained. Further, the account change value in the transaction information is encrypted using the first public key through an encryption algorithm to obtain a first ciphertext account change value, so that the first node uses an evaluation algorithm under the same state to perform a joint operation on at least two ciphertext values ​​encrypted with the same key.

[0051] Step 104: determine the second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and record the second ciphertext account value in the blockchain, so that the target user can use the first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain the first plaintext account value.

[0052] Among them, the first public key and the first private key are generated according to the homomorphic encryption parameters; and the first evaluation function includes an operation function.

[0053] In the embodiment of the present application, the operation function includes but is not limited to an addition operation function, a subtraction operation function, a multiplication operation function, a division operation function and an average operation function.

[0054] In the embodiment of the present application, the evaluation function can be understood as combining at least two ciphertext values ​​obtained by encrypting with the same public key, and forming a new ciphertext value through a specific function such as an operation function included in the evaluation function, so as to obtain a new plaintext value after the operation after decrypting the new ciphertext value through the private key corresponding to the public key. Exemplarily, the evaluation algorithm is Eval(F, ct1, ct2, ..., ctn), and the evaluation algorithm combines n ciphertexts ct1, ct2, ..., ctn, and forms a new ciphertext ct' through an operation function F, and ct'=F(ct1, ct2, ..., ctn). Due to the properties of homomorphic encryption, Dec(sk, ct') = F(m1, m2, ..., mn), that is, through the decryption function Dec function, the new ciphertext ct' is homomorphically decrypted using the private key sk to obtain the plaintext m1 corresponding to the ciphertext ct1, the plaintext m2 corresponding to the ciphertext ct2, and the plaintext mn corresponding to the ciphertext ctn, and the plaintext m1, m2 and mn are calculated through the operation function F to obtain the new plaintext.

[0055] In an embodiment of the present application, when the first node of the blockchain encrypts the account change value with the first public key to obtain the first ciphertext account change value, the first node calculates the first ciphertext account value and the first ciphertext account change value through the operation function in the first evaluation function to obtain the second ciphertext account value, and records the second ciphertext account value in the blockchain, so that the target user uses the first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain the first plaintext account value.

[0056] In an achievable application scenario, the target user is the user who reduces the account value. First, the target user executes the key generation algorithm, i.e., the KeyGen algorithm, according to the given homomorphic encryption parameters to generate the first public key PK A and the first private key sk A ; Secondly, the target user uses the first public key PK through the encryption algorithm Enc algorithm A The previous transaction information m of the target user A After encryption, the first ciphertext account value ct is obtained A , which can be expressed as executing Enc(m A ,PK A ) to get ct A Further, refer to Figure 2 As shown, Figure 2 A in FIG. 1 shows a schematic diagram of sending the first ledger information to the first node. The target user creates the first ledger information Create (ID A ,ct A ,PK A), and sends the first ledger information to the first node of the blockchain, and provides endorsement and synchronization for the information of the first node, and synchronizes it to other nodes of the blockchain, and finally reaches consistency; wherein, the first ledger information is stored on the blockchain in a key-value pair structure, and the first ledger information is ID A :[ct A ,PK A Then, refer to Figure 2 As shown, Figure 2 B in FIG. 1 shows a schematic diagram of sending transaction information to the first node, and the first node receives the transaction information Tran(ID A ,ID B ,value), based on the first identifier ID A Get the first ledger information from the blockchain and use the first public key PK A Encrypt the account change value in the transaction information to obtain the first ciphertext account change value ct v1 . Further, the first node executes the first evaluation algorithm Eval(Sub,ct A ,ct v1 ), get the second ciphertext account value ct A′ , and the second ciphertext account value ct A′ As the final account value, it is recorded in the blockchain, where the target user’s final first account information is ID A :[ct A′ ,PK A ]. Finally, the target user uses the first private key sk through the decryption algorithm DEC algorithm A For the second ciphertext account value ct A′ Decryption is performed to obtain the first plaintext account value to verify the accuracy of the transaction.

[0057] It should be noted that the above endorsement can be understood as the first node acting as a submitting node, submitting all the information it contains to the endorsing node first. Here, the endorsing node can be a node designated by the blockchain platform. The endorsing node first performs calculations and updates the information, and then returns the updated information to the submitting node. After the submitting node verifies that it is correct, it sends the updated information to other nodes of the blockchain.

[0058] In another possible application scenario, if the transaction information is Tran(ID A ,ID B ,value), then it means ID A The corresponding user is the transaction sender, ID BThe corresponding user is the transaction recipient, that is, the target user is the user who reduces the account value, and the other users are the users who increase the account value. First, the target user executes the key generation algorithm, namely the KeyGen algorithm, to generate the first public key PK according to the given homomorphic encryption parameters. A and the first private key sk A Other users execute the key generation algorithm, i.e., the KeyGen algorithm, to generate the fourth public key PK according to the given homomorphic encryption parameters. B and the fourth private key sk B . Secondly, the target user uses the first public key PK through the encryption algorithm Enc algorithm A The previous transaction information m of the target user A After encryption, the first ciphertext account value ct is obtained A , which can be expressed as executing Enc(m A ,PK A ) to get ct A ; Other users use the fourth public key PK through the encryption algorithm Enc algorithm B Previous transaction information of other users m B After encryption, the fourth ciphertext account value ct is obtained B , which can be expressed as executing Enc(m B ,PK B ) to get ct B Further, refer to Figure 2 As shown, the target user creates the first account information Create (ID A ,ct A ,PK A ), and sends the first ledger information to the first node of the blockchain, and provides endorsement and synchronization for the information of the first node, and synchronizes it to other nodes of the blockchain. The first ledger information is stored on the blockchain in a key-value structure, and the first ledger information is ID A :[ct A ,PK A ]. Other users create third ledger information Create(ID B ,ct B ,PK B ), and sends the third ledger information to the first node of the blockchain, and provides endorsement and synchronization of the first node's information to other nodes of the blockchain. The third ledger information is stored on the blockchain in a key-value structure, and the third ledger information is ID B :[ct B ,PK B Then, the first node receives the transaction information Tran(ID A ,IDB ,value), based on the first identifier ID A Get the first ledger information from the blockchain and the second identifier ID B Obtain the third ledger information from the blockchain. Afterwards, the first node uses the first public key PK A Encrypt the account change value in the transaction information to obtain the first ciphertext account change value ct v1 , and use the fourth public key PK B Encrypt the account change value in the transaction information to obtain the third ciphertext account change value ct v2 . Further, the first node executes the first evaluation algorithm Eval(Sub,ct A ,ct v1 ), get the second ciphertext account value ct A′ , and the second ciphertext account value ct A′ As the final account value, it is recorded in the blockchain, where the target user’s final first account information is ID A :[ct A′ ,PK A ] The first node executes the first evaluation algorithm Eval(Add, ct B ,ct v2 ), get the eighth ciphertext account value ct B′ , and the eighth ciphertext account value ct B′ As the final ledger value, it is recorded in the blockchain, where the final third ledger information of other users is ID B :[ct B′ ,PK B ]. Finally, the target user uses the first private key sk through the decryption algorithm DEC algorithm A For the second ciphertext account value ct A′ Decryption is performed to obtain the first plaintext account value; other users use the fourth private key sk through the decryption algorithm DEC algorithm B For the eighth ciphertext account value ct B′ Decryption is performed to obtain the second plaintext account value to verify the accuracy of the transaction.

[0059] The information processing method provided in the embodiment of the present application receives transaction information between a target user and other users; wherein the transaction information includes an account change value; obtains the first account book information of the target user from the blockchain; wherein the first account book information includes a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained by the target user using the first public key to encrypt the target user's previous transaction information; the account change value is encrypted with the first public key to obtain the first ciphertext account change value; based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, a second ciphertext account value is determined, and the second ciphertext account value is recorded in the blockchain, so that the target user uses the first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain the first plaintext account value; wherein the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function includes an operation function; in this way, it is achieved that the original information of the data will not be leaked during the operation of the blockchain node on the ciphertext data, and the privacy operation between the data is achieved.

[0060] The embodiment of the present application provides an information processing method, which is applied to the first node of the blockchain, referring to Figure 3 As shown, the method comprises the following steps:

[0061] Step 201: Receive transaction information between a target user and other users.

[0062] Among them, the transaction information includes the account change value.

[0063] Step 202: Obtain the first account book information of the target user from the blockchain.

[0064] The first account book information includes a first ciphertext account value and a first public key of a target user. The first ciphertext account value is obtained by encrypting the target user's previous transaction information with the first public key.

[0065] Step 203: Obtain the target user's key update information from the blockchain.

[0066] The key update information includes a first encrypted private key and a second public key. The first encrypted private key is obtained by encrypting the first private key with the second public key by the target user.

[0067] In the embodiment of the present application, the second public key is another key required for encryption generated by the target user through a key generation algorithm based on given homomorphic encryption parameters.

[0068] In an embodiment of the present application, after receiving the transaction information between the target user and other users, the first node of the blockchain obtains the first ledger information of the target user from the blockchain, and obtains the key update information of the target user including the first ciphertext private key and the second public key from the blockchain.

[0069] In the embodiment of the present application, the key update can be performed before the first account book information is obtained and the first ciphertext account book value in the first account book information is updated. The key update can also be performed after the first account book information is obtained and the first ciphertext account book value in the first account book information is updated and the updated first ciphertext account book value is obtained. The present application does not impose any specific restrictions on the timing of the key update. Here, the following steps are performed to update the key and ciphertext account book value in the first account book information before the first account book information is obtained and the first ciphertext account book value in the first account book information is updated.

[0070] Step 204: Based on the first encrypted private key and the second public key, the first ledger information is updated to obtain updated first ledger information, so that the first node re-records the encrypted account value of the target user of the blockchain according to the updated first ledger information.

[0071] In the present application examples, reference Figure 4 As shown, step 204 updates the first account book information based on the first ciphertext private key and the second public key to obtain the updated first account book information, which can be implemented by the following steps:

[0072] Step A1: Use the second public key to encrypt the first ciphertext account value again to obtain the first ciphertext account value in the first secret state.

[0073] Step A2: determine a third ciphertext account value based on the first ciphertext private key, the first ciphertext account value in the first secret state, and the second evaluation function.

[0074] The updated first account book information includes the third ciphertext account value and the second public key.

[0075] In an embodiment of the present application, after the first node of the blockchain obtains the key update information of the target user including the first ciphertext private key and the second public key from the blockchain, the first ciphertext account value is re-encrypted with the second public key through an encryption algorithm to obtain the first ciphertext account value in the first secret state, and the third ciphertext account value is determined based on the first ciphertext private key, the first ciphertext account value in the first secret state and the second evaluation function.

[0076] In the embodiment of the present application, step A2 determines the third ciphertext account value based on the first ciphertext private key, the first ciphertext account value in the first secret state, and the second evaluation function, which can be implemented as follows:

[0077] The first ciphertext account value in the first secret state is decrypted using the first ciphertext private key through the homomorphic decryption function in the second evaluation function to obtain a third ciphertext account value.

[0078] The second evaluation function includes a homomorphic decryption function.

[0079] From the above, it can be seen that in the embodiment of the present application, in the process of implementing the key update through the above method, the target user does not need to decrypt the ciphertext ledger to obtain the plaintext ledger, and then use the new public key to update the plaintext ledger. In this way, it is avoided that the target user changes the plaintext ledger data at the same time when updating the key, thereby protecting the privacy and security of the data.

[0080] It should be noted that the key update method in the related technology downloads the remote ciphertext to the local, uses the corresponding private key to decrypt the ciphertext account to the plaintext account locally, and then uses the new key to encrypt the plaintext account to obtain a new ciphertext account. This method at least has the problem of changing the plaintext account.

[0081] Step 205: Use the second public key to encrypt the account change value to obtain a second ciphertext account change value.

[0082] Step 206: determine the updated second ciphertext account value based on the ciphertext account value in the updated first ledger information, the second ciphertext account change value and the first evaluation function, and record the updated second ciphertext account value in the blockchain, so that the target user can use the second private key corresponding to the second public key to decrypt the updated second ciphertext account value to obtain the first plaintext account value.

[0083] The second public key and the second private key are generated according to homomorphic encryption parameters; and the first evaluation function includes an operation function.

[0084] In an embodiment of the present application, when the first node of the blockchain encrypts the account change value with the second public key to obtain the second ciphertext account change value, the first node calculates the third ciphertext account value and the second ciphertext account change value through the operation function in the first evaluation function to obtain the updated second ciphertext account value, and records the updated second ciphertext account value in the blockchain, so that the target user uses the second private key corresponding to the second public key to decrypt the updated second ciphertext account value to obtain the first plaintext account value.

[0085] In a feasible application scenario, refer to Figure 5 As shown, first, after the target user obtains the first account information containing the first ciphertext account value and the first public key from the blockchain, the target user executes the key generation algorithm, i.e., the KeyGen algorithm, according to the given homomorphic encryption parameters to generate a new key, i.e., the second public key PK′ A and the second private key sk′ A , and use the second public key PK′ through the encryption algorithm Enc algorithm A For the first private key sk A Encrypt to get the first ciphertext private key It can be expressed as executing Enc(sk A ,PK′A )get Then, refer to Figure 2 As shown, Figure 2 C in FIG. 1 shows a schematic diagram of sending key update information to the first node, and the target user generates key update information The key update information is sent to the first node. Further, the first node is based on the first identification ID A Get the key update information from the blockchain and use the second public key PK′ through the encryption algorithm Enc algorithm A For the first ciphertext account value ct A After encryption, the first ciphertext account value in the first secret state is obtained It can be expressed as executing Enc(ct A ,PK′ A )get Finally, the first ciphertext private key is used to decrypt the data using the homomorphic decryption function in the second evaluation function, such as the Dec function. For the first ciphertext account value in the first secret state Decrypt and get the third ciphertext account value ct′ A , which can be expressed as execution Get ct′ A , and the first account book information of the target user after the key update is ID A :[ct′ A ,PK′ A ]. Finally, to ensure the correctness of the updated account information, the target user can use the first identification ID A Query the blockchain and get the third ciphertext account value ct′ A And execute Dec(sk′ A ,ct′ A ) to get m′ A , verify m A Is it equal to m′ A , if they are equal, the ciphertext is updated successfully. In this way, there is no need to decrypt the ciphertext ledger to obtain the plaintext ledger, and then use the new public key to update the plaintext ledger, which avoids the target user changing the plaintext ledger data when updating the key, thus protecting the privacy and security of the data.

[0086] It should be noted that, for the description of the same steps and the same contents in this embodiment as those in other embodiments, reference can be made to the description in other embodiments and will not be repeated here.

[0087] The embodiment of the present application provides an information processing method, which is applied to the first node of the blockchain, referring to Figure 6 As shown, the method comprises the following steps:

[0088] Step 301: Receive transaction information between a target user and other users.

[0089] Among them, the transaction information includes an account change value, where the account change value can be the account change value of the target user, the account change value can also be the account change value of other users, and the account change value can also be an account change value different from the target user and other users. This application does not make specific restrictions on this. It should be noted that in the embodiment of the present application, the account change value is an account change value of an account change value different from the target user and other users. Here, the transaction information also includes the first identifier of the target user, the second identifier of other users, and the calculation function. The transaction information is used to calculate the account value of the target user and the account value of other users, so the transaction information is also called joint calculation information.

[0090] Step 302: Obtain the first account book information of the target user from the blockchain.

[0091] The first account book information includes a first ciphertext account value and a first public key of a target user. The first ciphertext account value is obtained by encrypting the target user's previous transaction information with the first public key.

[0092] In the embodiment of the present application, after the first node of the blockchain receives the transaction information between the target user and other users, it obtains the first account book information of the target user corresponding to the first identifier from the blockchain.

[0093] Step 303: Obtain the second account book information of the proxy user from the blockchain.

[0094] Among them, the second ledger information includes a null value and a third public key, and the proxy user is different from the target user and other users.

[0095] In an embodiment of the present application, the second public key is a key required for encryption generated by a proxy user through a key generation algorithm based on given homomorphic encryption parameters.

[0096] Step 304: Obtain the second ciphertext private key of the target user from the blockchain.

[0097] The second ciphertext private key is obtained by the target user encrypting the first private key with the third public key.

[0098] Step 305: Obtain the third ciphertext private key and third ledger information of other users from the blockchain.

[0099] Among them, the second ledger information includes the fourth ciphertext account value and the fourth public key of other users. The third ciphertext private key is obtained by other users encrypting the fourth private key corresponding to the fourth public key with the third public key. The fourth ciphertext account value is obtained by other users encrypting the previous transaction information of other users with the fourth public key.

[0100] In an embodiment of the present application, after the first node of the blockchain obtains the first ledger information of the target user from the blockchain, it continues to obtain the second ledger information of the proxy user containing a null value and a third public key from the blockchain, obtains the second ciphertext private key of the target user, and obtains the third ciphertext private key of other users corresponding to the second identifier and the third ledger information containing a fourth ciphertext account value and a fourth public key.

[0101] Step 306: Based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value and the third public key, determine the fifth ciphertext account value of the proxy user, and record the fifth ciphertext account value in the blockchain, so that the proxy user uses the third private key corresponding to the third public key to decrypt the fifth ciphertext account value to obtain the second plaintext account value.

[0102] In the present application, refer to Figure 7 As shown, step 306 determines the fifth ciphertext account value of the proxy user based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value and the third public key, including:

[0103] Step B1: Use the third public key to encrypt the first ciphertext account value to obtain the first ciphertext account value in the second secret state.

[0104] Step B2: Use the third public key to encrypt the fourth ciphertext account value to obtain the fourth ciphertext account value in the first secret state.

[0105] Step B3: Determine the fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second ciphertext state, and the fourth ciphertext account value in the first ciphertext state.

[0106] In an embodiment of the present application, the first node of the blockchain encrypts the first ciphertext account value with the third public key through an encryption algorithm to obtain the first ciphertext account value in the second secret state, encrypts the fourth ciphertext account value with the third public key through an encryption algorithm to obtain the fourth ciphertext account value in the first secret state, and finally, determines the fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second secret state, and the fourth ciphertext account value in the first secret state.

[0107] In the present application, refer to Figure 8 As shown, step B3 determines the fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second secret state, and the fourth ciphertext account value in the first secret state, which can be achieved by the following steps:

[0108] Step C1: Decrypt the first ciphertext account value in the second secret state with the second ciphertext private key through the homomorphic decryption function in the second evaluation function to obtain a sixth ciphertext account value.

[0109] Step C2: Decrypt the fourth ciphertext account value in the first secret state using the third ciphertext private key through a homomorphic decryption function to obtain a seventh ciphertext account value.

[0110] Step C3: Calculate the sixth ciphertext account value and the seventh ciphertext account value through the operation function in the first evaluation function to determine the fifth ciphertext account value.

[0111] In an embodiment of the present application, the first node of the blockchain uses the second ciphertext private key to decrypt the first ciphertext account value in the second secret state through the homomorphic decryption function in the second evaluation function to obtain the sixth ciphertext account value; uses the third ciphertext private key to decrypt the fourth ciphertext account value in the first secret state through the homomorphic decryption function to obtain the seventh ciphertext account value; calculates the sixth ciphertext account value and the seventh ciphertext account value through the operation function in the first evaluation function to determine the fifth ciphertext account value obtained after the operation.

[0112] As can be seen from the above, the embodiment of the present application realizes the privacy operation between the ledger data of different users by introducing a proxy user. It should be noted that in the related art, when performing joint operations, since the ciphertext ledger values ​​of the target user and other users are encrypted by using their respective keys, if you want to perform joint operations on them, for example, to calculate Sum(m A ,m B )=m A +m B , which is impossible to achieve under the existing model, because the homomorphic evaluation Eval function requires that each ciphertext is generated under the same key.

[0113] In a feasible application scenario, refer to Fig. 9 As shown, first, the target user executes the key generation algorithm, namely the KeyGen algorithm, according to the given homomorphic encryption parameters to generate the first public key PK A and the first private key sk A Other users execute the key generation algorithm, i.e., the KeyGen algorithm, to generate the fourth public key PK according to the given homomorphic encryption parameters. B and the fourth private key sk B ; The proxy user executes the key generation algorithm, i.e., the KeyGen algorithm, to generate the third public key PK according to the given homomorphic encryption parameters D and the third private key sk D Then, the proxy user will use the third public key PK D Submit to the first node, the first node creates an empty second ledger information for the proxy user Afterwards, the target user and other users query the proxy user's third public key PK respectively D , and the target user uses the third public key PK through the encryption algorithm Enc algorithm D For the first private key sk A After encryption, the second ciphertext private key is obtained It can be expressed as executing Enc(sk A ,PK D )get Other users use the third public key PK through the encryption algorithm Enc algorithm D For the fourth private key sk B After encryption, the third ciphertext private key is obtained It can be expressed as executing Enc(sk B ,PK D )get The target user will send the second ciphertext private key Send to the first node, and other users send the third ciphertext private key Sent to the first node.

[0114] Then, the first node receives the joint computation information compute(F,ID A ,ID B ), based on the first identification ID A Get the first ledger information from the blockchain and the second identifier ID B Obtain the third ledger information from the blockchain. Afterwards, the first node uses the third public key PK D For the first ciphertext account value ct A Encrypt to get the first ciphertext account value in the second secret state It can be expressed as executing Enc(ct A ,PK D ),get Use the third public key PK D For the fourth ciphertext account value ct B Encrypt to get the fourth ciphertext account value in the first secret state It can be expressed as executing Enc(ct B ,PK D ),get

[0115] Furthermore, the first node uses the second ciphertext private key to decrypt the data using the homomorphic decryption function Dec in the second evaluation function, namely the Eval function. The first ciphertext account value in the second secret state Decrypt and get the sixth ciphertext account value Can be expressed as execution get Through the homomorphic decryption function Dec in the second evaluation function, that is, the Eval function, the third ciphertext private key is used to The first ciphertext account value in the second secret state Decrypt and get the seventh ciphertext account value Can be expressed as execution get Then, the first node obtains the operation function F in the joint operation information and determines it as the operation function F in the first evaluation function. The operation function F in the first evaluation function is used to calculate the sixth ciphertext account value and the seventh ciphertext account value Calculate and determine the fifth ciphertext account value The fifth ciphertext account value is recorded on the blockchain to determine that the final third ledger information of the proxy user is Dealer: Finally, the agent user queries the blockchain through the agent identifier Dealer and obtains the fifth ciphertext account value At this time, the proxy user uses the third private key sk D For the fifth ciphertext account value Decrypt it and get F(m A ,m B ) is the result of executing function F on the ledger data of A and B, and then saving the result to the blockchain. In this way, by introducing proxy users, privacy calculations between ledger data of different users can be achieved.

[0116] It should be noted that, for the description of the same steps and the same contents in this embodiment as those in other embodiments, reference can be made to the description in other embodiments and will not be repeated here.

[0117] The embodiment of the present application provides an information processing device, which can be applied to Figure 1 , Figure 3-4 as well as Figure 6 to Figure 8 In an information processing method provided in a corresponding embodiment, referring to Fig.10 As shown, the information processing device 10 includes:

[0118] The receiving module 1001 is used to receive transaction information between the target user and other users; wherein the transaction information includes an account change value;

[0119] The acquisition module 1002 is used to obtain the first account book information of the target user from the blockchain; wherein the first account book information includes a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained by encrypting the previous transaction information of the target user with the first public key;

[0120] Processing module 1003 is used to encrypt the account change value with the first public key to obtain a first ciphertext account change value; determine the second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and record the second ciphertext account value in the blockchain, so that the target user uses the first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain the first plaintext account value; wherein the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function includes an operation function.

[0121] In other embodiments of the present application, the acquisition module 1002 is further used to obtain key update information of the target user from the blockchain, wherein the key update information includes a first ciphertext private key and a second public key, and the first ciphertext private key is obtained by the target user encrypting the first private key with the second public key; the processing module 1003 is further used to update the first ledger information based on the first ciphertext private key and the second public key to obtain the updated first ledger information, so that the first node re-records the ciphertext account value of the target user of the blockchain according to the updated first ledger information.

[0122] In other embodiments of the present application, the processing module 1003 is further used to re-encrypt the first ciphertext account value with the second public key to obtain the first ciphertext account value in the first secret state; determine the third ciphertext account value based on the first ciphertext private key, the first ciphertext account value in the first secret state and the second evaluation function; wherein the updated first ledger information includes the third ciphertext account value and the second public key.

[0123] In other embodiments of the present application, the processing module 1003 is also used for the second evaluation function to include a homomorphic decryption function. Through the homomorphic decryption function in the second evaluation function, the first ciphertext account value in the first secret state is decrypted using the first ciphertext private key to obtain a third ciphertext account value.

[0124] In other embodiments of the present application, the acquisition module 1002 is further used to obtain the second account book information of the proxy user from the blockchain; wherein the second account book information includes a null value and a third public key, and the proxy user is different from the target user and other users; obtain the second ciphertext private key of the target user from the blockchain; wherein the second ciphertext private key is obtained by encrypting the first private key with the third public key of the target user; obtain the third ciphertext private key and the third account book information of other users from the blockchain; wherein the second account book information includes a fourth ciphertext account value and the fourth public key of the other user, the third ciphertext private key The fourth ciphertext account value is obtained by other users encrypting the fourth private key corresponding to the fourth public key with the third public key, and the fourth ciphertext account value is obtained by other users encrypting the previous transaction information of other users with the fourth public key; the processing module 1003 is also used to determine the fifth ciphertext account value of the proxy user based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value and the third public key, and record the fifth ciphertext account value in the blockchain, so that the proxy user uses the third private key corresponding to the third public key to decrypt the fifth ciphertext account value to obtain the second plaintext account value.

[0125] In other embodiments of the present application, the processing module 1003 is also used to encrypt the first ciphertext account value with the third public key to obtain the first ciphertext account value in the second secret state; encrypt the fourth ciphertext account value with the third public key to obtain the fourth ciphertext account value in the first secret state; and determine the fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second secret state, and the fourth ciphertext account value in the first secret state.

[0126] In other embodiments of the present application, the processing module 1003 is also used to decrypt the first ciphertext account value in the second secret state with the second ciphertext private key through the homomorphic decryption function in the second evaluation function to obtain the sixth ciphertext account value; to decrypt the fourth ciphertext account value in the first secret state with the third ciphertext private key through the homomorphic decryption function to obtain the seventh ciphertext account value; and to calculate the sixth ciphertext account value and the seventh ciphertext account value through the operation function in the first evaluation function to determine the fifth ciphertext account value.

[0127] The embodiment of the present application provides a blockchain platform, which can be applied to Figure 1 , Figure 3-4 as well as Figure 6 to Figure 8 In an information processing method provided in a corresponding embodiment, referring to Fig.11 As shown, the blockchain platform 11 ( Fig.11 Blockchain platform 11 and Fig.10 The information processing device 10 in FIG. 1 includes: a memory 1101 and a processor 1102, wherein:

[0128] Memory 1101, used for storing executable instructions;

[0129] The processor 1102 is configured to execute the executable instructions stored in the memory 1101 to implement the following steps:

[0130] Receiving transaction information between the target user and other users; wherein the transaction information includes account change value;

[0131] Obtaining the first account book information of the target user from the blockchain; wherein the first account book information includes a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained by encrypting the target user's previous transaction information with the first public key;

[0132] Encrypting the account change value with the first public key to obtain a first ciphertext account change value;

[0133] A second ciphertext account value is determined based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, and the second ciphertext account value is recorded in the blockchain, so that the target user uses the first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain the first plaintext account value; wherein the first public key and the first private key are generated according to homomorphic encryption parameters; and the first evaluation function includes an operation function.

[0134] In other embodiments of the present application, the processor 1102 is further configured to execute executable instructions stored in the memory 1101 to implement the following steps:

[0135] Obtain key update information of the target user from the blockchain, wherein the key update information includes a first ciphertext private key and a second public key, and the first ciphertext private key is obtained by encrypting the first private key by the target user with the second public key; based on the first ciphertext private key and the second public key, update the first ledger information to obtain updated first ledger information, so that the first node re-records the ciphertext account value of the target user of the blockchain according to the updated first ledger information.

[0136] In other embodiments of the present application, the processor 1102 is further configured to execute executable instructions stored in the memory 1101 to implement the following steps:

[0137] The first ciphertext account value is re-encrypted with the second public key to obtain the first ciphertext account value in the first secret state; the third ciphertext account value is determined based on the first ciphertext private key, the first ciphertext account value in the first secret state and the second evaluation function; wherein the updated first ledger information includes the third ciphertext account value and the second public key.

[0138] In other embodiments of the present application, the processor 1102 is further configured to execute executable instructions stored in the memory 1101 to implement the following steps:

[0139] The second evaluation function includes a homomorphic decryption function. The first ciphertext account value in the first secret state is decrypted using the first ciphertext private key through the homomorphic decryption function in the second evaluation function to obtain a third ciphertext account value.

[0140] In other embodiments of the present application, the processor 1102 is further configured to execute executable instructions stored in the memory 1101 to implement the following steps:

[0141] The second ledger information of the proxy user is obtained from the blockchain; wherein the second ledger information includes a null value and a third public key, and the proxy user is different from the target user and other users; the second ciphertext private key of the target user is obtained from the blockchain; wherein the second ciphertext private key is obtained by the target user encrypting the first private key with the third public key; the third ciphertext private key and the third ledger information of other users are obtained from the blockchain; wherein the second ledger information includes a fourth ciphertext account value and a fourth public key of other users, the third ciphertext private key is obtained by other users encrypting the fourth private key corresponding to the fourth public key with the third public key, and the fourth ciphertext account value is obtained by other users encrypting the previous transaction information of other users with the fourth public key; based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value and the third public key, the fifth ciphertext account value of the proxy user is determined, and the fifth ciphertext account value is recorded in the blockchain, so that the proxy user decrypts the fifth ciphertext account value with the third private key corresponding to the third public key to obtain the second plaintext account value.

[0142] In other embodiments of the present application, the processor 1102 is further configured to execute executable instructions stored in the memory 1101 to implement the following steps:

[0143] The first ciphertext account value is encrypted with the third public key to obtain the first ciphertext account value in the second secret state; the fourth ciphertext account value is encrypted with the third public key to obtain the fourth ciphertext account value in the first secret state; and the fifth ciphertext account value is determined based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second secret state, and the fourth ciphertext account value in the first secret state.

[0144] In other embodiments of the present application, the processor 1102 is further configured to execute executable instructions stored in the memory 1101 to implement the following steps:

[0145] Through the homomorphic decryption function in the second evaluation function, the first ciphertext account value in the second secret state is decrypted with the second ciphertext private key to obtain the sixth ciphertext account value; through the homomorphic decryption function, the fourth ciphertext account value in the first secret state is decrypted with the third ciphertext private key to obtain the seventh ciphertext account value; through the operation function in the first evaluation function, the sixth ciphertext account value and the seventh ciphertext account value are calculated to determine the fifth ciphertext account value.

[0146] An embodiment of the present application provides a storage medium storing one or more programs, which can be executed by one or more processors to implement Figure 1 , Figure 3-4 as well as Figure 6 to Figure 8 The corresponding embodiment provides an information processing method.

[0147] The storage medium provided in the embodiment of the present application receives transaction information between a target user and other users; wherein the transaction information includes an account change value; obtains the first account book information of the target user from the blockchain; wherein the first account book information includes a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained by the target user using the first public key to encrypt the target user's previous transaction information; the account change value is encrypted with the first public key to obtain the first ciphertext account change value; based on the first ciphertext account value, the first ciphertext account change value and the first evaluation function, a second ciphertext account value is determined, and the second ciphertext account value is recorded in the blockchain, so that the target user uses the first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain the first plaintext account value; wherein the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function includes an operation function; in this way, it is achieved that the original information of the data will not be leaked during the operation of the blockchain node on the ciphertext data, and the privacy operation between the data is achieved.

[0148] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.

[0149] The present application 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 the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the 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 generate 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.

[0150] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

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

[0152] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application.

Claims

1. An information processing method, applied to a first node of a blockchain, the method comprising: Receiving transaction information between the target user and other users; wherein the transaction information includes an account change value; Obtaining first account book information of the target user from the blockchain; wherein the first account book information includes a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained by the target user encrypting the previous transaction information of the target user using the first public key; Encrypting the account change value with the first public key to obtain a first ciphertext account change value; Determine a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and a first evaluation function, and record the second ciphertext account value in the blockchain, so that the target user uses a first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain a first plaintext account value; wherein the first public key and the first private key are generated according to homomorphic encryption parameters; and the first evaluation function includes a calculation function; After obtaining the first account book information of the target user from the blockchain, the method includes: Obtaining second ledger information of the proxy user from the blockchain; wherein the second ledger information includes a null value and a third public key, and the proxy user is different from the target user and the other users; Obtaining a second encrypted private key of the target user from the blockchain; wherein the second encrypted private key is obtained by the target user encrypting the first private key with the third public key; Obtaining the third ciphertext private key and third ledger information of the other user from the blockchain; wherein the second ledger information includes a fourth ciphertext account value and a fourth public key of the other user, the third ciphertext private key is obtained by the other user encrypting a fourth private key corresponding to the fourth public key with the third public key, and the fourth ciphertext account value is obtained by the other user encrypting the previous transaction information of the other user with the fourth public key; Based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value and the third public key, the fifth ciphertext account value of the proxy user is determined, and the fifth ciphertext account value is recorded in the blockchain, so that the proxy user uses the third private key corresponding to the third public key to decrypt the fifth ciphertext account value to obtain the second plaintext account value.

2. According to the method of claim 1, after obtaining the first ledger information of the target user from the blockchain, the method comprises: Obtaining key update information of the target user from the blockchain, wherein the key update information includes a first encrypted private key and a second public key, and the first encrypted private key is obtained by the target user encrypting the first private key with the second public key; Based on the first ciphertext private key and the second public key, the first ledger information is updated to obtain updated first ledger information, so that the first node re-records the ciphertext account value of the target user in the blockchain according to the updated first ledger information.

3. According to the method of claim 2, the updating of the first account book information based on the first ciphertext private key and the second public key to obtain the updated first account book information comprises: Using the second public key to encrypt the first ciphertext account value again to obtain the first ciphertext account value in the first encrypted state; A third ciphertext account value is determined based on the first ciphertext private key, the first ciphertext account value in the first secret state, and a second evaluation function; wherein the updated first ledger information includes the third ciphertext account value and the second public key.

4. The method according to claim 3, wherein the second evaluation function comprises a homomorphic decryption function, and the determining the third ciphertext account value based on the first ciphertext private key, the first ciphertext account value in the first secret state, and the second evaluation function comprises: The first ciphertext account value in the first encrypted state is decrypted using the first ciphertext private key through the homomorphic decryption function in the second evaluation function to obtain the third ciphertext account value.

5. The method according to claim 1, wherein determining the fifth ciphertext account value of the proxy user based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value and the third public key comprises: Encrypting the first ciphertext account value with the third public key to obtain the first ciphertext account value in a second encrypted state; Encrypting the fourth ciphertext account value with the third public key to obtain a fourth ciphertext account value in the first secret state; The fifth ciphertext account value is determined based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second ciphertext state, and the fourth ciphertext account value in the first ciphertext state.

6. The method according to claim 5, wherein determining the fifth ciphertext account value based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value in the second secret state, and the fourth ciphertext account value in the first secret state comprises: Decrypting the first ciphertext account value in the second secret state with the second ciphertext private key through the homomorphic decryption function in the second evaluation function to obtain a sixth ciphertext account value; Decrypting the fourth ciphertext account value in the first cipher state with the third ciphertext private key through the homomorphic decryption function to obtain a seventh ciphertext account value; The sixth ciphertext account value and the seventh ciphertext account value are calculated by using the operation function in the first evaluation function to determine the fifth ciphertext account value.

7. An information processing device, comprising: A receiving module, used to receive transaction information between the target user and other users; wherein the transaction information includes an account change value; an acquisition module, configured to acquire first account book information of the target user from a blockchain; wherein the first account book information includes a first ciphertext account value and a first public key of the target user, and the first ciphertext account value is obtained by the target user encrypting the previous transaction information of the target user using the first public key; A processing module, configured to encrypt the account change value with the first public key to obtain a first ciphertext account change value; determine a second ciphertext account value based on the first ciphertext account value, the first ciphertext account change value and a first evaluation function, and record the second ciphertext account value in the blockchain, so that the target user uses a first private key corresponding to the first public key to decrypt the second ciphertext account value to obtain a first plaintext account value; wherein the first public key and the first private key are generated according to homomorphic encryption parameters, and the first evaluation function includes a calculation function; The acquisition module is further used to acquire the second account book information of the proxy user from the blockchain; wherein the second account book information includes a null value and a third public key, and the proxy user is different from the target user and the other user; acquire the second ciphertext private key of the target user from the blockchain; wherein the second ciphertext private key is obtained by the target user encrypting the first private key with the third public key; acquire the third ciphertext private key and the third account book information of the other user from the blockchain; wherein the second account book information includes a fourth ciphertext account value and a fourth public key of the other user, the third ciphertext private key is obtained by the other user encrypting the fourth private key corresponding to the fourth public key with the third public key, and the fourth ciphertext account value is obtained by the other user encrypting the previous transaction information of the other user with the fourth public key; The processing module is also used to determine the fifth ciphertext account value of the proxy user based on the second ciphertext private key, the third ciphertext private key, the first ciphertext account value, the fourth ciphertext account value and the third public key, and record the fifth ciphertext account value in the blockchain, so that the proxy user uses the third private key corresponding to the third public key to decrypt the fifth ciphertext account value to obtain a second plaintext account value.

8. A blockchain platform, comprising: A memory for storing executable instructions; A processor, configured to execute the executable instructions stored in the memory to implement the information processing method according to any one of claims 1 to 6.

9. A storage medium storing one or more programs, wherein the one or more programs can be executed by one or more processors to implement the information processing method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method, apparatus and electronic device for blockchain transactions

    US20200074459A1

Cited By

  • Reconciliation method and device based on block chain oracle machine and secure multi-party computing

    CN121173499A