Data processing method and device based on block chain and readable storage medium

By generating zero-knowledge proofs on the resource client and updating the blockchain account, the account loss problem caused by the loss of the blockchain account private key is solved, and the security of the account is improved.

CN119995886APending Publication Date: 2025-05-13TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311507734.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-13
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

If the private key of an existing blockchain account is lost, the account cannot be restored, resulting in account loss and reduced security.

Method used

By generating zero-knowledge proof for password information on the resource client and sending a key recovery request to the blockchain node, the blockchain account and password information are updated after the verification is successful, the account recovery is achieved.

Benefits of technology

It effectively improves the security of blockchain accounts, prevents account loss, and ensures the authenticity of password information through a zero-knowledge proof mechanism.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119995886A_ABST
    Figure CN119995886A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data processing method and device based on a block chain and a readable storage medium. The method comprises the steps that zero-knowledge proof for password information is generated in a resource client; sending a key recovery request to a block chain node in the block chain; the key recovery request comprises a zero knowledge proof and a contract address; generating an update block chain account and update password information corresponding to the update block chain account in the resource client; sending a key modification request to the block chain node according to the updated block chain account and the updated password information; the block chain node is used for verifying the key modification request according to the key recovery request with the recovery permission and the abstract account smart contract to obtain a verification result; and if the verification result indicates that the verification is successful, the block chain node determines that the updated block chain account and the updated password information are successfully recovered. By adopting the method and the device, the recovery of the updated block chain account can be realized, and the security of the block chain account is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to a data processing method, device, and readable storage medium based on blockchain. Background Art

[0002] Existing blockchain accounts can include blockchain public keys and blockchain private keys. The blockchain private key can be used to sign transaction data, and the blockchain public key can be used to verify the signature of transaction data. However, if the blockchain private key is lost, the transaction data cannot be signed by the blockchain private key, which will lead to the loss of the blockchain account and reduce the security of the blockchain account. Summary of the invention

[0003] The embodiments of the present application provide a blockchain-based data processing method, device, and readable storage medium, which can realize the update and recovery of blockchain accounts and improve the security of blockchain accounts.

[0004] On the one hand, an embodiment of the present application provides a data processing method based on blockchain, including:

[0005] Generate a zero-knowledge proof for the cryptographic information in the resource client; the cryptographic information is used to prove the control of the blockchain private key by the terminal device to which the resource client belongs; the blockchain private key belongs to the blockchain account generated in the resource client;

[0006] Send a key recovery request to a blockchain node in the blockchain; the key recovery request includes a zero-knowledge proof and a contract address; the blockchain node is used to call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result; if the verification result indicates that the verification is successful, the blockchain node is used to record that the key recovery request has recovery authority; the abstract account smart contract is deployed on the blockchain by the terminal device;

[0007] Generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client; updating the blockchain account includes updating the blockchain private key; the updated password information is used to prove the terminal device's control over the updated blockchain private key;

[0008] According to the updated blockchain account and updated password information, a key modification request is sent to the blockchain node; the blockchain node is used to verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result; if the verification result indicates that the verification is successful, the blockchain node determines that the updated blockchain account and updated password information are recovered successfully.

[0009] On the one hand, an embodiment of the present application provides a data processing device based on blockchain, including:

[0010] A proof generation module is used to generate a zero-knowledge proof for cryptographic information in a resource client; the cryptographic information is used to prove the control of the blockchain private key by the terminal device to which the resource client belongs; the blockchain private key belongs to the blockchain account generated in the resource client;

[0011] The recovery request sending module is used to send a key recovery request to the blockchain node in the blockchain; the key recovery request includes a zero-knowledge proof and a contract address; the blockchain node is used to call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result; if the verification result indicates that the verification is successful, the blockchain node is used to record that the key recovery request has the recovery authority; the abstract account smart contract is deployed on the blockchain by the terminal device;

[0012] An account generation module is used to generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client; updating the blockchain account includes updating the blockchain private key; the updated password information is used to prove the terminal device's control over the updated blockchain private key;

[0013] The modification request sending module is used to send a key modification request to the blockchain node according to the updated blockchain account and updated password information; the blockchain node is used to verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result; if the verification result indicates that the verification is successful, the blockchain node determines that the updated blockchain account and updated password information are successfully recovered.

[0014] The device further comprises:

[0015] A certificate generation module, used to generate a private key recovery certificate corresponding to the blockchain account in the resource client according to the blockchain account in the resource client and the password information corresponding to the blockchain account;

[0016] A deployment request sending module is used to send a contract deployment request to a blockchain node in the blockchain; the contract deployment request includes a private key recovery certificate, a blockchain address corresponding to a blockchain account, and a contract deployment code; the blockchain node is used to create an abstract account smart contract corresponding to the contract deployment code; the blockchain node is also used to store the blockchain address and the private key recovery certificate; the private key recovery certificate is used to verify the zero-knowledge proof;

[0017] The result receiving module is used to receive the contract deployment result returned by the blockchain node; the contract deployment result includes the contract address corresponding to the abstract account smart contract.

[0018] Among them, the credential generation module is specifically used to splice the blockchain address corresponding to the blockchain account in the resource client and the password information corresponding to the blockchain account to generate a spliced ​​string;

[0019] The credential generation module is specifically used to perform hash processing on the concatenated string on the resource client to generate a private key recovery credential corresponding to the blockchain account.

[0020] Among them, the proof generation module is specifically used to obtain key information, public parameters and private parameters in the resource client; the key information includes the proof key and the verification key; the public parameters include the private key recovery certificate; the private parameters include the password information; the proof key and the verification key are generated in the resource client;

[0021] The proof generation module is specifically used to generate a zero-knowledge proof for cryptographic information based on key information, public parameters and privacy parameters.

[0022] Among them, the modification request sending module is specifically used to generate an updated private key recovery certificate corresponding to the updated blockchain account in the resource client according to the updated blockchain account and updated password information;

[0023] The modification request sending module is specifically used to obtain updated key information, updated public parameters and updated private parameters in the resource client; the updated key information includes updated proof key and updated verification key; the updated public parameters include updated private key recovery credentials; the updated private parameters include updated password information; the updated proof key and updated verification key are generated in the resource client;

[0024] A modification request sending module, specifically used to generate an updated zero-knowledge proof for updated password information according to updated key information, updated public parameters and updated privacy parameters;

[0025] The modification request sending module is specifically used to send key modification requests to the blockchain node; the key modification request includes updating the verification key, updating the zero-knowledge proof, updating the private key recovery certificate, and updating the blockchain address and contract address corresponding to the blockchain account.

[0026] Among them, the deployment request sending module is specifically used to generate contract deployment information in the resource client, sign the contract deployment information through the blockchain private key, and obtain the terminal signature information corresponding to the contract deployment information; the contract deployment information includes the private key recovery certificate, the blockchain address corresponding to the blockchain account, and the contract deployment code;

[0027] The deployment request sending module is specifically used to determine the terminal signature information and the contract deployment information as a contract deployment operation, and send a contract deployment request carrying the contract deployment operation to the blockchain node in the blockchain.

[0028] On the one hand, an embodiment of the present application provides a data processing method based on blockchain, including:

[0029] Receive a key recovery request sent by a terminal device; the key recovery request includes a zero-knowledge proof of the password information and a contract address; the zero-knowledge proof is generated by the terminal device in the resource client; the password information is used to prove the terminal device's control over the blockchain private key; the blockchain private key belongs to the blockchain account generated by the terminal device in the resource client;

[0030] Call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain the verification result. If the verification result indicates that the verification is successful, the key recovery request is recorded with the recovery authority; the abstract account smart contract is deployed on the blockchain by the terminal device;

[0031] Receive a key modification request sent by a terminal device; the key modification request is sent by the terminal device according to the updated blockchain account and the updated password information corresponding to the updated blockchain account; the updated blockchain account and the updated password information are generated by the terminal device in the resource client; updating the blockchain account includes updating the blockchain private key; the updated password information is used to prove the terminal device's control over the updated blockchain private key;

[0032] The key modification request is verified according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result. If the verification result indicates that the verification is successful, it is determined that the update of the blockchain account and the update of the password information are successfully restored.

[0033] On the one hand, an embodiment of the present application provides a data processing device based on blockchain, including:

[0034] A recovery request receiving module is used to receive a key recovery request sent by a terminal device; the key recovery request includes a zero-knowledge proof and a contract address for the password information; the zero-knowledge proof is generated by the terminal device in the resource client; the password information is used to prove the terminal device's control over the blockchain private key; the blockchain private key belongs to the blockchain account generated by the terminal device in the resource client;

[0035] The verification module is used to call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain the verification result. If the verification result indicates that the verification is successful, the key recovery request is recorded with the recovery authority; the abstract account smart contract is deployed on the blockchain by the terminal device;

[0036] A modification request receiving module is used to receive a key modification request sent by a terminal device; the key modification request is sent by the terminal device according to the updated blockchain account and the updated password information corresponding to the updated blockchain account; the updated blockchain account and the updated password information are generated by the terminal device in the resource client; updating the blockchain account includes updating the blockchain private key; the updated password information is used to prove the terminal device's control over the updated blockchain private key;

[0037] The verification module is used to verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result. If the verification result indicates that the verification is successful, it is determined that the update of the blockchain account and the update of the password information are successfully restored.

[0038] The device further comprises:

[0039] A deployment request receiving module is used to receive a contract deployment request sent by a terminal device; the contract deployment request includes a private key recovery certificate corresponding to the blockchain account in the resource client, a blockchain address corresponding to the blockchain account, and a contract deployment code; the private key recovery certificate is generated by the terminal device in the resource client according to the blockchain account and the password information corresponding to the blockchain account;

[0040] The contract creation module is used to create an abstract account smart contract corresponding to the contract deployment code and store the blockchain address and private key recovery certificate; the private key recovery certificate is used to verify the zero-knowledge proof;

[0041] The result return module is used to generate the contract deployment result according to the contract address corresponding to the abstract account smart contract, and return the contract deployment result to the terminal device.

[0042] The key recovery request also includes a verification key; the verification key is generated when the terminal device generates a zero-knowledge proof in the resource client;

[0043] The verification module is specifically used to call the abstract account smart contract corresponding to the contract address to obtain the verification key and public parameters; the public parameters include the private key recovery certificate;

[0044] A verification module, specifically used to verify the zero-knowledge proof by verifying the key and the public parameter to obtain a verification result;

[0045] The verification module is also specifically used to return the verification result to the terminal device; if the verification result indicates that the verification is successful, the terminal device is used to send a key modification request.

[0046] Among them, the key modification request includes updating the verification key, updating the zero-knowledge proof for updating the password information, updating the private key recovery certificate, and updating the blockchain address and contract address corresponding to the blockchain account; the updating zero-knowledge proof and updating the verification key are generated by the terminal device in the resource client; the updating private key recovery certificate is generated by the terminal device in the resource client according to the updating blockchain account and updating the password information;

[0047] A verification module, specifically used to determine the time interval between a first timestamp corresponding to a key recovery request with recovery authority and a second timestamp corresponding to a key modification request;

[0048] The verification module is specifically used to generate candidate verification results according to the time interval and the time period threshold;

[0049] The verification module is specifically used to call the abstract account smart contract corresponding to the contract address to obtain the updated verification key and updated public parameters if the candidate verification result indicates that the verification is successful; updating the public parameters includes updating the private key recovery certificate;

[0050] A verification module, specifically used to verify the updated zero-knowledge proof by updating the verification key and updating the public parameters to obtain a verification result;

[0051] The verification module is also specifically used to store the updated blockchain address and the updated private key recovery certificate if the verification result indicates that the verification is successful.

[0052] Among them, the contract deployment request includes a contract deployment operation;

[0053] The device also includes:

[0054] The on-chain module is used to package the contract deployment operation into transaction data, sign the transaction data, and obtain the node signature information corresponding to the transaction data;

[0055] The on-chain module is used to process transaction data and node signature information on the chain and obtain the on-chain results;

[0056] The chain-up module is used to execute the steps of creating an abstract account smart contract corresponding to the contract deployment code and storing the blockchain address and private key recovery certificate if the chain-up result indicates that the chain-up is successful.

[0057] Among them, the contract deployment operation includes the contract deployment information and the terminal signature information corresponding to the contract deployment information; the terminal signature information is obtained by the terminal device signing the contract deployment information through the blockchain private key; the contract deployment information includes the private key recovery certificate, blockchain address and contract deployment code;

[0058] The contract creation module is specifically used to call the entry point contract to verify the transaction data and node signature information and obtain the first verification result. If the first verification result indicates that the verification is successful, the factory contract is called to create the abstract account smart contract corresponding to the contract deployment code;

[0059] The contract creation module is specifically used to call the abstract account smart contract to verify the contract deployment information and terminal signature information, and obtain the second verification result. If the second verification result indicates that the verification is successful, the blockchain address and private key recovery certificate are stored.

[0060] An embodiment of the present application provides a computer device, including: a processor and a memory;

[0061] The processor is connected to the memory, wherein the memory is used to store a computer program. When the computer program is executed by the processor, the computer device executes the method provided in the embodiment of the present application.

[0062] On the one hand, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. The computer program is suitable for being loaded and executed by a processor so that a computer device having the processor executes the method provided by the embodiment of the present application.

[0063] In one aspect, an embodiment of the present application provides a computer program product, which includes a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the method provided in the embodiment of the present application.

[0064] The embodiment of the present application can generate a zero-knowledge proof for the password information in the resource client when the blockchain account (or the blockchain private key in the blockchain account) is lost, and the zero-knowledge proof is verified by the blockchain node in the blockchain. When the verification result corresponding to the zero-knowledge verification indicates that the verification is successful, the zero-knowledge proof can be used to prove the authenticity of the password information. Therefore, the embodiment of the present application can generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client. Since the authenticity of the password information has been proved by the zero-knowledge proof, the present application can replace the blockchain account by updating the blockchain account, and replace the password information by updating the password information, so as to restore the blockchain account (or reset the blockchain private key to obtain the updated blockchain private key) through the password information (actually reset the blockchain account to obtain the updated blockchain account), that is, to achieve the recovery of the updated blockchain account, thereby improving the security of the blockchain account. BRIEF DESCRIPTION OF THE DRAWINGS

[0065] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0066] Figure 1 It is a structural diagram of a network architecture provided by an embodiment of the present application;

[0067] Figure 2a This is a schematic diagram of a scenario for data interaction provided by an embodiment of the present application;

[0068] Figure 2bThis is a schematic diagram of a scenario for data interaction provided by an embodiment of the present application;

[0069] Figure 3 It is a flowchart of a data processing method based on blockchain provided in an embodiment of the present application;

[0070] Figure 4 It is a flowchart of a data processing method based on blockchain provided in an embodiment of the present application;

[0071] Figure 5 It is a flowchart of deploying an abstract account smart contract provided by an embodiment of the present application;

[0072] Figure 6 It is a schematic diagram of a process of recovering a private key provided in an embodiment of the present application;

[0073] Figure 7 It is a flowchart of a data processing method based on blockchain provided in an embodiment of the present application;

[0074] Figure 8 It is a flowchart of an abstract account contract provided in an embodiment of the present application;

[0075] Fig. 9 It is a structural schematic diagram of a blockchain-based data processing device provided in an embodiment of the present application;

[0076] Fig.10 It is a structural schematic diagram of a blockchain-based data processing device provided in an embodiment of the present application;

[0077] Fig.11 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0078] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0079] Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithm. Blockchain is essentially a decentralized database, a string of data blocks generated by cryptographic methods. Each data block contains a batch of network transaction information, which is used to verify the validity of its information (anti-counterfeiting) and generate the next block. Blockchain can include the underlying blockchain platform, platform product service layer, and application service layer. Blockchain is a secure, shared, decentralized data ledger. All data is stored in a chain formed by blocks, and encryption technology is used to make it traceable, undeniable, non-forgeable, non-tamperable, and decentralized.

[0080] A smart contract is a digitally defined protocol (or an automated contract written in the form of a computer program) that must run in a trusted environment, such as a blockchain platform. A smart contract is a code that can be understood and executed by all nodes in a blockchain (including consensus nodes), which can execute arbitrary logic and obtain results. Smart contracts are an innovation based on blockchain technology that manages, verifies or executes the terms and conditions in a contract through code execution and automation. Smart contracts use the distributed and tamper-proof characteristics of blockchain to make the execution of contracts more transparent, reliable and decentralized. Blockchain provides an environment for the execution of smart contracts, which can include one or more smart contracts.

[0081] Zero-Knowledge Proof (ZKP) is a cryptographic concept used to prove the authenticity of a statement (e.g., cryptographic information, updated cryptographic information) without revealing the specific content of the statement or additional information. In a zero-knowledge proof, the prover can prove to the verifier that a certain assertion is true without revealing specific details about the assertion to the verifier. ZK-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) is a protocol that generates zero-knowledge proofs to verify the authenticity of information without exposing the underlying data. The ZK-SNARKs protocol involves two parties: the prover and the verifier. The prover is the party that makes the statement, while the verifier is the party responsible for verifying the statement. The prover uses the ZK-SNARK mechanism to generate a statement to show the verifier that the statement is true without revealing the reference information.

[0082] For details, see Figure 1 , Figure 1 Schematic diagram of a network architecture provided by an embodiment of the present application. Figure 1The network architecture shown may include a blockchain network 100a and a terminal device cluster 100b. The blockchain network 100a may include one or more blockchain nodes, and the number of blockchain nodes in the blockchain network 100a is not limited. Figure 1 As shown, the multiple blockchain nodes may specifically include blockchain node 110a, blockchain node 110b, blockchain node 110c, ..., blockchain node 110n; in order to ensure information intercommunication within the blockchain network 100a, each blockchain node in the blockchain network 100a may be directly or indirectly connected to the network through wired or wireless communication (for example, a network connection may exist between blockchain node 110a and blockchain node 110b), so that the blockchain nodes may interact with each other through the network connection (for example, block transmission); the blockchain node may be a server connected to the blockchain network 100a, or a terminal device connected to the blockchain network 100a, and the specific form of the blockchain node is not limited here.

[0083] It is understandable that each blockchain node in the blockchain network 100a can receive data to be uploaded to the chain sent by an off-chain device (e.g., a terminal device in the terminal device cluster 100b) when performing normal operations, and generate blocks based on the received data to be uploaded to the chain, and then upload the blocks to the chain. It is understandable that the collection and processing of relevant data (e.g., zero-knowledge proof, private key recovery certificate) in this application should be strictly in accordance with the requirements of relevant national laws and regulations when applied in examples, and the informed consent or separate consent of the subject of personal information should be obtained, and subsequent data use and processing should be carried out within the scope of authorization of laws and regulations and the subject of personal information.

[0084] The terminal device cluster 100b may specifically include one or more terminal devices, and the number of terminal devices in the terminal device cluster 100b is not limited here. Figure 1 As shown, the multiple terminal devices may specifically include terminal device 120a, terminal device 120b, ..., terminal device 120m; the terminal device cluster 100b and the blockchain network 100a may be directly or indirectly connected to the network via wired or wireless communication, so that the terminal devices in the terminal device cluster 100b and the blockchain nodes in the blockchain network 100a may exchange data via the network connection. For example, a network connection may exist between the terminal device 120b in the terminal device cluster 100b and the blockchain node 110a in the blockchain network 100a.

[0085] Among them, the terminal devices in the embodiments of the present application may include: smart phones, tablet computers, laptops, desktop computers, intelligent voice interaction devices, smart home appliances (e.g., smart TVs), wearable devices, vehicle terminals, aircraft and other smart terminals with data processing functions. Among them, the vehicle terminal can be a terminal device in a smart transportation scenario and an assisted driving scenario. It should be understood that each terminal device in the terminal device cluster 100b can be installed with an application client with a data processing function, and the application client may specifically include: a vehicle client, a smart home client, an entertainment client (e.g., a game client), a multimedia client (e.g., a video client), a payment client (i.e., a payment application), and an information client (e.g., a news client), a resource client, a decentralized application client (Decentralized Application, DAPP), a browser, etc. Among them, the application client may be a sub-client integrated in a client (e.g., a browser), and the application client may also be an independent client (e.g., a resource client). The embodiment of the present application does not limit the type of the application client.

[0086] For ease of understanding, the embodiments of the present application can be Figure 1 A terminal device is selected from the multiple terminal devices shown as the target terminal device, and an application client with data processing function can be installed in the target terminal device. Figure 1 The terminal device 120a is shown as the target terminal device.

[0087] Among them, the server in the embodiment of the present application can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.

[0088] For ease of understanding, the embodiment of the present application is described by taking the application client as a resource client as an example. The resource client can be used to keep the user's blockchain private key (referred to as private key) on the blockchain. The blockchain can identify the user's identity through the blockchain private key, and the user's digital assets are managed through the blockchain private key. The blockchain private key can be used to sign and confirm operations (for example, digital asset transfer operations). The signed operation can be sent by the resource client to the blockchain node. Only correct operations will be executed by the blockchain. The blockchain will reject operations with forged signatures and prompt failure.

[0089] Among them, the target terminal device can send the object operation (User Operation, UserOp) directly to the blockchain node; optionally, the target terminal device can also send the object operation to the resource server (not shown in the figure) so that the resource server (not shown in the figure) forwards the object operation to the blockchain node; optionally, the target terminal device can also generate the object operation through the resource server (not shown in the figure) and forward the object operation to the blockchain node. Among them, the object operation is a new transaction object (which can be understood as an operation of an object). At this time, the resource client can be the front end, the resource server can be the background corresponding to the front end, and the target terminal device can realize data interaction between the resource client and the resource server (for example, the target terminal device can send a contract deployment request to the resource server through the resource client, and the resource server can return the contract deployment result to the resource client in the target terminal device), and the resource server can be used to store the blockchain address in the resource client.

[0090] It should be understood that the resource client can be a hardware device or a software program. The resource client can be used to implement the resource management business function, and based on the resource management business function, realize the communication connection with the decentralized application client (referred to as decentralized application, decentralized application can be a blockchain application) to realize the user's authorized login and other related operations. Among them, the resource client is a tool for managing and storing user digital assets, initiating transactions, and participating in voting. For example, digital assets can be transferred to other accounts based on the resource client, and digital assets transferred from other accounts can be received based on the resource client. With the widespread deployment of various decentralized applications on the blockchain, the activities of users on the blockchain have increased. When using decentralized applications, general users can use blockchain key management tools (i.e. resource clients) to log in. Among them, digital assets refer to new intangible assets issued, registered, stored, held, transferred or traded based on blockchain technology. These intangible assets exist in a specific system in a digital form as a digital identification of value or rights.

[0091] It should be understood that the embodiments of the present application can be applied to account recovery scenarios (or private key recovery scenarios). When the target terminal device loses the blockchain account (or the blockchain private key in the blockchain account), it can generate a zero-knowledge proof of the password information (referred to as password, password) corresponding to the blockchain account in the resource client, and restore the blockchain account (or the blockchain private key in the blockchain account) through the zero-knowledge proof to obtain the updated blockchain account (or the updated blockchain private key in the updated blockchain account). In fact, the embodiments of the present application cannot re-acquire the lost blockchain account (or the blockchain private key in the blockchain account), but replace the blockchain account (or the blockchain private key in the blockchain account) by updating the blockchain account (or the updated blockchain private key in the updated blockchain account).

[0092] Among them, the password and the private key (usually, the password can be a string that is easier to remember than the private key) are related. The password can be used to prove the user's control over the private key. The password can be understood as a credential. In order to ensure the security of the stored private key, the private key is not stored in plain text in the terminal device, but in cipher text in the terminal device; the private key can be encrypted by the password to obtain the encrypted private key (i.e. the encrypted blockchain private key); similarly, the encrypted private key can be decrypted by the password to obtain the private key (i.e. the blockchain private key).

[0093] For easier understanding, see Figure 2a and Figure 2b , Figure 2a and Figure 2b Schematic diagram of a scenario for data interaction provided by an embodiment of the present application. Figure 2a and Figure 2b The terminal device 20b shown may be the above Figure 1 In the target terminal device in the corresponding embodiment, the object corresponding to the terminal device 20b may be the object 20c (for ease of understanding, the embodiment of the present application may refer to the user as an object, and the object 20c may be the user corresponding to the terminal device 20b); Figure 2a and Figure 2b The blockchain network 20a shown can be the above Figure 1 The blockchain network 100a in the corresponding embodiment and the blockchain nodes 21a, 21b, ..., 21c in the blockchain network 20a can all be the above Figure 1 Any blockchain node in the blockchain network 100a of the corresponding embodiment. Among them, the terminal device 20b can be a prover of the ZK-SNARKs protocol, and the blockchain node (for example, the blockchain node 21c) can be a verifier of the ZK-SNARKs protocol.

[0094] like Figure 2aAs shown, the terminal device 20b can generate a blockchain account and password information corresponding to the blockchain account in the resource client, wherein the blockchain account can include a blockchain public key and a blockchain private key, and the password information can be used to prove the control of the terminal device 20b over the blockchain private key (or the password information can be used to prove the control of the object 20c over the blockchain private key).

[0095] like Figure 2a As shown, when object 20c loses the blockchain private key (or object 20c loses the blockchain account), terminal device 20b can generate a zero-knowledge proof for the password information in the resource client and send a key recovery request to the blockchain node in the blockchain (for example, blockchain node 21c). The key recovery request may include the zero-knowledge proof and the contract address.

[0096] Furthermore, if Figure 2a As shown, the blockchain node 21c can receive the password recovery request sent by the terminal device 20b, call the abstract account smart contract corresponding to the contract address in the key recovery request to verify the zero-knowledge proof in the key recovery request, and obtain a verification result. If the verification result indicates that the verification is successful, the blockchain node 21c can record that the key recovery request has the recovery authority; optionally, if the verification result indicates that the verification fails, the blockchain node 21c does not need to record the key recovery request. Further, the blockchain node 21c can return the verification result to the terminal device 20b.

[0097] Furthermore, if Figure 2b As shown, the terminal device 20b can receive the verification result returned by the blockchain node 21c. If the verification result indicates that the verification is successful, the terminal device 20b can generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client, wherein the updated blockchain account can include an updated blockchain public key and an updated blockchain private key, and the updated password information can be used to prove the terminal device 20b's control over the updated blockchain private key (or the updated password information can be used to prove the object 20c's control over the updated blockchain private key).

[0098] like Figure 2b As shown, the terminal device 20b can generate an updated zero-knowledge proof for updating the password information in the resource client, and send a key modification request to the blockchain node (e.g., blockchain node 21c) in the blockchain. The key modification request may include the updated zero-knowledge proof and the contract address.

[0099] Furthermore, if Figure 2bAs shown, the blockchain node 21c can receive the key modification request sent by the terminal device 20b, and verify the key modification request according to the abstract account smart contract corresponding to the contract address in the key modification request and the key recovery request with recovery authority (including calling the abstract account smart contract corresponding to the contract address to verify the updated zero-knowledge proof in the key modification request), and obtain the verification result. If the verification result indicates that the verification is successful, the blockchain node 21c can determine that the update of the blockchain account and the update of the password information are successfully restored; optionally, if the verification result indicates that the verification fails, the blockchain node 21c determines that the update of the blockchain account and the update of the password information are failed to be restored. Further, the blockchain node 21c can return the verification result to the terminal device 20b.

[0100] It can be seen that the embodiment of the present application can generate a zero-knowledge proof for password information in the resource client, and prove the authenticity of the password information through zero-knowledge proof without exposing the password information in the resource client. In this way, the terminal device can generate an updated blockchain account and updated password information in the resource client, replace the blockchain account by updating the blockchain account, and replace the password information by updating the password information, thereby efficiently realizing the recovery of the updated blockchain account and the updated password information through zero-knowledge proof, so that the blockchain account will not be lost, and the security of the blockchain account is improved.

[0101] For further information, see Figure 3 , Figure 3 is a flowchart of a data processing method based on blockchain provided by an embodiment of the present application. The data processing method can be executed by a terminal device, which can be the above-mentioned Figure 1 Any terminal device in the terminal device cluster 100b of the corresponding embodiment (for example, the terminal device 120a). The data processing method may include the following steps S101 to S104:

[0102] Step S101, generating a zero-knowledge proof for password information in a resource client;

[0103] Specifically, the terminal device can obtain key information, public parameters and private parameters in the resource client. Among them, the key information includes a proof key and a verification key, which are generated in the resource client (the embodiment of the present application does not limit the specific process of generating the proof key and the verification key), the proof key can be used to generate a zero-knowledge proof, and the verification key can be used to verify the zero-knowledge proof; the public parameters include a private key recovery certificate (the public parameters can also include other public information in addition to the private key recovery certificate, and the public parameters can be parameters that both the prover and the verifier have, which are not listed here one by one), and the privacy parameters include password information (privacy parameters can also include other undisclosed information in addition to the password information, and the privacy parameters can be parameters that the prover has but the verifier does not have, which are not listed here one by one). Further, the terminal device can generate a zero-knowledge proof for the password information based on the key information, public parameters and privacy parameters. Optionally, the terminal device can generate a zero-knowledge proof for the password information based on the proof key, public parameters and privacy parameters.

[0104] It should be understood that before generating a zero-knowledge proof for the password information in the resource client, the terminal device can generate a blockchain account and password information corresponding to the blockchain account in the resource client. Among them, the blockchain account includes a blockchain private key (that is, the blockchain private key belongs to the blockchain account generated in the resource client), and the password information is used to prove the terminal device (that is, the terminal device to which the resource client belongs) has control over the blockchain private key. Among them, the blockchain account also includes a blockchain public key, and the terminal device can send the blockchain public key to the blockchain node in the blockchain.

[0105] It should be understood that the terminal device can generate a private key recovery certificate corresponding to the blockchain account in the resource client according to the blockchain account in the resource client and the password information corresponding to the blockchain account. Further, the terminal device can send a contract deployment request to the blockchain node in the blockchain. Among them, the contract deployment request includes the private key recovery certificate, the blockchain address corresponding to the blockchain account, and the contract deployment code; the blockchain node is used to create an abstract account smart contract corresponding to the contract deployment code, and the blockchain node is also used to store the blockchain address and the private key recovery certificate; the private key recovery certificate is used to verify the zero-knowledge proof (i.e., used to modify the ownership of the abstract account resources). Further, the terminal device can receive the contract deployment result returned by the blockchain node. Among them, the contract deployment result includes the contract address corresponding to the abstract account smart contract.

[0106] Among them, after the blockchain node creates the abstract account smart contract corresponding to the contract deployment code, the blockchain node can determine that the terminal device successfully deploys the abstract account smart contract on the blockchain (that is, the abstract account smart contract is deployed on the blockchain by the terminal device). Optionally, if the blockchain node fails to successfully create the abstract account smart contract corresponding to the contract deployment code (for example, when an error occurs in the contract deployment code, the blockchain node cannot successfully create the abstract account smart contract), the terminal device can receive the contract deployment result returned by the blockchain node to indicate the deployment failure.

[0107] Among them, the specific process of the terminal device generating a private key recovery certificate based on the blockchain account and password information can be described as follows: the terminal device can concatenate the blockchain address corresponding to the blockchain account in the resource client and the password information corresponding to the blockchain account to generate a concatenated string. Further, the terminal device can hash the concatenated string on the resource client to generate a private key recovery certificate corresponding to the blockchain account. Optionally, the terminal device can hash the blockchain address corresponding to the blockchain account in the resource client to generate an address hash parameter; the terminal device can hash the password information corresponding to the blockchain account to generate a password hash parameter. Further, the terminal device can concatenate the address hash parameter and the password hash parameter to generate a private key recovery certificate corresponding to the blockchain account.

[0108] Step S102, sending a key recovery request to a blockchain node in the blockchain;

[0109] The key recovery request includes a zero-knowledge proof and a contract address, and the blockchain node is used to call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result. If the verification result indicates that the verification is successful, the blockchain node is used to record the key recovery request and has the recovery authority; optionally, if the verification result indicates that the verification fails, the blockchain node does not need to record the key recovery request and has the recovery authority.

[0110] The specific process of blockchain nodes calling abstract account smart contracts to verify zero-knowledge proofs can be found in the following Figure 4 The description of step S202 in the corresponding embodiment.

[0111] Step S103, generating an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client;

[0112] Among them, updating the blockchain account includes updating the blockchain private key, and the updated password information is used to prove the terminal device's control over the updated blockchain private key. Among them, updating the blockchain account also includes updating the blockchain public key, and the terminal device can send the updated blockchain public key to the blockchain node in the blockchain.

[0113] Among them, the blockchain account and the updated blockchain account are different (the blockchain private key and the updated blockchain private key are different, and the blockchain public key and the updated blockchain public key are different), and the password information and the updated password information can be the same or different.

[0114] Step S104, sending a key modification request to the blockchain node based on the updated blockchain account and updated password information.

[0115] Specifically, the terminal device can generate an updated private key recovery certificate corresponding to the updated blockchain account in the resource client according to the updated blockchain account and the updated password information. Further, the terminal device can obtain the updated key information, updated public parameters and updated privacy parameters in the resource client. Among them, the updated key information includes an updated proof key and an updated verification key, and the updated proof key and the updated verification key are generated in the resource client (the embodiment of the present application does not limit the specific process of generating the updated proof key and the updated verification key), the updated proof key can be used to generate an updated zero-knowledge proof, and the updated verification key can be used to verify the updated zero-knowledge proof; the updated public parameters include the updated private key recovery certificate (the updated public parameters can also include other public information in addition to the updated private key recovery certificate, and the updated public parameters can be parameters that both the prover and the verifier have, which are not listed here one by one), and the updated privacy parameters include the updated password information (the updated privacy parameters can also include other undisclosed information in addition to the updated password information, and the updated privacy parameters can be parameters that the prover has and the verifier does not have, which are not listed here one by one). Further, the terminal device can generate an updated zero-knowledge proof for the updated password information according to the updated key information, the updated public parameters and the updated privacy parameters. Optionally, the terminal device can generate an updated zero-knowledge proof for the updated password information based on the updated proof key, updated public parameters, and updated privacy parameters. Further, the terminal device can send a key modification request to the blockchain node. The key modification request includes updating the verification key, updating the zero-knowledge proof, updating the private key recovery certificate, updating the blockchain address and contract address corresponding to the updated blockchain account.

[0116] The blockchain node is used to verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract corresponding to the contract address to obtain a verification result. If the verification result indicates that the verification is successful, the blockchain node determines that the update of the blockchain account (or the update of the blockchain private key in the blockchain account) and the update of the password information are successfully restored; optionally, if the verification result indicates that the verification fails, the blockchain node determines that the update of the blockchain account (or the update of the blockchain private key in the blockchain account) and the update of the password information are failed to be restored.

[0117] Among them, the specific process of the terminal device generating an updated private key recovery certificate based on the updated blockchain account and the updated password information can be described as follows: the terminal device can concatenate the updated blockchain address corresponding to the updated blockchain account in the resource client and the updated password information corresponding to the updated blockchain account to generate an updated concatenated string. Further, the terminal device can hash the updated concatenated string on the resource client to generate an updated private key recovery certificate corresponding to the updated blockchain account. Optionally, the terminal device can hash the updated blockchain address corresponding to the updated blockchain account in the resource client to generate an updated address hash parameter; the terminal device can hash the updated password information corresponding to the updated blockchain account to generate an updated password hash parameter. Further, the terminal device can concatenate the updated address hash parameter and the updated password hash parameter to generate an updated private key recovery certificate corresponding to the updated blockchain account.

[0118] The specific process of blockchain nodes verifying key modification requests based on key recovery requests with recovery permissions and abstract account smart contracts can be found in the following Figure 4 The description of step S204 in the corresponding embodiment.

[0119] Furthermore, the terminal device may receive the account recovery result returned by the blockchain node. When the verification result indicates that the verification is successful, the account recovery result may indicate that the account recovery is successful, and the terminal device may perform the signature processing by updating the blockchain private key; when the verification result indicates that the verification fails, the account recovery result may indicate that the account recovery fails, and the terminal device may perform the signature processing by using the blockchain private key.

[0120] Optionally, the terminal device may receive the verification result returned by the blockchain node. Further, if the verification result indicates that the verification is successful, the terminal device may execute the step of generating an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client; Optionally, if the verification result indicates that the verification is successful, the terminal device may execute the step of sending a key modification request to the blockchain node according to the updated blockchain account and updated password information. Optionally, if the verification result indicates that the verification fails, the terminal device does not need to execute steps S103 and S104.

[0121] It can be seen that the embodiment of the present application can generate a zero-knowledge proof for the password information in the resource client when the blockchain account (or the blockchain private key in the blockchain account) is lost, and the zero-knowledge proof is verified by the blockchain node in the blockchain. When the verification result corresponding to the zero-knowledge verification indicates that the verification is successful, the zero-knowledge proof can be used to prove the authenticity of the password information. Therefore, the embodiment of the present application can generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client. Since the authenticity of the password information has been proved by the zero-knowledge proof, the present application can replace the blockchain account by updating the blockchain account, and replace the password information by updating the password information, so as to restore the blockchain account (or reset the blockchain private key to obtain the updated blockchain private key) through the password information (actually reset the blockchain account to obtain the updated blockchain account), that is, to achieve the recovery of the updated blockchain account, thereby improving the security of the blockchain account.

[0122] For further information, see Figure 4 , Figure 4 is a flowchart of a data processing method based on blockchain provided in an embodiment of the present application. The data processing method can be executed by a blockchain node, which can be the above-mentioned Figure 1 Any blockchain node (e.g., blockchain node 110a) in the blockchain network 100a of the corresponding embodiment. The data processing method may include the following steps S201-S204:

[0123] Step S201, receiving a key recovery request sent by a terminal device;

[0124] Among them, the key recovery request includes the zero-knowledge proof and contract address for the password information, and the key recovery request also includes the verification key; the zero-knowledge proof is generated by the terminal device in the resource client, and the verification key is generated when the terminal device generates the zero-knowledge proof in the resource client; the password information is used to prove the terminal device's control over the blockchain private key, and the blockchain private key belongs to the blockchain account generated by the terminal device in the resource client.

[0125] The specific process of the terminal device generating zero-knowledge proof in the resource client can be found in the above Figure 3 The description of step S101 in the corresponding embodiment will not be repeated here.

[0126] It should be understood that the blockchain node can receive a contract deployment request sent by a terminal device. Among them, the contract deployment request includes the private key recovery certificate corresponding to the blockchain account in the resource client, the blockchain address corresponding to the blockchain account, and the contract deployment code; the private key recovery certificate is generated by the terminal device in the resource client according to the blockchain account and the password information corresponding to the blockchain account. Further, the blockchain node can create an abstract account smart contract corresponding to the contract deployment code (and set the owner of the abstract account smart contract to the object corresponding to the terminal device), and store the blockchain address and private key recovery certificate. Among them, the private key recovery certificate is used to verify the zero-knowledge proof (that is, used to modify the ownership of the abstract account resources). Further, the blockchain node can generate a contract deployment result based on the contract address corresponding to the abstract account smart contract, and return the contract deployment result to the terminal device.

[0127] Among them, after the blockchain node creates the abstract account smart contract corresponding to the contract deployment code, the blockchain node can determine that the terminal device successfully deploys the abstract account smart contract on the blockchain (that is, the abstract account smart contract is deployed on the blockchain by the terminal device). Optionally, if the blockchain node fails to successfully create the abstract account smart contract corresponding to the contract deployment code (for example, when an error occurs in the contract deployment code, the blockchain node cannot successfully create the abstract account smart contract), the blockchain node can return a contract deployment result indicating a deployment failure to the terminal device.

[0128] The specific process of the terminal device generating a private key recovery certificate in the resource client based on the blockchain account and password information can be found in the above Figure 3 The description of step S101 in the corresponding embodiment will not be repeated here.

[0129] Among them, the embodiment of the present application can store the private key recovery certificate in the contract resource (i.e., smart contract resource), so that when the object loses the blockchain private key that controls the contract resource (including the abstract account resource in the embodiment of the present application, the abstract account resource can be associated with the abstract account smart contract), the recovery of the updated blockchain private key can be achieved.

[0130] Step S202, calling the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result. If the verification result indicates that the verification is successful, the key recovery request is recorded as having the recovery authority;

[0131] Specifically, the blockchain node can call the abstract account smart contract corresponding to the contract address to obtain the verification key and public parameters. The public parameters include the private key recovery certificate, which is stored by the blockchain node when creating the abstract account smart contract. Further, the blockchain node can verify the zero-knowledge proof by verifying the key and the public parameters to obtain a verification result. The verification result can indicate that the verification is successful or that the verification fails. Further, if the verification result indicates that the verification is successful, the blockchain node can record that the key recovery request has the recovery authority.

[0132] Furthermore, the blockchain node may return the verification result to the terminal device. If the verification result indicates that the verification is successful, the terminal device is used to send a key modification request (i.e., send a key modification request to the blockchain node according to the updated blockchain account and updated password information); optionally, if the verification result indicates that the verification is successful, the terminal device is used to generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client. Optionally, if the verification result indicates that the verification fails, the terminal device does not need to perform steps S103 and S104.

[0133] Step S203, receiving a key modification request sent by a terminal device;

[0134] Among them, the key modification request is sent by the terminal device according to the updated blockchain account and the updated password information corresponding to the updated blockchain account; the updated blockchain account and the updated password information are generated by the terminal device in the resource client, and the updated blockchain account includes updating the blockchain private key. The updated password information is used to prove the terminal device's control over the updated blockchain private key.

[0135] Among them, the key modification request includes updating the verification key, updating the zero-knowledge proof for the updated password information, updating the private key recovery certificate, and updating the blockchain address and contract address corresponding to the updated blockchain account; the updated zero-knowledge proof and updated verification key are generated by the terminal device in the resource client, and the updated private key recovery certificate is generated by the terminal device in the resource client based on the updated blockchain account and updated password information.

[0136] The specific process of the terminal device generating and updating the zero-knowledge proof in the resource client can be found in the above Figure 3 The description of step S104 in the corresponding embodiment will not be repeated here. The specific process of the terminal device generating the updated private key recovery certificate in the resource client according to the updated blockchain account and updated password information can be found in the above Figure 3 The description of step S104 in the corresponding embodiment will not be repeated here.

[0137] Step S204, verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result. If the verification result indicates that the verification is successful, it is determined that the update of the blockchain account and the update of the password information are successfully restored.

[0138] Specifically, the blockchain node may determine the time interval between the first timestamp corresponding to the key recovery request with recovery authority and the second timestamp of receiving the key modification request. The first timestamp may be the timestamp of the blockchain node receiving the key recovery request, or the timestamp of the blockchain node recording the key recovery request with recovery authority. Further, the blockchain node may generate a candidate verification result according to the time interval and the time period threshold. Further, if the candidate verification result indicates that the verification is successful, the blockchain node may call the abstract account smart contract corresponding to the contract address to obtain the updated verification key and the updated public parameter. The updated public parameter includes the updated private key recovery credential. Further, the blockchain node may verify the updated zero-knowledge proof by updating the verification key and the updated public parameter to obtain the verification result. The verification result may indicate that the verification is successful or the verification fails. Further, if the verification result indicates that the verification is successful, the blockchain node may determine that the updated blockchain account (or the updated blockchain private key in the updated blockchain account) and the updated password information are successfully recovered. Optionally, if the verification result indicates that the verification fails, the blockchain node may determine that the updated blockchain account (or the updated blockchain private key in the updated blockchain account) and the updated password information are failed to be recovered.

[0139] It is understandable that if the time interval is greater than or equal to the time period threshold, the blockchain node can generate a candidate verification result indicating a successful verification; optionally, if the time interval is less than the time period threshold, the blockchain node can generate a candidate verification result indicating a failed verification. When the time interval is less than the time period threshold, the contract account (CA) is locked and no operation (e.g., digital asset transfer operation) can be performed; the embodiment of the present application does not limit the specific value of the time period threshold, for example, the time period threshold can be 3 days or 45 hours.

[0140] Therefore, the present application can extend the confirmation period through the time period threshold to protect the privacy of the object, provide a safe and reliable password recovery solution, improve the security of blockchain accounts, and prevent frequent changes to blockchain accounts (or blockchain private keys in blockchain accounts).

[0141] Furthermore, if the verification result indicates that the verification is successful, the blockchain node may store the updated blockchain address and the updated private key recovery certificate. The updated private key recovery certificate may be used to verify the new zero-knowledge proof. The specific process of verifying the new zero-knowledge proof by updating the private key recovery certificate may refer to the description of verifying the zero-knowledge proof by the private key recovery certificate, which will not be repeated here. Furthermore, the blockchain node may return the account recovery result to the terminal device. When the verification result indicates that the verification is successful, the account recovery result may indicate that the account recovery is successful; when the verification result indicates that the verification fails, the account recovery result may indicate that the account recovery fails.

[0142] It is understood that when the account is successfully restored, the blockchain node can update the external account (EOA) associated with the contract account from the blockchain account to the updated blockchain account (i.e., replace the owner of the contract account, and the owner of the contract account can control the digital assets in the contract account), so that the updated blockchain account can continue to control the digital assets in the contract account (for example, by transferring digital assets in the contract account through the updated blockchain account). The external account can be the blockchain account or the updated blockchain account in this application, the contract account can be the abstract account resource in this application, and the owner of the contract account is the external account address (for example, the blockchain address or the updated blockchain address in this application).

[0143] Optionally, the blockchain node may call the abstract account smart contract corresponding to the contract address to obtain the update verification key and the update public parameter. The update public parameter includes the update private key recovery credential. Further, the blockchain node may verify the update zero-knowledge proof by the update verification key and the update public parameter to obtain the update verification result. Further, the blockchain node may determine the update verification result as the verification result. The verification result may indicate a verification success or a verification failure (i.e., the update verification result may indicate a verification success or a verification failure).

[0144] It can be seen that the embodiment of the present application can generate a zero-knowledge proof for the password information in the resource client when the blockchain account (or the blockchain private key in the blockchain account) is lost, and the zero-knowledge proof is verified by the blockchain node in the blockchain. When the verification result corresponding to the zero-knowledge verification indicates that the verification is successful, the zero-knowledge proof can be used to prove the authenticity of the password information. Therefore, the embodiment of the present application can generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client. Since the authenticity of the password information has been proved by the zero-knowledge proof, the present application can replace the blockchain account by updating the blockchain account, and replace the password information by updating the password information, so as to restore the blockchain account (or reset the blockchain private key to obtain the updated blockchain private key) through the password information (actually reset the blockchain account to obtain the updated blockchain account), that is, to achieve the recovery of the updated blockchain account, thereby improving the security of the blockchain account.

[0145] For easier understanding, see Figure 5 , Figure 5 This is a flow chart of deploying an abstract account smart contract provided by an embodiment of the present application. Figure 5 The object shown may be a user corresponding to the terminal device, such as Figure 5 The abstract account resource shown may be a blockchain node running an abstract account smart contract. The object and the abstract account resource may be used to deploy the abstract account smart contract on the blockchain (i.e., create an abstract account resource or create a contract account) through steps S11 to S13.

[0146] like Figure 5 As shown, the terminal device can execute step S11, and deploy the contract through step S11 (i.e., send a contract deployment request to the blockchain node in the blockchain). In this way, the blockchain node can execute step S12 after receiving the contract deployment request sent by the terminal device, and initialize the contract through step S12 (i.e., the abstract account smart contract, which can also be understood as initializing abstract account resources), set the blockchain address and recovery certificate (i.e., private key recovery certificate), that is, create an abstract account smart contract corresponding to the contract deployment code, and store the blockchain address and private key recovery certificate. Furthermore, the blockchain node can generate a contract deployment result based on the contract address corresponding to the abstract account smart contract, and then return the contract deployment result to the terminal device through step S13.

[0147] For easier understanding, see Figure 6 , Figure 6 Schematic diagram of a process for recovering a private key provided by an embodiment of the present application. Figure 6 The object shown may be a user corresponding to the terminal device, such as Figure 6The abstract account resource shown may be a blockchain node running an abstract account smart contract, and the object and the abstract account resource may be used to restore the private key on the blockchain through steps S21 to S31.

[0148] like Figure 6 As shown, the terminal device can execute step S21, calculate the zero-knowledge proof through step S21 (i.e., generate a zero-knowledge proof for the password information in the resource client, and the zero-knowledge proof can be used to prove the password information without disclosing the password information), and then execute step S22, request to restore the private key through step S22 (i.e., send a key recovery request to the blockchain node in the blockchain), so that the blockchain node can execute step S23 after receiving the key recovery request sent by the terminal device, verify the zero-knowledge proof through step S23 (i.e., call the abstract account smart contract to verify the zero-knowledge proof), and obtain the verification result. Further, the blockchain node can return the verification result indicating the proof error to the terminal device through step S24 when the verification result indicates that the verification failed (i.e., the proof was wrong); optionally, the blockchain node can return the verification result indicating the proof passed to the terminal device through step S25 when the verification result indicates that the verification was successful (i.e., the proof passed), and record the recovery request through step S26 (i.e., record the key recovery request with recovery authority), and enter the mandatory confirmation period (i.e., the time period indicated by the waiting time period threshold).

[0149] like Figure 6 As shown, the terminal device can wait for the mandatory confirmation period through step S27, and then execute step S28, and request to modify the private key through step S28 (i.e., send a key modification request to the blockchain node in the blockchain). In this way, the blockchain node can execute step S29 after receiving the key modification request sent by the terminal device, and verify the modification request through step S29 (i.e., verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract), and obtain the verification result. Further, the blockchain node can record the updated blockchain address and the updated recovery certificate (i.e., the updated private key recovery certificate) through step S30 when the verification result indicates that the verification is successful, that is, store the updated blockchain address and the updated private key recovery certificate. Further, the blockchain node can execute step S31, and notify the terminal device that the account recovery is successful through step S31, that is, return the account recovery result indicating the successful account recovery to the terminal device.

[0150] For further information, see Figure 7 , Figure 7 This is a flowchart of a data processing method based on blockchain provided by an embodiment of the present application. The data processing method can be jointly executed by a blockchain node and a terminal device, and the blockchain node can be the above Figure 1Any blockchain node (e.g., blockchain node 110a) in the blockchain network 100a of the corresponding embodiment, the terminal device can be the above-mentioned Figure 1 Any terminal device in the terminal device cluster 100b of the corresponding embodiment (for example, the terminal device 120a). The data processing method may include the following steps S301-S314:

[0151] Step S301, generating a private key recovery certificate corresponding to the blockchain account in the resource client according to the blockchain account in the resource client and the password information corresponding to the blockchain account;

[0152] Step S302, sending a contract deployment request to a blockchain node in the blockchain;

[0153] Specifically, the terminal device can generate contract deployment information in the resource client, sign the contract deployment information through the blockchain private key, and obtain the terminal signature information corresponding to the contract deployment information (i.e., the first terminal signature information). Among them, the contract deployment information includes the private key recovery certificate, the blockchain address corresponding to the blockchain account, and the contract deployment code. Further, the terminal device can determine the terminal signature information (i.e., the first terminal signature information) and the contract deployment information as a contract deployment operation, and send a contract deployment request carrying the contract deployment operation to the blockchain node in the blockchain.

[0154] Among them, the terminal device can perform hash processing on the contract deployment information to obtain the first summary information corresponding to the contract deployment information. Further, the terminal device can encrypt the first summary information through the blockchain private key to obtain the terminal signature information corresponding to the contract deployment information (i.e., the first terminal signature information). Further, the terminal device can determine the contract deployment information and the terminal signature information (i.e., the first terminal signature information) as a contract deployment operation. Among them, the terminal device can splice the contract deployment information and the terminal signature information (i.e., the first terminal signature information) to obtain the contract deployment operation.

[0155] Step S303, receiving a contract deployment request sent by a terminal device;

[0156] Among them, the contract deployment request includes a contract deployment operation. It should be understood that the blockchain node can package the contract deployment operation into transaction data (i.e., the first transaction data), perform signature processing on the transaction data (i.e., the first transaction data), and obtain the node signature information (i.e., the first node signature information) corresponding to the transaction data (i.e., the first transaction data). Further, the blockchain node can perform chain processing on the transaction data (i.e., the first transaction data) and the node signature information (i.e., the first node signature information) to obtain the chain result (i.e., the first chain result). Further, if the chain result (i.e., the first chain result) indicates that the chain is successful, the blockchain node can execute the step of creating an abstract account smart contract corresponding to the contract deployment code and storing the blockchain address and private key recovery certificate. Optionally, if the chain result (i.e., the first chain result) indicates that the chain fails, the blockchain node does not need to execute the step of creating an abstract account smart contract corresponding to the contract deployment code and storing the blockchain address and private key recovery certificate.

[0157] Among them, the blockchain node can perform hash processing on the transaction data (i.e., the first transaction data) to obtain the second summary information corresponding to the transaction data (i.e., the first transaction data). Further, the blockchain node can encrypt the second summary information through the node private key to obtain the node signature information (i.e., the first node signature information) corresponding to the transaction data (i.e., the first transaction data). Further, the blockchain node can determine the transaction data (i.e., the first transaction data) and the node signature information (i.e., the first node signature information) as the data to be uploaded to the chain. Among them, the blockchain node can splice the transaction data (i.e., the first transaction data) and the node signature information (i.e., the first node signature information) to obtain the data to be uploaded to the chain.

[0158] Among them, the contract deployment operation includes contract deployment information and terminal signature information corresponding to the contract deployment information (i.e., first terminal signature information); the terminal signature information (i.e., first terminal signature information) is obtained by the terminal device signing the contract deployment information through the blockchain private key, and the contract deployment information includes private key recovery certificate, blockchain address and contract deployment code.

[0159] Step S304, creating an abstract account smart contract corresponding to the contract deployment code, and storing the blockchain address and private key recovery certificate;

[0160] Specifically, the blockchain node can call the entry point contract to verify the transaction data (i.e., the first transaction data) and the node signature information (i.e., the first node signature information) to obtain the first verification result. If the first verification result indicates that the verification is successful, the factory contract is called to create the abstract account smart contract corresponding to the contract deployment code. Optionally, if the first verification result indicates that the verification fails, the blockchain node does not need to call the factory contract to create the abstract account smart contract corresponding to the contract deployment code. Further, the blockchain node can call the abstract account smart contract to verify the contract deployment information and the terminal signature information (i.e., the first terminal signature information) to obtain the second verification result. If the second verification result indicates that the verification is successful, the blockchain address and the private key recovery certificate are stored. Optionally, if the second verification result indicates that the verification fails, the blockchain node does not need to store the blockchain address and the private key recovery certificate. Among them, the private key recovery certificate is used to verify the zero-knowledge proof.

[0161] Among them, the blockchain node can decrypt the node signature information (i.e., the first node signature information) through the node public key corresponding to the node private key to obtain the second summary information corresponding to the transaction data (i.e., the first transaction data). Further, the blockchain node can perform hash processing on the transaction data (i.e., the first transaction data) to obtain the third summary information corresponding to the transaction data (i.e., the first transaction data). Further, the blockchain node can compare the second summary information with the third summary information, and if the second summary information and the third summary information are the same, a first signature verification result indicating a successful signature verification is generated. Optionally, if the second summary information and the third summary information are not the same, the blockchain node can generate a first signature verification result indicating a failed signature verification.

[0162] Among them, the blockchain node can decrypt the terminal signature information (i.e., the first terminal signature information) through the blockchain public key corresponding to the blockchain private key to obtain the first summary information corresponding to the contract deployment information. Further, the blockchain node can perform hash processing on the contract deployment information to obtain the fourth summary information corresponding to the contract deployment information. Further, the blockchain node can compare the first summary information with the fourth summary information, and if the first summary information and the fourth summary information are the same, a second signature verification result indicating successful signature verification is generated. Optionally, if the first summary information and the fourth summary information are not the same, the blockchain node can generate a second signature verification result indicating a failed signature verification.

[0163] Step S305, generating a contract deployment result according to the contract address corresponding to the abstract account smart contract, and returning the contract deployment result to the terminal device;

[0164] Step S306, receiving the contract deployment result returned by the blockchain node;

[0165] Among them, the contract deployment result includes the contract address corresponding to the abstract account smart contract.

[0166] Step S307, generating a zero-knowledge proof for the password information in the resource client;

[0167] Among them, the cryptographic information is used to prove the control of the blockchain private key by the terminal device to which the resource client belongs. The blockchain private key belongs to the blockchain account generated in the resource client.

[0168] Step S308, sending a key recovery request to a blockchain node in the blockchain;

[0169] Specifically, the terminal device can generate key recovery information in the resource client, sign the key recovery information through the blockchain private key, and obtain the terminal signature information (i.e., the second terminal signature information) corresponding to the key recovery information. Among them, the key recovery information includes zero-knowledge proof and contract address. Further, the terminal device can determine the terminal signature information (i.e., the second terminal signature information) and the key recovery information as a key recovery operation, and send a key recovery request carrying the key recovery operation to the blockchain node in the blockchain.

[0170] Among them, the specific process of the terminal device signing the key recovery information can be found in the description of the terminal device signing the contract deployment information, which will not be repeated here.

[0171] Step S309, receiving a key recovery request sent by the terminal device;

[0172] Among them, the key recovery request includes a key recovery operation. It should be understood that the blockchain node can package the key recovery operation into transaction data (i.e., the second transaction data), sign the transaction data (i.e., the second transaction data), and obtain the node signature information (i.e., the second node signature information) corresponding to the transaction data (i.e., the second transaction data). Further, the blockchain node can process the transaction data (i.e., the second transaction data) and the node signature information (i.e., the second node signature information) on the chain to obtain the chain result (i.e., the second chain result). Further, if the chain result (i.e., the second chain result) indicates that the chain is successful, the blockchain node can execute the step of calling the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof. Optionally, if the chain result (i.e., the second chain result) indicates that the chain fails, the blockchain node does not need to execute the step of calling the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof.

[0173] Among them, the specific process of the blockchain node signing the transaction data (i.e., the second transaction data) can be found in the description of the blockchain node signing the transaction data (i.e., the first transaction data) mentioned above, and will not be repeated here.

[0174] Optionally, the blockchain node can also set a transaction threshold when creating an abstract account smart contract (for example, setting the signatures of multiple objects (for example, the signatures of 2 objects, the 2 objects may include the object corresponding to the terminal device and the objects corresponding to other terminal devices)). In this way, the blockchain node needs to verify the signatures of the 2 objects before calling the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof.

[0175] Among them, the key recovery operation includes key recovery information and terminal signature information corresponding to the key recovery information (i.e., the second terminal signature information); the terminal signature information (i.e., the second terminal signature information) is obtained by the terminal device signing the key recovery information through the blockchain private key, and the key recovery information includes zero-knowledge proof and contract address.

[0176] Step S310, calling the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result. If the verification result indicates that the verification is successful, the key recovery request is recorded as having the recovery authority;

[0177] Specifically, the blockchain node can call the entry point contract to verify the transaction data (i.e., the second transaction data) and the node signature information (i.e., the second node signature information) to obtain the third verification result. If the third verification result indicates that the verification is successful, the abstract account smart contract is called to verify the key recovery information and the terminal signature information (i.e., the second terminal signature information) to obtain the fourth verification result. Optionally, if the third verification result indicates that the verification fails, the blockchain node does not need to call the abstract account smart contract to verify the key recovery information and the terminal signature information (i.e., the second terminal signature information). Further, if the fourth verification result indicates that the verification is successful, the blockchain node can call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain the verification result. Optionally, if the fourth verification result indicates that the verification fails, the blockchain node does not need to call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain the verification result. Further, if the verification result indicates that the verification is successful, the blockchain node can record that the key recovery request has the recovery authority. Optionally, if the verification result indicates that the verification failed, the blockchain node does not need to record the key recovery request to have recovery authority.

[0178] The specific process of the blockchain node verifying the transaction data (i.e., the second transaction data) and the node signature information (i.e., the second node signature information) can be found in the description of the blockchain node verifying the transaction data (i.e., the first transaction data) and the node signature information (i.e., the first node signature information), which will not be repeated here. The specific process of the blockchain node verifying the key recovery information and the terminal signature information (i.e., the second terminal signature information) can be found in the description of the blockchain node verifying the contract deployment information and the terminal signature information (i.e., the first terminal signature information), which will not be repeated here.

[0179] Step S311, generating an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client;

[0180] Among them, updating the blockchain account includes updating the blockchain private key, and updating the password information is used to prove the terminal device's control over the updated blockchain private key.

[0181] Step S312, sending a key modification request to the blockchain node according to the updated blockchain account and updated password information;

[0182] Specifically, the terminal device can generate key modification information in the resource client, sign the key modification information through the blockchain private key, and obtain the terminal signature information corresponding to the key modification information (i.e., the third terminal signature information). Among them, the key modification information includes updating the verification key, updating the zero-knowledge proof, updating the private key recovery certificate, and updating the blockchain address and contract address corresponding to the blockchain account. Further, the terminal device can determine the terminal signature information (i.e., the third terminal signature information) and the key modification information as a key modification operation, and send a key modification request carrying the key modification operation to the blockchain node in the blockchain.

[0183] Among them, the specific process of the terminal device signing the key modification information can be found in the description of the terminal device signing the contract deployment information, which will not be repeated here.

[0184] Step S313, receiving a key modification request sent by a terminal device;

[0185] Among them, the key modification request includes a key modification operation. It should be understood that the blockchain node can package the key modification operation into transaction data (i.e., the third transaction data), sign the transaction data (i.e., the third transaction data), and obtain the node signature information (i.e., the third node signature information) corresponding to the transaction data (i.e., the third transaction data). Further, the blockchain node can process the transaction data (i.e., the third transaction data) and the node signature information (i.e., the third node signature information) on the chain to obtain the chain result (i.e., the third chain result). Further, if the chain result (i.e., the third chain result) indicates that the chain is successful, the blockchain node can execute the step of verifying the key modification request according to the key recovery request with recovery authority and the abstract account smart contract. Optionally, if the chain result (i.e., the third chain result) indicates that the chain fails, the blockchain node does not need to execute the step of verifying the key modification request according to the key recovery request with recovery authority and the abstract account smart contract.

[0186] Among them, the specific process of the blockchain node signing the transaction data (i.e., the third transaction data) can be found in the description of the above-mentioned blockchain node signing the transaction data (i.e., the first transaction data), which will not be repeated here.

[0187] Optionally, the blockchain node may also set a transaction threshold when creating an abstract account smart contract (for example, setting signatures of multiple objects (for example, signatures of 2 objects, the 2 objects may include an object corresponding to a terminal device and objects corresponding to other terminal devices)). In this way, the blockchain node needs to verify the signatures of the 2 objects before verifying the key modification request based on the key recovery request with recovery authority and the abstract account smart contract.

[0188] Among them, the key modification operation includes the key modification information and the terminal signature information corresponding to the key modification information (i.e., the third terminal signature information); the terminal signature information (i.e., the third terminal signature information) is obtained by the terminal device signing the key modification information through the blockchain private key, and the key modification information includes updating the verification key, updating the zero-knowledge proof, updating the private key recovery certificate, and updating the blockchain address and contract address corresponding to the blockchain account.

[0189] Step S314, verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result. If the verification result indicates that the verification is successful, it is determined that the update of the blockchain account and the update of the password information are successfully restored.

[0190] Specifically, the blockchain node can call the entry point contract to verify the transaction data (i.e., the third transaction data) and the node signature information (i.e., the third node signature information) to obtain the fifth verification result. If the fifth verification result indicates that the verification is successful, the abstract account smart contract is called to verify the key modification information and the terminal signature information (i.e., the third terminal signature information) to obtain the sixth verification result. Optionally, if the fifth verification result indicates that the verification fails, the blockchain node does not need to call the abstract account smart contract to verify the key modification information and the terminal signature information (i.e., the third terminal signature information). Further, if the sixth verification result indicates that the verification is successful, the blockchain node can verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain the verification result. Optionally, if the sixth verification result indicates that the verification fails, the blockchain node does not need to verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain the verification result. Further, if the verification result indicates that the verification is successful, the blockchain node can determine that the update of the blockchain account and the update of the password information are successfully restored. Optionally, if the verification result indicates a verification failure, the blockchain node may determine that the update of the blockchain account and the update of the password information recovery have failed.

[0191] The specific process of the blockchain node verifying the transaction data (i.e., the third transaction data) and the node signature information (i.e., the third node signature information) can be found in the description of the blockchain node verifying the transaction data (i.e., the first transaction data) and the node signature information (i.e., the first node signature information), which will not be repeated here. The specific process of the blockchain node verifying the key modification information and the terminal signature information (i.e., the third terminal signature information) can be found in the description of the blockchain node verifying the contract deployment information and the terminal signature information (i.e., the first terminal signature information), which will not be repeated here.

[0192] For easier understanding, see Figure 8 , Figure 8 This is a flow chart of an abstract account contract provided by an embodiment of the present application. Figure 8 The object shown may be a user corresponding to the terminal device, such as Figure 8 The bundler shown can be a blockchain node in the blockchain, such as Figure 8The EntryPoint contract, Factory contract (Factory contract, the factory contract can be used to standardize the parameters and processes of contract creation), Account contract (i.e. abstract account smart contract, Account contract) and Paymaster contract shown are run on the blockchain node in the blockchain.

[0193] Among them, the blockchain nodes in the blockchain can all have complete blockchain data, and the blockchain nodes corresponding to the packager and the blockchain nodes running the contracts (i.e., entry point contracts, factory contracts, account contracts, and payment contracts) can be the same blockchain nodes or different blockchain nodes. For ease of understanding, here we take the blockchain node corresponding to the packager and the blockchain node running the contract as the same blockchain node as an example.

[0194] like Figure 8 As shown, the terminal device can execute step S41, and create and sign the object operation through step S41. Among them, the object operation here can be the above-mentioned contract deployment operation, key recovery operation or key modification operation. Further, the terminal device can execute step S42, and send the object operation to the packager in the blockchain (i.e., the blockchain node in the blockchain) through step S42, and package the object operation into transaction data through the blockchain node, and then sign the transaction data to obtain the node signature information corresponding to the transaction data. Among them, the blockchain node can package an object operation separately as transaction data, or it can package at least two object operations as transaction data, and this application does not limit this. Further, the blockchain node can process the transaction data and node signature information on the chain to obtain the on-chain result.

[0195] It is understandable that the blockchain node can package the transaction data and node signature information into blocks, perform chain processing on the blockchain, and obtain the chain result. Further, after the block is chained by consensus (i.e., the chain result indicates that the chain is successful), the blockchain node can call the contract to execute the transaction data in the blockchain, perform the object operation in the transaction data, and execute the following steps S43-S49. Among them, the blockchain node corresponding to the packager and the blockchain node that packages the transaction data and node signature information can be the same blockchain node or different blockchain nodes. For ease of understanding, the blockchain node corresponding to the packager and the blockchain node that packages the transaction data and node signature information are the same blockchain node as an example for explanation.

[0196] like Figure 8As shown, the blockchain node can execute step S43, verify the transaction data through step S43, that is, call the entry point contract to verify the transaction data and the node signature information, and then determine whether there is an abstract account smart contract in the blockchain when the verification is successful. Among them, optionally, the object operation can include operation content (for example, when the object operation is a contract deployment operation, the operation content can be a private key recovery certificate and a blockchain address), a contract address, and a code for creating a contract (i.e., a contract deployment code, initcode), and the blockchain node can determine whether the smart contract indicated by the contract address has been created; if the smart contract indicated by the contract address has been created (i.e., there is an abstract account smart contract in the blockchain), the blockchain node can call the abstract account smart contract according to the contract address; optionally, if the smart contract indicated by the contract address has not been created (i.e., there is no abstract account smart contract in the blockchain), the blockchain node can create an abstract account smart contract according to the contract deployment code.

[0197] Furthermore, if the abstract account smart contract does not exist in the blockchain, the blockchain node can execute step S44, call the factory contract through step S44 to execute step S45, create a contract (i.e., the abstract account smart contract) through step S45, and return the contract address to the entry point contract through step S46. Optionally, if there is an abstract account smart contract corresponding to the object in the blockchain, the blockchain node can execute step S47 (at this time, steps S44-S46 do not need to be executed), verify the object operation through step S47, that is, call the abstract account smart contract to verify the object operation, and then execute the object operation when the verification result indicates that the verification is successful (for example, verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract, call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof, and store the blockchain address and private key recovery certificate).

[0198] like Figure 8 As shown, if there is a payment contract on behalf of the blockchain, the blockchain node can execute step S49 through the payment contract, and pay the consumed resources (for example, 50 game helmets) through step S49; alternatively, if there is no payment contract on behalf of the blockchain, the blockchain node can execute step S48 through the account contract, and pay the consumed resources (for example, 50 game shells) through step S48. The consumed resources can be the resources that both parties need to pay when executing a transaction on the blockchain.

[0199] It can be seen that the embodiment of the present application provides a password recovery mechanism for abstract account resources implemented using ZK-SNARKs technology, and the abstract account smart contract corresponding to the blockchain account can be deployed in the blockchain. In this way, when the terminal device loses the blockchain account (or the blockchain private key in the blockchain account), it can generate a zero-knowledge proof for the password information, so that the blockchain node in the blockchain can verify the zero-knowledge proof through the abstract account smart contract, thereby proving the authenticity of the password information. Further, the terminal device can generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client. Since the password information owned by the terminal device is authentic, after the blockchain node further verifies the updated blockchain account and the updated password information, the terminal device can restore the blockchain account by updating the blockchain account and restore the password information by updating the password information, thereby realizing the recovery of the updated blockchain account and the updated password information, and improving the security of the blockchain account.

[0200] For further information, see Fig. 9 , Fig. 9 1 is a schematic diagram of the structure of a data processing device based on blockchain provided by an embodiment of the present application. The data processing device 1 may include: a proof generation module 11, a recovery request sending module 12, an account generation module 13, and a modification request sending module 14; further, the data processing device 1 may also include: a credential generation module 15, a deployment request sending module 16, and a result receiving module 17;

[0201] The proof generation module 11 is used to generate a zero-knowledge proof for the cryptographic information in the resource client; the cryptographic information is used to prove the control of the blockchain private key by the terminal device to which the resource client belongs; the blockchain private key belongs to the blockchain account generated in the resource client;

[0202] Among them, the proof generation module 11 is specifically used to obtain key information, public parameters and private parameters in the resource client; the key information includes a proof key and a verification key; the public parameters include a private key recovery credential; the private parameters include password information; the proof key and the verification key are generated in the resource client;

[0203] The proof generation module 11 is specifically used to generate a zero-knowledge proof for the cryptographic information according to the key information, the public parameters and the privacy parameters.

[0204] The recovery request sending module 12 is used to send a key recovery request to a blockchain node in the blockchain; the key recovery request includes a zero-knowledge proof and a contract address; the blockchain node is used to call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result; if the verification result indicates that the verification is successful, the blockchain node is used to record that the key recovery request has the recovery authority; the abstract account smart contract is deployed on the blockchain by the terminal device;

[0205] An account generation module 13 is used to generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client; updating the blockchain account includes updating the blockchain private key; the updated password information is used to prove the terminal device's control over the updated blockchain private key;

[0206] The modification request sending module 14 is used to send a key modification request to the blockchain node according to the updated blockchain account and updated password information; the blockchain node is used to verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result; if the verification result indicates that the verification is successful, the blockchain node determines that the updated blockchain account and updated password information are successfully recovered.

[0207] Among them, the modification request sending module 14 is specifically used to generate an updated private key recovery certificate corresponding to the updated blockchain account in the resource client according to the updated blockchain account and updated password information;

[0208] The modification request sending module 14 is specifically used to obtain updated key information, updated public parameters and updated private parameters in the resource client; the updated key information includes updated proof key and updated verification key; the updated public parameters include updated private key recovery credentials; the updated private parameters include updated password information; the updated proof key and updated verification key are generated in the resource client;

[0209] The modification request sending module 14 is specifically used to generate an updated zero-knowledge proof for the updated password information according to the updated key information, the updated public parameter and the updated privacy parameter;

[0210] The modification request sending module 14 is specifically used to send a key modification request to the blockchain node; the key modification request includes updating the verification key, updating the zero-knowledge proof, updating the private key recovery certificate, and updating the blockchain address and contract address corresponding to the blockchain account.

[0211] Optionally, a credential generation module 15 is used to generate a private key recovery credential corresponding to the blockchain account in the resource client according to the blockchain account in the resource client and the password information corresponding to the blockchain account;

[0212] Among them, the credential generation module 15 is specifically used to splice the blockchain address corresponding to the blockchain account in the resource client and the password information corresponding to the blockchain account to generate a spliced ​​string;

[0213] The credential generation module 15 is specifically used to perform hash processing on the concatenated string on the resource client to generate a private key recovery credential corresponding to the blockchain account.

[0214] The deployment request sending module 16 is used to send a contract deployment request to a blockchain node in the blockchain; the contract deployment request includes a private key recovery certificate, a blockchain address corresponding to the blockchain account, and a contract deployment code; the blockchain node is used to create an abstract account smart contract corresponding to the contract deployment code; the blockchain node is also used to store the blockchain address and the private key recovery certificate; the private key recovery certificate is used to verify the zero-knowledge proof;

[0215] Among them, the deployment request sending module 16 is specifically used to generate contract deployment information in the resource client, sign the contract deployment information through the blockchain private key, and obtain the terminal signature information corresponding to the contract deployment information; the contract deployment information includes the private key recovery certificate, the blockchain address corresponding to the blockchain account and the contract deployment code;

[0216] The deployment request sending module 16 is specifically used to determine the terminal signature information and the contract deployment information as a contract deployment operation, and send a contract deployment request carrying the contract deployment operation to the blockchain node in the blockchain.

[0217] The result receiving module 17 is used to receive the contract deployment result returned by the blockchain node; the contract deployment result includes the contract address corresponding to the abstract account smart contract.

[0218] Among them, the specific implementation of the proof generation module 11, the recovery request sending module 12, the account generation module 13, the modification request sending module 14, the credential generation module 15, the deployment request sending module 16, and the result receiving module 17 can be referred to above. Figure 3 In the corresponding embodiment, steps S101 to S104 and Figure 7 The description of steps S301 to S314 in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated here either.

[0219] For further information, see Fig.10 , Fig.10: is a structural diagram of a blockchain-based data processing device provided in an embodiment of the present application. The data processing device 2 may include: a recovery request receiving module 21, a verification module 22, a modification request receiving module 23, and a verification module 24; further, the data processing device 2 may also include: a deployment request receiving module 25, a contract creation module 26, a result return module 27, and a chaining module 28;

[0220] The recovery request receiving module 21 is used to receive a key recovery request sent by a terminal device; the key recovery request includes a zero-knowledge proof and a contract address for the password information; the zero-knowledge proof is generated by the terminal device in the resource client; the password information is used to prove the terminal device's control over the blockchain private key; the blockchain private key belongs to the blockchain account generated by the terminal device in the resource client;

[0221] Verification module 22, used to call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result. If the verification result indicates that the verification is successful, the key recovery request is recorded with the recovery authority; the abstract account smart contract is deployed on the blockchain by the terminal device;

[0222] The key recovery request also includes a verification key; the verification key is generated when the terminal device generates a zero-knowledge proof in the resource client;

[0223] Verification module 22, specifically used to call the abstract account smart contract corresponding to the contract address to obtain the verification key and public parameters; the public parameters include the private key recovery certificate;

[0224] The verification module 22 is specifically used to verify the zero-knowledge proof by verifying the key and the public parameter to obtain a verification result;

[0225] The verification module 22 is further specifically configured to return a verification result to the terminal device; if the verification result indicates that the verification is successful, the terminal device is configured to send a key modification request.

[0226] The modification request receiving module 23 is used to receive a key modification request sent by a terminal device; the key modification request is sent by the terminal device according to the updated blockchain account and the updated password information corresponding to the updated blockchain account; the updated blockchain account and the updated password information are generated by the terminal device in the resource client; the updated blockchain account includes updating the blockchain private key; the updated password information is used to prove the terminal device's control over the updated blockchain private key;

[0227] The verification module 24 is used to verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result. If the verification result indicates that the verification is successful, it is determined that the update of the blockchain account and the update of the password information are successfully restored.

[0228] Among them, the key modification request includes updating the verification key, updating the zero-knowledge proof for updating the password information, updating the private key recovery certificate, and updating the blockchain address and contract address corresponding to the blockchain account; the updating zero-knowledge proof and updating the verification key are generated by the terminal device in the resource client; the updating private key recovery certificate is generated by the terminal device in the resource client according to the updating blockchain account and updating the password information;

[0229] A verification module 24, specifically configured to determine a time interval between a first timestamp corresponding to a key recovery request with recovery authority and a second timestamp corresponding to a key modification request;

[0230] The verification module 24 is specifically used to generate candidate verification results according to the time interval and the time period threshold;

[0231] The verification module 24 is specifically used to call the abstract account smart contract corresponding to the contract address to obtain the updated verification key and updated public parameters if the candidate verification result indicates that the verification is successful; the updated public parameters include updating the private key recovery certificate;

[0232] Verification module 24, specifically used to verify the updated zero-knowledge proof by updating the verification key and updating the public parameter to obtain a verification result;

[0233] The verification module 24 is further specifically configured to store the updated blockchain address and the updated private key recovery credential if the verification result indicates that the verification is successful.

[0234] Optionally, a deployment request receiving module 25 is used to receive a contract deployment request sent by a terminal device; the contract deployment request includes a private key recovery certificate corresponding to the blockchain account in the resource client, a blockchain address corresponding to the blockchain account, and a contract deployment code; the private key recovery certificate is generated by the terminal device in the resource client according to the blockchain account and the password information corresponding to the blockchain account;

[0235] The contract creation module 26 is used to create an abstract account smart contract corresponding to the contract deployment code, and store the blockchain address and private key recovery certificate; the private key recovery certificate is used to verify the zero-knowledge proof;

[0236] Among them, the contract deployment operation includes the contract deployment information and the terminal signature information corresponding to the contract deployment information; the terminal signature information is obtained by the terminal device signing the contract deployment information through the blockchain private key; the contract deployment information includes the private key recovery certificate, blockchain address and contract deployment code;

[0237] The contract creation module 26 is specifically used to call the entry point contract to verify the transaction data and node signature information, and obtain a first verification result. If the first verification result indicates that the verification is successful, the factory contract is called to create an abstract account smart contract corresponding to the contract deployment code;

[0238] The contract creation module 26 is specifically used to call the abstract account smart contract to verify the contract deployment information and the terminal signature information, and obtain a second verification result. If the second verification result indicates that the verification is successful, the blockchain address and the private key recovery certificate are stored.

[0239] The result returning module 27 is used to generate a contract deployment result according to the contract address corresponding to the abstract account smart contract, and return the contract deployment result to the terminal device.

[0240] Optionally, the contract deployment request includes a contract deployment operation;

[0241] The on-chain module 28 is used to package the contract deployment operation into transaction data, sign the transaction data, and obtain the node signature information corresponding to the transaction data;

[0242] The chain module 28 is used to process the transaction data and node signature information on the chain to obtain the chain result;

[0243] The chain module 28 is used to execute the steps of creating an abstract account smart contract corresponding to the contract deployment code and storing the blockchain address and private key recovery certificate if the chain result indicates that the chain is successful.

[0244] Among them, the specific implementation methods of the recovery request receiving module 21, the verification module 22, the modification request receiving module 23, the verification module 24, the deployment request receiving module 25, the contract creation module 26, the result return module 27, and the chain module 28 can be found in the above Figure 4 In the corresponding embodiment, steps S201 to S204 and Figure 7 The description of steps S301 to S314 in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated here either.

[0245] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0246] For further information, see Fig.11 , Fig.11 Schematic diagram of a computer device provided in an embodiment of the present application, the computer device may be a terminal device or a server. Fig.11 As shown, the computer device 1000 may include: a processor 1001, a network interface 1004 and a memory 1005. In addition, the above-mentioned computer device 1000 may also include: a user interface 1003, and at least one communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. Among them, in some embodiments, the user interface 1003 may include a display screen (Display), a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface. Optionally, the network interface 1004 may include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory, or it may be a non-volatile memory (non-volatile memory), such as at least one disk storage. Optionally, the memory 1005 may also be at least one storage device located away from the aforementioned processor 1001. As Fig.11 As shown, the memory 1005 as a computer-readable storage medium may include an operating system, a network communication module, a user interface module, and a device control application program.

[0247] In such Fig.11 In the computer device 1000 shown, the network interface 1004 can provide a network communication function; the user interface 1003 is mainly used to provide an input interface for the user; and the processor 1001 can be used to call the device control application stored in the memory 1005.

[0248] It should be understood that the computer device 1000 described in the embodiment of the present application can execute the above Figure 3 , Figure 4 and Figure 7 The description of the data processing method in the corresponding embodiment can also be performed as described above. Fig. 9 In the corresponding embodiment, the data processing device 1 and Fig.10 The description of the data processing device 2 in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated here either.

[0249] In addition, it should be pointed out here that: the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores the computer program executed by the data processing device 1 and the data processing device 2 mentioned above. When the processor executes the computer program, it can execute the above-mentioned Figure 3 , Figure 4 and Figure 7 The description of the data processing method in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application.

[0250] In addition, it should be noted that: the embodiment of the present application also provides a computer program product, which may include a computer program, and the computer program may be stored in a computer-readable storage medium. The processor of the computer device reads the computer program from the computer-readable storage medium, and the processor may execute the computer program, so that the computer device performs the above Figure 3 , Figure 4 and Figure 7 The description of the data processing method in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated. For technical details not disclosed in the computer program product embodiment involved in this application, please refer to the description of the method embodiment of this application.

[0251] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing related hardware through a computer program, and the computer program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0252] The above disclosure is only the preferred embodiment of the present application, which certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.

Claims

1. A data processing method based on blockchain, characterized in that: include: Generate a zero-knowledge proof for the password information in the resource client; The password information is used to prove the control of the blockchain private key by the terminal device to which the resource client belongs; The blockchain private key belongs to the blockchain account generated in the resource client; Sending a key recovery request to a blockchain node in the blockchain; The key recovery request includes the zero-knowledge proof and the contract address; the blockchain node is used to call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result; If the verification result indicates that the verification is successful, the blockchain node is used to record that the key recovery request has the recovery authority; the abstract account smart contract is deployed by the terminal device on the blockchain; Generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client; the updated blockchain account includes updating the blockchain private key; The update password information is used to prove the terminal device's control over the update blockchain private key; Sending a key modification request to the blockchain node according to the updated blockchain account and the updated password information; The blockchain node is used to verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result; If the verification result indicates that the verification is successful, the blockchain node determines that the updated blockchain account and the updated password information are restored successfully.

2. The method according to claim 1, characterized in that The method further comprises: Generate a private key recovery certificate corresponding to the blockchain account in the resource client according to the blockchain account in the resource client and the password information corresponding to the blockchain account; Sending a contract deployment request to a blockchain node in the blockchain; the contract deployment request includes the private key recovery certificate, the blockchain address corresponding to the blockchain account, and the contract deployment code; the blockchain node is used to create an abstract account smart contract corresponding to the contract deployment code; the blockchain node is also used to store the blockchain address and the private key recovery certificate; the private key recovery certificate is used to verify the zero-knowledge proof; Receive the contract deployment result returned by the blockchain node; the contract deployment result includes the contract address corresponding to the abstract account smart contract.

3. The method according to claim 2, characterized in that The step of generating a private key recovery credential corresponding to the blockchain account in the resource client according to the blockchain account in the resource client and the password information corresponding to the blockchain account includes: Concatenate the blockchain address corresponding to the blockchain account in the resource client and the password information corresponding to the blockchain account to generate a concatenated string; The resource client performs hash processing on the concatenated string to generate a private key recovery credential corresponding to the blockchain account.

4. The method according to claim 2, characterized in that: Generating a zero-knowledge proof for the password information in the resource client includes: Acquire key information, public parameters and private parameters in the resource client; the key information includes a certification key and a verification key; the public parameters include the private key recovery credential; the private parameters include the password information; the certification key and the verification key are generated in the resource client; A zero-knowledge proof for the cryptographic information is generated according to the key information, the public parameter and the private parameter.

5. The method according to claim 1, characterized in that The sending a key modification request to the blockchain node according to the updated blockchain account and the updated password information includes: According to the updated blockchain account and the updated password information, generating an updated private key recovery credential corresponding to the updated blockchain account in the resource client; Acquire update key information, update public parameters and update private parameters in the resource client; the update key information includes an update proof key and an update verification key; the update public parameters include the update private key recovery credential; the update private parameters include the update password information; the update proof key and the update verification key are generated in the resource client; generating an updated zero-knowledge proof for the updated password information based on the updated key information, the updated public parameter, and the updated private parameter; Sending a key modification request to the blockchain node; the key modification request includes the updated verification key, the updated zero-knowledge proof, the updated private key recovery credential, the updated blockchain address corresponding to the updated blockchain account, and the contract address.

6. The method according to claim 2, characterized in that The sending a contract deployment request to a blockchain node in the blockchain includes: Generate contract deployment information in the resource client, sign the contract deployment information using the blockchain private key, and obtain terminal signature information corresponding to the contract deployment information; the contract deployment information includes the private key recovery certificate, the blockchain address corresponding to the blockchain account, and the contract deployment code; The terminal signature information and the contract deployment information are determined as a contract deployment operation, and a contract deployment request carrying the contract deployment operation is sent to a blockchain node in the blockchain.

7. A data processing method based on blockchain, characterized in that: include: Receiving a key recovery request sent by a terminal device; The key recovery request includes a zero-knowledge proof for the password information and a contract address; the zero-knowledge proof is generated by the terminal device in the resource client; The password information is used to prove the terminal device's control over the blockchain private key; the blockchain private key belongs to the blockchain account generated by the terminal device in the resource client; Calling the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result, and if the verification result indicates that the verification is successful, recording that the key recovery request has the recovery authority; the abstract account smart contract is deployed by the terminal device on the blockchain; Receiving a key modification request sent by the terminal device; the key modification request is sent by the terminal device according to an updated blockchain account and updated password information corresponding to the updated blockchain account; the updated blockchain account and the updated password information are generated by the terminal device in the resource client; the updated blockchain account includes an updated blockchain private key; the updated password information is used to prove the terminal device's control over the updated blockchain private key; The key modification request is verified according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result. If the verification result indicates that the verification is successful, it is determined that the updated blockchain account and the updated password information are restored successfully.

8. The method according to claim 7, characterized in that The method further comprises: Receive a contract deployment request sent by a terminal device; the contract deployment request includes a private key recovery certificate corresponding to a blockchain account in a resource client, a blockchain address corresponding to the blockchain account, and a contract deployment code; the private key recovery certificate is generated by the terminal device in the resource client according to the blockchain account and password information corresponding to the blockchain account; Creating the abstract account smart contract corresponding to the contract deployment code, and storing the blockchain address and the private key recovery certificate; the private key recovery certificate is used to verify the zero-knowledge proof; Generate a contract deployment result according to the contract address corresponding to the abstract account smart contract, and return the contract deployment result to the terminal device.

9. The method according to claim 8, characterized in that The key recovery request also includes a verification key; the verification key is generated when the terminal device generates the zero-knowledge proof in the resource client; The calling of the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof to obtain a verification result includes: Calling the abstract account smart contract corresponding to the contract address to obtain the verification key and public parameters; the public parameters include the private key recovery certificate; Verifying the zero-knowledge proof using the verification key and the public parameter to obtain a verification result; The method further comprises: The verification result is returned to the terminal device; if the verification result indicates that the verification is successful, the terminal device is used to send the key modification request.

10. The method according to claim 7, characterized in that The key modification request includes the update verification key, the update zero-knowledge proof for the update password information, the update private key recovery certificate, the update blockchain address corresponding to the update blockchain account and the contract address; the update zero-knowledge proof and the update verification key are generated by the terminal device in the resource client; the update private key recovery certificate is generated by the terminal device in the resource client according to the update blockchain account and the update password information; The verifying the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result includes: Determine a time interval between a first timestamp corresponding to the key recovery request with recovery authority and a second timestamp corresponding to receiving the key modification request; Generating candidate verification results according to the time interval and the time period threshold; If the candidate verification result indicates that the verification is successful, calling the abstract account smart contract corresponding to the contract address to obtain the updated verification key and updated public parameters; the updated public parameters include the updated private key recovery certificate; Verifying the updated zero-knowledge proof using the updated verification key and the updated public parameter to obtain a verification result; The method further comprises: If the verification result indicates that the verification is successful, the updated blockchain address and the updated private key recovery credential are stored.

11. The method according to claim 8, characterized in that The contract deployment request includes a contract deployment operation; The method further comprises: Packing the contract deployment operation into transaction data, signing the transaction data, and obtaining the node signature information corresponding to the transaction data; The transaction data and the node signature information are processed on the chain to obtain the chain result; If the on-chain result indicates that the on-chain is successful, the step of creating the abstract account smart contract corresponding to the contract deployment code and storing the blockchain address and the private key recovery certificate is executed.

12. The method according to claim 11, characterized in that The contract deployment operation includes contract deployment information and terminal signature information corresponding to the contract deployment information; the terminal signature information is obtained by the terminal device signing the contract deployment information through the blockchain private key; the contract deployment information includes the private key recovery certificate, the blockchain address and the contract deployment code; The step of creating the abstract account smart contract corresponding to the contract deployment code and storing the blockchain address and the private key recovery credential includes: Calling the entry point contract to perform signature verification on the transaction data and the node signature information to obtain a first signature verification result. If the first signature verification result indicates that the signature verification is successful, calling the factory contract to create the abstract account smart contract corresponding to the contract deployment code; The abstract account smart contract is called to perform verification processing on the contract deployment information and the terminal signature information to obtain a second verification result. If the second verification result indicates that the verification is successful, the blockchain address and the private key recovery certificate are stored.

13. A data processing device based on blockchain, characterized in that: include: A proof generation module, used to generate zero-knowledge proofs for cryptographic information in a resource client; The password information is used to prove the control of the blockchain private key by the terminal device to which the resource client belongs; the blockchain private key belongs to the blockchain account generated in the resource client; A recovery request sending module, used to send a key recovery request to a blockchain node in the blockchain; The key recovery request includes the zero-knowledge proof and the contract address; the blockchain node is used to call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result; If the verification result indicates that the verification is successful, the blockchain node is used to record that the key recovery request has the recovery authority; the abstract account smart contract is deployed by the terminal device on the blockchain; An account generation module, used to generate an updated blockchain account and updated password information corresponding to the updated blockchain account in the resource client; the updated blockchain account includes an updated blockchain private key; the updated password information is used to prove the control of the terminal device over the updated blockchain private key; A modification request sending module, used to send a key modification request to the blockchain node according to the updated blockchain account and the updated password information; The blockchain node is used to verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result; If the verification result indicates that the verification is successful, the blockchain node determines that the updated blockchain account and the updated password information are restored successfully.

14. A data processing device based on blockchain, characterized in that: include: A recovery request receiving module, used to receive a key recovery request sent by a terminal device; The key recovery request includes a zero-knowledge proof for the password information and a contract address; the zero-knowledge proof is generated by the terminal device in the resource client; The password information is used to prove the terminal device's control over the blockchain private key; the blockchain private key belongs to the blockchain account generated by the terminal device in the resource client; A verification module, used to call the abstract account smart contract corresponding to the contract address to verify the zero-knowledge proof and obtain a verification result. If the verification result indicates that the verification is successful, it records that the key recovery request has the recovery authority; the abstract account smart contract is deployed by the terminal device on the blockchain; A modification request receiving module, used to receive a key modification request sent by the terminal device; the key modification request is sent by the terminal device according to an updated blockchain account and updated password information corresponding to the updated blockchain account; the updated blockchain account and the updated password information are generated by the terminal device in the resource client; the updated blockchain account includes an updated blockchain private key; the updated password information is used to prove the terminal device's control over the updated blockchain private key; A verification module is used to verify the key modification request according to the key recovery request with recovery authority and the abstract account smart contract to obtain a verification result. If the verification result indicates that the verification is successful, it is determined that the updated blockchain account and the updated password information are successfully restored.

15. A computer device, characterized in that: include: Processor and memory; The processor is connected to the memory, wherein the memory is used to store a computer program, and the processor is used to call the computer program so that the computer device executes the method according to any one of claims 1 to 12.

16. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which is suitable for being loaded and executed by a processor, so that a computer device having the processor executes the method according to any one of claims 1 to 12.

17. A computer program product, characterized in that The computer program product comprises a computer program, which is stored in a computer-readable storage medium and is suitable for being read and executed by a processor, so that a computer device having the processor executes the method according to any one of claims 1 to 12.

Citation Information

Cited By

  • Post-generation input stream modification for inferred network-based simulated data

    US12743549B2

  • Post-generation input stream modification for inferred network-based simulated data

    US20260244785A1