CN112001731B - Block chain account balance deposit certificate and recovery method and device - Google Patents

Block chain account balance deposit certificate and recovery method and device Download PDF

Info

Publication number
CN112001731B
CN112001731B CN202010865214.0A CN202010865214A CN112001731B CN 112001731 B CN112001731 B CN 112001731B CN 202010865214 A CN202010865214 A CN 202010865214A CN 112001731 B CN112001731 B CN 112001731B
Authority
CN
China
Prior art keywords
blockchain
encrypted
account balance
user
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010865214.0A
Other languages
Chinese (zh)
Other versions
CN112001731A (en
Inventor
黄洲荣
陈盛龙
陈能贵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Ant Chuangjiang Information Technology Co ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010865214.0A priority Critical patent/CN112001731B/en
Publication of CN112001731A publication Critical patent/CN112001731A/en
Application granted granted Critical
Publication of CN112001731B publication Critical patent/CN112001731B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments

Abstract

The specification provides a method and a device for storing and recovering balance of a block chain account, wherein the method comprises the following steps: the block chain user client sends a deposit transaction to node equipment of a block chain based on a preset sending period so as to correspondingly update the block height and the recovery parameter at the time, which are included in the deposit transaction, in a state database of the block chain account; acquiring the latest current recovery parameter and the latest current block height corresponding to the latest construction time of the deposit transaction; decrypting at least part of the latest current recovery parameters, and obtaining the plaintext of the encrypted account balance at the latest construction moment based on the latest current recovery parameters obtained by decryption; and recovering the plaintext of the current account balance of the blockchain user based on the transfer transaction related to the blockchain user and stored on the blockchain, starting from the block after the latest current block height based on the plaintext of the encrypted account balance at the latest construction moment.

Description

Block chain account balance deposit certificate and recovery method and device
Technical Field
One or more embodiments of the present disclosure relate to the field of blockchain technologies, and in particular, to a method and an apparatus for crediting and recovering a balance of a blockchain account.
Background
In order to protect data privacy of a user, account balance information on a blockchain can be stored in an encrypted privacy state, and a specific encryption mode can include homomorphic encryption and the like, so that a blockchain account can perform chain transfer transaction in the encrypted privacy state; each blockchain user can keep the encryption or decryption parameters related to the account balance of the user in a local database (or called a private database) under the corresponding node device or client side chain, so that the user can conveniently know the plaintext corresponding to the account balance on the user chain at any time.
However, the locally stored plaintext of the account balance, and the encryption or decryption parameters related to the account balance are easily deleted or modified, or are lost when the node device or the client system fails and the storage medium is damaged, and at this time, it is difficult for the block chain user to acquire the plaintext corresponding to the account balance in the block chain.
Disclosure of Invention
In view of this, one or more embodiments of the present disclosure provide a method, an apparatus, and a computer device for crediting and recovering a balance of a blockchain account.
To achieve the above object, one or more embodiments of the present specification provide a method for crediting a blockchain account balance, where the account balances of user accounts stored on a blockchain are all encrypted by using a first encryption algorithm, and the method includes:
The node equipment of the block chain receives a deposit transaction sent by a user client of the block chain based on a preset sending period; the credentialing transaction comprises a then-current tile height and then-current recovery parameters; the block height at the moment is the block height at the evidence deposit transaction construction moment, the current recovery parameters are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction moment, and at least part of the current recovery parameters are encrypted;
issuing the deposit transaction to the blockchain so that the blockchain performs consensus processing on the deposit transaction;
and when the evidence deposit transaction consensus passes, storing the evidence deposit transaction into a distributed account book of the block chain, and correspondingly updating the block height and the recovery parameter at the time in a state database of the block chain user.
In yet another illustrated embodiment, the credentialing transaction is constructed based on a storage snapshot of the blockchain client, the storage snapshot including the then-current block height and then-current restore parameters.
In another illustrated embodiment, the account balances of the user accounts stored on the blockchain are each encrypted using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
The temporal recovery parameter comprises a temporal random number corresponding to the encrypted account balance at the construction time, and the encrypted account balance of the blockchain user at the construction time of the deposit transaction; wherein the nonce is encrypted.
In another illustrated embodiment, the account balances of the user accounts stored on the blockchain are each encrypted using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameters comprise a temporal random number corresponding to the encrypted account balance at the construction time, and a plaintext of the encrypted account balance of the blockchain user at the construction time of the deposit transaction; and encrypting the plaintext of the encrypted account balance at the time of construction and the random number at that time.
In yet another illustrated embodiment, the first encryption algorithm is a homomorphic encryption algorithm, and the nonce is an encrypted nonce corresponding to the encrypted account balance at the build time;
the transfer amount of the transfer transaction associated with the blockchain user is also encrypted using the homomorphic encryption algorithm based on a transfer amount nonce as an encryption factor, and the transfer amount nonce are encrypted with a key associated with the public key of the blockchain user.
Correspondingly, the present specification also provides a method for recovering a block chain account balance, where account balances of user accounts stored in a block chain are all encrypted by using a first encryption algorithm, and the method includes:
the method comprises the steps that a block chain user client side sends evidence storage transactions to node equipment of a block chain based on a preset sending period, so that after the evidence storage transactions are identified commonly, the current block height and the current recovery parameters included in the evidence storage transactions are correspondingly updated in a state database of a block chain account; the block height at the time is the block height of a block chain synchronized by the client at the evidence deposit transaction construction time, the current recovery parameters are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction time, and at least part of the current recovery parameters are encrypted;
acquiring the latest current recovery parameter and the latest current block height corresponding to the latest construction time of the evidence storage transaction in a state database of the block chain account;
decrypting at least part of the latest current recovery parameters, and obtaining the plaintext of the encrypted account balance at the latest construction moment based on the latest current recovery parameters obtained by decryption;
And recovering the plaintext of the current account balance of the blockchain user based on the transfer transaction related to the blockchain user and stored on the blockchain, starting from the block after the latest current block height based on the plaintext of the encrypted account balance at the latest construction moment.
In yet another illustrated embodiment, the credentialing transaction is constructed based on a storage snapshot of the blockchain client, the storage snapshot including the then-current block height and then-current restore parameters.
In another illustrated embodiment, the account balances of the user accounts stored on the blockchain are each encrypted using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameter comprises a temporal random number corresponding to the encrypted account balance at the construction time, and the encrypted account balance of the blockchain user at the construction time of the deposit transaction; wherein the nonce is encrypted.
In another illustrated embodiment, the account balances of the user accounts stored on the blockchain are each encrypted using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
The temporal recovery parameters include a temporal random number corresponding to the encrypted account balance at the time of the construction, and a plaintext of the encrypted account balance of the blockchain user at the time of the construction of the credentialing transaction; and encrypting the plaintext of the random number at the time and the account balance at the construction moment.
In yet another illustrated embodiment, the first encryption algorithm is a homomorphic encryption algorithm, and the nonce is a nonce used in homomorphic encryption of the encrypted account balance at the build time;
the transfer amount of the transfer transaction related to the blockchain user is also encrypted by adopting the homomorphic encryption algorithm and based on a transfer amount random number as an encryption factor, and the transfer amount random number are encrypted by a secret key related to a public key of the blockchain user;
the recovering the plaintext of the current account balance of the blockchain user based on the encrypted account balance at the latest construction moment, starting from the latest current blockchain height, and based on the transfer transaction related to the blockchain user stored on the blockchain, comprises:
Based on the plaintext of the encrypted account balance at the latest construction time, starting from a block after the latest current block height, decrypting transfer transactions related to the block chain user one by one using a secret key related to a private key of the block chain user to obtain transfer amount and transfer amount random number of the transfer transactions one by one;
and recovering the plaintext of the account balance of the blockchain user corresponding to the transfer transaction one by one based on the transfer amount of the transfer transaction and the transfer amount random number until the plaintext of the current account balance of the blockchain user is recovered.
Correspondingly, this specification also provides a device for storing and verifying account balances of blockchain accounts, where the account balances of user accounts stored in blockchain are all encrypted by using a first encryption algorithm, and the device is applied to a node device of blockchain, and includes:
the receiving unit is used for receiving the deposit and certificate transaction sent by the blockchain user client based on the preset sending period; the credentialing transaction comprises a then-current tile height and then-current recovery parameters; the block height at the moment is the block height at the evidence deposit transaction construction moment, the current recovery parameters are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction moment, and at least part of the current recovery parameters are encrypted;
The issuing unit is used for issuing the certificate storing transaction to the block chain so as to enable the block chain to carry out consensus processing on the certificate storing transaction;
and the storage unit is used for storing the evidence-storing transaction to a distributed account book of the block chain when the evidence-storing transaction is passed, and correspondingly updating the block height and the recovery parameter at the time in a state database of the block chain user.
In yet another illustrated embodiment, the credentialing transaction is constructed based on a storage snapshot of the blockchain client, the storage snapshot including the then-current block height and then-current restore parameters.
In yet another illustrated embodiment, the account balances of the user accounts stored in the blockchain are all encrypted by using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameter comprises a temporal random number corresponding to the encrypted account balance at the construction time, and the encrypted account balance of the blockchain user at the construction time of the deposit transaction; wherein the nonce is encrypted.
In yet another illustrated embodiment, the account balances of the user accounts stored in the blockchain are all encrypted by using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameters comprise a temporal random number corresponding to the encrypted account balance at the construction time, and a plaintext of the encrypted account balance of the blockchain user at the construction time of the deposit transaction; and encrypting the plaintext of the encrypted account balance at the current random number and the construction time.
In yet another illustrated embodiment, the first encryption algorithm is a homomorphic encryption algorithm, and the nonce is an encrypted nonce corresponding to the encrypted account balance at the build time;
the transfer amount of the transfer transaction associated with the blockchain user is also encrypted using the homomorphic encryption algorithm based on a transfer amount nonce as an encryption factor, and the transfer amount nonce are encrypted with a key associated with the public key of the blockchain user.
Correspondingly, this specification also provides a device for recovering a block chain account balance, where the account balances of user accounts stored in a block chain are all encrypted by using a first encryption algorithm, and the device is applied to a block chain user client, and includes:
the system comprises a sending unit, a state database and a processing unit, wherein the sending unit is used for sending a deposit transaction to node equipment of a block chain based on a preset sending period so as to correspondingly update the block height and the recovery parameter of the deposit transaction at the time into the state database of the block chain account after the deposit transaction is identified; the block height at the time is the block height of a block chain synchronized by the client at the evidence deposit transaction construction time, the current recovery parameters are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction time, and at least part of the current recovery parameters are encrypted;
the acquisition unit is used for acquiring the latest current recovery parameter and the latest current block height corresponding to the latest construction time of the evidence storage transaction in the state database of the block chain account;
The decryption and recovery unit is used for decrypting at least part of the latest current recovery parameters and obtaining the plaintext of the encrypted account balance at the latest construction moment based on the latest current recovery parameters obtained by decryption; and recovering the plaintext of the current account balance of the blockchain user based on the transfer transaction related to the blockchain user and stored on the blockchain, starting from the block after the latest current block height based on the plaintext of the encrypted account balance at the latest construction moment.
In yet another illustrated embodiment, the credentialing transaction is constructed based on a storage snapshot of the blockchain client, the storage snapshot including the then-current block height and then-current restore parameters.
In another illustrated embodiment, the account balances of the user accounts stored on the blockchain are each encrypted using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameter comprises a temporal random number corresponding to the encrypted account balance at the construction time, and the encrypted account balance of the blockchain user at the construction time of the deposit transaction; wherein the nonce is encrypted.
In yet another illustrated embodiment, the account balances of the user accounts stored in the blockchain are all encrypted by using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameters comprise a temporal random number corresponding to the encrypted account balance at the construction time, and a plaintext of the encrypted account balance of the blockchain user at the construction time of the deposit transaction; and encrypting the plaintext of the encrypted account balance at the time of construction and the random number at that time.
In yet another illustrated embodiment, the first encryption algorithm is a homomorphic encryption algorithm, and the nonce is a nonce used in homomorphic encryption of the encrypted account balance at the build time;
the transfer amount of the transfer transaction related to the blockchain user is also encrypted by adopting the homomorphic encryption algorithm and based on a transfer amount random number as an encryption factor, and the transfer amount random number are encrypted by a secret key related to a public key of the blockchain user;
The decryption and recovery unit is further used for decrypting the transfer transactions related to the blockchain user one by using a secret key related to a private key of the blockchain user starting from a block after the latest current block height based on the plaintext of the encrypted account balance at the latest construction moment so as to obtain the transfer amount and the transfer amount random number of the transfer transactions one by one;
and recovering the plaintext of the account balance of the blockchain user corresponding to the transfer transaction one by one based on the transfer amount of the transfer transaction and the transfer amount random number until the plaintext of the current account balance of the blockchain user is recovered.
Accordingly, the present specification also provides a computer apparatus comprising: a memory and a processor; the memory having stored thereon a computer program executable by the processor; when the processor runs the computer program, the method for saving the balance of the blockchain account executed by the node device is executed.
The present specification also provides a computer device comprising: a memory and a processor; the memory having stored thereon a computer program executable by the processor; when the processor runs the computer program, the method for restoring the balance of the blockchain account executed by the client is executed according to the embodiments.
In this embodiment, a client may send a credit transaction to a node device of a block chain based on a preset sending period, so that a current block height and a current recovery parameter included in the credit transaction are correspondingly updated in a state database of an account of the block chain, and a tamper-resistant mechanism based on the block chain stores the credit for the current block height and the current recovery parameter; the client side starts from the latest current block height of the evidence deposit transaction evidence deposit, and recovers the plaintext of the account balance of the block chain of the client side user outside the chain aiming at the transfer transaction on the block after the latest current block height until the current block height of the block chain is tracked up, and the plaintext of the current account balance of the client side user is obtained; compared with the method for restoring the account balance, which starts from the initial value of the account balance and the creation block and performs return visit and calculation of the transfer transactions related to the user on all blocks, the method for restoring the account balance greatly reduces the processing time and the calculation amount.
Drawings
FIG. 1 is a schematic flow chart diagram of a block chain account balance crediting and restoring method according to an exemplary embodiment;
FIG. 2 is a schematic diagram of a process for validating and recovering a homomorphically encrypted blockchain account balance according to an exemplary embodiment;
fig. 3 is a schematic diagram of an account balance evidence storage apparatus applied to a blockchain on a node device side according to an exemplary embodiment;
FIG. 4 is a schematic diagram of an account balance recovery device applied to a blockchain of a client according to an exemplary embodiment;
FIG. 5 is a hardware block diagram of an embodiment of an account balance credentialing or restoring apparatus operable as provided herein.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with one or more embodiments of the present specification. Rather, they are merely examples of apparatus and methods consistent with certain aspects of one or more embodiments of the specification, as detailed in the claims which follow.
It should be noted that: in other embodiments, the steps of the corresponding methods are not necessarily performed in the order shown and described herein. In some other embodiments, the methods may include more or less steps than those described herein. Moreover, a single step described in this specification may be divided into multiple steps for description in other embodiments; however, in other embodiments, multiple steps described in this specification may be combined into a single step for description.
The block chain or block chain network described in one or more embodiments of the present specification may specifically refer to a P2P network system having a distributed data storage structure, where each node device achieves through a common recognition mechanism, the book data in the block chain is distributed within temporally consecutive "blocks", and the latter block may include a data digest of the former block, and according to a difference of a specific common recognition mechanism (such as POW, POS, DPOS, PBFT, or the like), a full backup of data of all or part of nodes is achieved. The ledger data within the blockchain may be stored within a block in a transactional format. The node device or client of the block chain can construct the real data generated by the physical world into a standard transaction (transaction) format supported by the block chain, then the real data is issued to the block chain, the node device in the block chain performs consensus processing on the received transaction, and after the consensus is achieved, the node device in the block chain serving as an accounting node packs the transaction into a block, and performs persistent evidence storage in the block of the block chain.
In order to easily obtain the current value of the ledger data, the blockchain is further provided with a state database (or called world state) to store the current value of the ledger data, so that the node device does not need to traverse the whole blockchain to calculate the value of the current state of the ledger data, and can directly read the value from the state database. When the transaction is stored in a block of the block chain, each node device may update its current value in the status database accordingly according to the data in the transaction.
It is well known to those skilled in the art that, since the blockchain network system operates under a corresponding consensus mechanism, data that has been recorded in the blockchain database is difficult to be tampered with by any node, for example, with a Pow consensus blockchain, an attack that requires at least 51% of effort of the whole network is required to tamper with existing data, and thus, the blockchain system has characteristics that other centralized database systems cannot guarantee data security and tamper resistance. Therefore, data recorded in the distributed database of the blockchain cannot be attacked or tampered, and even if part of the node devices have system faults or storage media are damaged, the part of the node devices can still recover global blockchain data from other node devices because other node devices already store the global blockchain data, so that the real reliability of data information of the distributed database storing the certified blockchain is ensured.
Example types of blockchain networks may include public blockchain networks, private blockchain networks, and federated blockchain networks. Although the term blockchain is typically associated with a cryptocurrency network, blockchains as used herein may refer to DLS (distributed ledger system) without reference to any particular use case.
In a public blockchain network, the consensus process is controlled by nodes of the consensus network. For example, hundreds, thousands, or even millions of entities may cooperate in a public blockchain network, each entity operating at least one node in the public blockchain network. Thus, a public blockchain network may be considered a public network with respect to participating entities. Typically, public blockchain networks support public transactions. The public transactions are shared with all nodes within the public blockchain network and stored in the global blockchain. A global blockchain is a chain of blocks that is replicated across all nodes. That is, for a global blockchain, all nodes are in a completely consistent state. To achieve consensus (e.g., agree to add blocks to a blockchain), a consensus protocol is implemented within a public blockchain network. Example consensus protocols include, but are not limited to, proof of work (POW).
Typically, a private blockchain network is provided for a particular entity that centrally controls read and write permissions. The entity controls which nodes can participate in the blockchain network. Thus, private blockchain networks are often referred to as licensed networks, which impose restrictions on who is allowed to participate in the network and its level of participation (e.g., only in certain transactions). Various types of access control mechanisms may be used (e.g., existing participants vote to add a new entity, and regulatory authorities may control admission).
Typically, a federated blockchain network is private among the participating entities. In a federated blockchain network, the consensus process is controlled by an authorized set of nodes (federation member nodes), one or more of which are operated by respective entities (e.g., enterprises). For example, a federation of ten (10) entities (e.g., enterprises) may operate a federated blockchain network in which each entity operates at least one node. Thus, a federated blockchain network may be considered a private network with respect to participating entities. In some examples, each entity (node) must sign each block to validate the block and add the validated block to the blockchain. In some examples, at least a subset of the entities (nodes) (e.g., at least 7 entities) must sign each block to validate the block and add the validated block to the blockchain.
It is contemplated that the embodiments provided herein can be implemented in any suitable type of blockchain network.
Corresponding user accounts can be set for different users of the block chain in a state database (or 'world state') of the block chain, so that state information such as account balance of the users of the block chain can be stored. In order to protect data privacy of a user, account balance information on the blockchain can be stored in an encrypted privacy state, and a specific encryption mode can include homomorphic encryption and the like, so that the blockchain account can perform chain transfer transaction in the encrypted privacy state; each blockchain user can keep the encryption or decryption parameters related to the account balance of the user in a local database (or called a private database) under the corresponding node device or client side chain, so that the user can conveniently know the plaintext corresponding to the account balance on the user chain at any time.
However, the locally stored plaintext of the account balance, and the encryption or decryption parameters related to the account balance are easily deleted or modified, or are lost when the node device or the client system fails and the storage medium is damaged, and at this time, it is difficult for the block chain user to acquire the plaintext corresponding to the account balance in the block chain.
In view of the above problems, one or more embodiments of the present specification provide a method for verifying and recovering a blockchain account balance, which is used for a blockchain user to recover a plaintext corresponding to the account balance of the blockchain user based on a client where the blockchain user is located.
It should be noted that the blockchain client described in one or more embodiments provided in this specification may be an independent device connected to a node device of a blockchain, or may be a functional plug-in integrated inside the node device, which is not limited to this.
In the field of block chaining, an important concept is Account (Account); taking an ether house as an example, the ether house generally divides an account into an external account and a contract account; an external account is an account directly controlled by the user; the contract account is created by the user through an external account, and the account containing the contract code (i.e. the intelligent contract), and the user account described in the present specification may include the above-mentioned external account or contract account.
Of course, for some blockchain models derived from the ethernet-based architecture (such as ant blockchains), account types supported by the blockchain may be further expanded, and are not particularly limited in this specification.
For accounts in a blockchain, the account status of the account is usually maintained through a structure. When a transaction in a block is executed, the status of the account associated with the transaction in the block chain is also typically changed. Taking etherhouses as an example, the structure of an account usually includes fields such as Balance, Nonce, Code and Storage. And the Balance field is used for maintaining the current account Balance of the account. Since the account balance is information related to the privacy of the user, some blockchains process the account balance on the blockchain in an encrypted manner.
Fig. 1 illustrates the flow steps of a method for crediting and recovering a blockchain account balance according to an exemplary embodiment of the present disclosure, where account balances of user accounts stored in the blockchain are encrypted by using a first encryption algorithm.
102, a block chain client sends a deposit transaction to node equipment of a block chain based on a preset sending period, wherein the deposit transaction comprises the block height at that time and a recovery parameter at that time; the block height at that time is the block height of the block chain synchronized by the client at the evidence deposit transaction construction time, the recovery parameters at that time are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction time, and at least part of the recovery parameters are encrypted.
The "local storage" referred to herein is private storage under the chain with respect to on-chain storage of blockchains (which may include blockbooks and status databases). As transfer transactions associated with blockchain users are continually recorded into the blockchain, the encrypted account balances of blockchain users are continually updated accordingly in the client-stored status database. The blockchain client may store the current recovery parameter in a local storage (private storage under the chain), so as to recover the plaintext of the encrypted account balance on the blockchain of the blockchain user at the time of establishing the credentialing transaction, or decrypt the encrypted account balance on the blockchain of the blockchain user logging in the client, so as to obtain the corresponding plaintext.
As the height of the blocks on the block chain increases, the block chain state database is updated correspondingly; and the account balance of the blockchain user may be updated as the transfer transaction associated therewith is received into the block. The blockchain client at least stores the on-chain account information of the blockchain user logging in the client (the account information comprises the encrypted account balance), and updates the on-chain account information of the blockchain user along with the updating of the blockchain state database. The client regularly sends the evidence storing transaction to the node equipment connected with the client based on a preset sending period so as to store the current block height at the evidence storing transaction construction moment and the current recovery parameter of the plaintext of the encrypted account balance onto the block chain.
Since the block height at the client may be different from the block height synchronized by the node device at the time of the evidence-storing transaction construction, the current block height and the current recovery parameter are both generated based on the block chain information synchronized at the client.
In an illustrated embodiment, the blockchain client may read contents of each parameter included in the current recovery parameter from a plurality of preset positions in the memory at regular time, and construct a deposit transaction based on each parameter of the read current recovery parameters. In another embodiment, the content of the current recovery parameter and the current block height are stored by the blockchain client, and the client may periodically obtain a storage snapshot including the current recovery parameter and the current block height based on a preset sending period, and construct the deposit transaction based on the storage snapshot.
In order to prevent other node devices on the blockchain from acquiring the plaintext of the current recovery parameter and recovering or decrypting the account balance plaintext of the blockchain user, at least part of the parameters of the recovery parameter are encrypted.
In a further illustrated embodiment, the account balance of the user account stored in the blockchain is encrypted by using a first encryption algorithm and using a random number as an encryption factor; when the plaintext of the account balance can be reversely calculated based on the first encryption algorithm and the random number on the premise of knowing the ciphertext of the account balance, the current recovery parameters may include a current random number corresponding to the encrypted account balance at the evidence deposit transaction construction time and an encrypted account balance of the block chain user at the evidence deposit transaction construction time; since the plaintext of the encrypted account balance can be reversely calculated based on the random number at that time and the encrypted account balance, in order to protect the privacy of the user account balance on the block chain, the client at least needs to encrypt the random number at that time.
For example, the client may encrypt the latest nonce based on a public key held by the client, or the client may encrypt the latest nonce based on a password key, and a specific encryption method is not limited in this embodiment.
In another embodiment, the account balance of the user account stored in the blockchain is encrypted by using a first encryption algorithm and using a random number as an encryption factor; when the plaintext of the account balance cannot be reversely calculated based on the first encryption algorithm and the random number on the premise of knowing the ciphertext of the account balance, the current recovery parameters may include a current random number corresponding to the encrypted account balance at the evidence deposit transaction construction time and a plaintext corresponding to the encrypted account balance of the block chain user at the evidence deposit transaction construction time; in order to protect the privacy of the user account balance on the blockchain, the nonce, and the plaintext of the encrypted account balance at the time of construction should be encrypted.
In this embodiment, a specific encryption manner of the client for the plaintext of the random number and the account balance included in the current recovery parameter is not limited, and the client may encrypt the plaintext of the random number and the account balance included in the current recovery parameter in the same encryption manner or in different encryption manners, which is not limited herein.
And 104, the node equipment of the block chain receives the deposit transaction and issues the deposit transaction to the block chain so that the block chain performs consensus processing on the deposit transaction.
The consensus algorithm supported in the block chain may include:
the first kind of consensus algorithm, namely the consensus algorithm that the node device needs to contend for the accounting right of each round of accounting period; consensus algorithms such as Proof of Work (POW), Proof of equity (POS), Proof of commission rights (DPOS), etc.;
the second kind of consensus algorithm, namely the consensus algorithm which elects accounting nodes in advance for each accounting period (without competing for accounting right); for example, a consensus algorithm such as a Practical Byzantine Fault Tolerance (PBFT) is used.
In a blockchain network employing a first type of consensus algorithm, node devices competing for billing rights can execute a transaction upon receipt. One of the node devices competing for the accounting right may win in the process of competing for the accounting right in the current round, and become an accounting node. The accounting node may package the received transaction with other transactions to generate a latest block and send the generated latest block or a block header of the latest block to other node devices for consensus.
In the block chain network adopting the second type of consensus algorithm, the node equipment with the accounting right is agreed before accounting in the current round. Thus, the node device, after receiving the transaction, may send the transaction to the accounting node if it is not the accounting node of its own round. For the accounting node of the current round, the transaction may be performed during or before packaging it with other transactions to generate the latest block. After generating the latest block, the accounting node may send the latest block or a block header of the latest block to other node devices for consensus.
As described above, regardless of which consensus algorithm is used by the blockchain, the accounting node of the current round may package the received transaction to generate the latest block and send the generated latest block or the block header of the latest block to other node devices for consensus verification. If the other node device receives the latest block or the block header of the latest block, and the verification shows that no problem exists, the latest block can be added to the tail of the original block chain, so that the accounting process of the block chain is completed. The transaction contained in the block may also be performed by other nodes in verifying the new block or block header sent by the accounting node.
And 106, when the evidence-storing transaction consensus passes, the node equipment stores the evidence-storing transaction to a distributed account book of the block chain, and correspondingly updates the current block height and the current recovery parameters in a state database of the block chain user.
The present embodiment is not limited to the storage location of the current block height and the current recovery parameter in the state database of the blockchain, and for example, the content of a blockchain user account (including an external account, a contract account, or the like) may be expanded to include the current block height and the current recovery parameter at the time of establishment of the deposit transaction.
When the certificate-storing transaction is passed, a notification message can be returned to the client; after the client issues the deposit transaction to the blockchain, the client can determine whether a notification message that the deposit transaction is commonly identified and passed is received, and after the notification message is received, the current blockheight and the current recovery parameter at the construction time are correspondingly updated to a user state database stored in the client.
When the client loses the plaintext of the locally stored current block chain account Balance or the recovery parameter of the plaintext of the current account Balance due to possible reasons, the user cannot acquire the plaintext of the current account Balance (Balance) in the own block chain account. At this time, the client may recover the plaintext of the current account Balance (Balance) in the user account stored in the block chain based on the latest current recovery parameter and the latest current block height corresponding to the latest construction time of the deposit transaction stored in the block chain state database, and the transfer transaction related to the user in the block chain block.
The specific process of recovery may include:
and 108, the blockchain client acquires the latest current recovery parameter and the latest current blockheight corresponding to the latest construction time of the evidence-storing transaction in the state database of the blockchain account.
The blockchain client can synchronously update the blockchain database, and obtain the latest current recovery parameter and the latest current blockchain height corresponding to the latest construction time of the evidence-saving transaction from the updated state database of the self account.
In step 110, the blockchain client decrypts at least part of the latest current recovery parameters, and obtains the plaintext of the encrypted account balance at the latest construction time based on the latest current recovery parameters obtained by decryption.
In an illustrated embodiment, the account balance of the user account stored in the blockchain is encrypted by using a first encryption algorithm and using a random number as an encryption factor, and the plaintext of the account balance can be reversely calculated based on the first encryption algorithm and the random number on the premise that the ciphertext of the account balance is known, where the latest current recovery parameter may include a latest current random number corresponding to the encrypted account balance at the latest construction time of the deposit transaction and an encrypted account balance of the blockchain user at the latest construction time of the deposit transaction, and the latest current random number is encrypted by using an algorithm known to the client.
For example, the client may encrypt the latest nonce based on a public key held by the client, and accordingly, the latest nonce obtained from the block chain should be decrypted based on a private key held by the client. Alternatively, the client may encrypt the latest nonce based on a password key, and accordingly, the latest nonce obtained from the block chain should be decrypted based on the password key.
After the latest random number at that time is obtained through decryption, the client may reversely calculate the plaintext of the account balance at the latest construction time of the deposit transaction, which corresponds to the encrypted account balance, based on the latest random number at that time and the encrypted account balance at the latest construction time of the deposit transaction.
In a further illustrated embodiment, the account balance of the user account stored in the blockchain is encrypted by using a first encryption algorithm and using a random number as an encryption factor; when the plaintext of the account balance cannot be reversely calculated based on the first encryption algorithm and the random number on the premise of knowing the ciphertext of the account balance, the latest current recovery parameter may include a latest current random number corresponding to the encrypted account balance at the latest construction time of the deposit transaction and a plaintext corresponding to the encrypted account balance of the block chain user at the latest construction time of the deposit transaction; in order to protect the privacy of the user account balance on the blockchain, the latest nonce, and the plaintext of the encrypted account balance at the latest construction time should both be encrypted. The client can obtain the plaintext of the latest current random number contained in the latest current recovery parameter and the account balance corresponding to the encrypted account balance at the latest construction time through decryption.
And step 112, based on the plaintext of the account balance corresponding to the encrypted account balance at the latest construction moment, starting from the latest current block height, and based on the transfer transaction related to the block chain user and stored in the block chain, recovering to obtain the plaintext of the current account balance of the block chain user.
In this embodiment, the client may recover the plaintext of the account balance of the block chain of the client user outside the chain from the latest current block height of the deposit transaction deposit certificate and the transfer transaction on the block after the latest current block height until the current block height of the block chain is tracked up, and obtain the plaintext of the current account balance of the client user; compared with the method for restoring the account balance, which starts from the initial value of the account balance and the creation block and performs return visit and calculation of the transfer transactions related to the user on all blocks, the method for restoring the account balance greatly reduces the processing time and the calculation amount.
Hereinafter, as shown in fig. 2, the present specification describes in detail the step of recovering the account balance of the blockchain user based on the method described in one or more embodiments above, by taking the example that the account balance of the blockchain is encrypted by using a homomorphic encryption algorithm.
In this embodiment, the block chain user a's on-chain account balance is encrypted using a homomorphic encryption algorithm:
PC(X,R)=G^X*H^R
wherein X is the plaintext amount of the balance, R is a random number, G and H are global public parameters of a homomorphic encryption algorithm, and PC is the balance ciphertext after homomorphic encryption. The client of the user A locally stores a balance plaintext X and a random number R corresponding to the account balance PC value.
As shown in fig. 2, the method for storing and recovering a balance of a blockchain according to this embodiment includes:
step 201, a user a client sends a deposit transaction to a node device of a blockchain based on a preset sending period, where the deposit transaction includes a current blockheight h of a blockchain synchronized with the user a client at the deposit transaction construction time, and a plurality of parameters which are locally stored by the client and can recover a plaintext of an encrypted account balance of a blockchain user at the deposit transaction construction time: the account balance is composed of a plaintext X of the account balance and a random number R at the time, and both the X and the R are encrypted.
In the homomorphic encryption algorithm used in the present embodiment, on the premise that PC and R are known, it is difficult to calculate X in reverse direction, so the recovery parameter for recovering the plaintext of the encrypted account balance may include the above X and R values; and obtaining a PC value through forward encryption calculation of X and R, verifying whether the obtained PC value is the same as the encrypted account balance in the user account on the chain, and verifying whether the plaintext X corresponds to the encrypted account balance in the user account on the chain, thereby recovering a correct plaintext X.
Step 202, the node device issues the certificate-storing transaction to the block chain, so that the block chain performs consensus processing on the certificate-storing transaction; and when the evidence-storing transaction consensus passes, storing the evidence-storing transaction into a distributed account book of the block chain, and correspondingly updating the block height h and the recovery parameters (X, R) at the time in a state database of the block chain user.
As the client continuously sends the credentialing transaction, the current block height h and the current recovery parameters (X, R) in the credentialing transaction are continuously updated in the state database of the blockchain user correspondingly. The client synchronizes the state database content of the client user to the client memory by synchronizing with the blockchain, and stores the plaintext X ' and the encrypted random number R ' corresponding to the encrypted account balance PC ' of the user account on the blockchain in the client local database (private database under the chain). At some time, the client may have system failure or hardware damage, and the plaintext X 'and the encrypted random number R' corresponding to the encrypted account balance PC 'of the user account in the blockchain, which are locally stored in the client, are lost, so that the client cannot know the account balance X' of the user account in the blockchain at the moment.
In order to recover the account balance X', the client may perform the following steps:
step 203, obtaining the latest construction time t of the evidence-storing transaction in the state database of the blockchain account0Corresponding latest then-current recovery parameter (X)0,R0) And the latest then-current block height h0
Step 204, decrypting X in the latest current recovery parameter0And R0To obtain a plaintext X of the encrypted account balance at the latest construction time0
Step 205, plaintext X based on the encrypted account balance at the latest build time0Starting from a block subsequent to the latest then-current block height, based onAnd recovering the plaintext of the current account balance of the blockchain user by the transfer transaction related to the blockchain user and stored in the blockchain:
at block height h0After the block(s) of (1) is recorded, the plaintext of the account balance of the user A of the block chain is X0And the corresponding encrypted random number is R0At this time: account balance PC0(X0,R0)=G^X0*H^R0
The height of each traversal block is h0And acquiring the transfer transactions related to the user A of the block chain one by one according to the transactions recorded in the subsequent blocks: transaction 1, transaction 2 … …, transaction N.
For example, transaction 1 is user A transferring x to user B 1In which the transfer amount x1Is also used with the same homomorphic encryption algorithm and is based on a random number r1Encryption was performed as an encryption factor: PC (personal computer)1(x1,r1)=G^x1*H^r1(ii) a At this point, the contents of transaction 1 recorded in the block may include [ user A address, user B address, encypt (x)1),encrypt(r1)]Wherein x is1And r1Encrypted using a key associated with the public key of user a.
The client decrypts encypt (x) using the key associated with user A's private key, respectively1)、encrypt(r1) To obtain the transfer amount x1And transfer random number r1And based on homomorphic characteristic of homomorphic encryption algorithm, obtaining cryptograph PC of account balance of user A after transaction 101Plaintext X01And a random number R01
PC01=PC0-PC1;X01=X0-x1;R01=R0-r1
Transaction 2 transfers x to user A for user C2In which the transfer amount x2Is also used with the same homomorphic encryption algorithm and is based on a random number r2Encryption was performed as an encryption factor: PC (personal computer)2(x2,r2)=G^x2*H^r2(ii) a At this point, the contents of transaction 2 recorded in the block may include [ user C address, user A address, encypt (x)2),encrypt(r2)]Wherein x is2And r2Encrypted using a key associated with the public key of user a.
The client decrypts encypt (x) using the key associated with user A's private key, respectively2)、encrypt(r2) To obtain the transfer amount x 2And transfer random number r2And based on homomorphic characteristic of homomorphic encryption algorithm, obtaining cryptograph PC of account balance of user A after transaction 212Plaintext X12And a random number R12
PC12=PC01+PC2;X12=X01+x2;R12=R01+r2
……
Until within the present block, obtaining a transfer transaction associated with user a, decrypting the encrypted transfer amount and transfer nonce within the transfer transaction associated with user a using a key associated with the private key of the blockchain user; and recovering the cryptograph, the plaintext and the corresponding random number of the current account balance of the block chain user based on the homomorphic characteristic of the homomorphic encryption algorithm: PC ', X ' and R '.
It should be noted that when the computing speed of the client cannot match the blocking speed of the blockchain, the X 'and R' of the client that finally recovers the current account balance of the blockchain user may not be the X 'and R' that the client has lost at first, but based on the account balance recovery method provided in the foregoing embodiment, the client may recover the plaintext X 'and the random number R' of the account balance that matches the current highest blockchain, and then update the locally stored recovery parameters thereof based on the plaintext X ', the random number R', and the transfer transaction that is continuously and newly included in the chain.
In correspondence with the above flow implementation, the embodiment of the present specification further provides a device 30 for crediting a block chain account balance and a device 40 for restoring a block chain account balance. The means 30 and 40 can be implemented by software, hardware or a combination of software and hardware. Taking a software implementation as an example, the logical device is formed by reading a corresponding computer program instruction into a memory for running through a Central Processing Unit (CPU) of the device. In terms of hardware, the device in which the apparatus is located generally includes other hardware such as a chip for transmitting and receiving wireless signals and/or other hardware such as a board for implementing a network communication function, in addition to the CPU, the memory, and the storage shown in fig. 5.
As shown in fig. 3, the present specification further provides an apparatus 30 for crediting a blockchain account balance, where account balances of user accounts stored in a blockchain are all encrypted by using a first encryption algorithm, and the apparatus 30 is applied to a node device of the blockchain, and includes:
a receiving unit 302, configured to receive a credit transaction sent by a blockchain user client based on a preset sending period; the credentialing transaction comprises a then-current tile height and then-current recovery parameters; the block height at the moment is the block height at the evidence deposit transaction construction moment, the current recovery parameters are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction moment, and at least part of the current recovery parameters are encrypted;
The issuing unit 304 is configured to issue the certificate-storing transaction to the blockchain, so that the blockchain performs consensus processing on the certificate-storing transaction;
the storage unit 306 is configured to store the evidence-saving transaction to the distributed ledger of the blockchain when the evidence-saving transaction consensus passes, and correspondingly update the current blockheight and the current recovery parameter in the state database of the blockchain user.
In yet another illustrated embodiment, the credentialing transaction is constructed based on a storage snapshot of the blockchain client, the storage snapshot including the then-current block height and then-current restore parameters.
In another illustrated embodiment, the account balances of the user accounts stored on the blockchain are each encrypted using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameter comprises a temporal random number corresponding to the encrypted account balance at the construction time, and the encrypted account balance of the blockchain user at the construction time of the deposit transaction; wherein the nonce is encrypted.
In yet another illustrated embodiment, the account balances of the user accounts stored in the blockchain are all encrypted by using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameters comprise a temporal random number corresponding to the encrypted account balance at the construction time, and a plaintext of the encrypted account balance of the blockchain user at the construction time of the deposit transaction; and encrypting the plaintext of the encrypted account balance at the time of construction and the random number at that time.
In yet another illustrated embodiment, the first encryption algorithm is a homomorphic encryption algorithm, and the nonce is an encrypted nonce corresponding to the encrypted account balance at the build time;
the transfer amount of the transfer transaction associated with the blockchain user is also encrypted using the homomorphic encryption algorithm based on a transfer amount nonce as an encryption factor, and the transfer amount nonce are encrypted with a key associated with the public key of the blockchain user.
The implementation process of the functions and actions of each unit in the device 30 is specifically described in the implementation process of the corresponding step in the method for storing and certifying the balance of a blockchain account executed by the blockchain link point device, and related points may be referred to the partial description of the method embodiment, and are not described again here.
As shown in fig. 4, the present specification further provides a device 40 for recovering a block chain account balance, where account balances of user accounts stored in a block chain are all encrypted by using a first encryption algorithm, and the device 40 is applied to a block chain user client, and includes:
a sending unit 402, configured to send a credit preservation transaction to a node device of a block chain based on a preset sending period, so that after the credit preservation transaction is identified in common, a current block height and a current recovery parameter included in the credit preservation transaction are updated in a state database of an account of the block chain correspondingly; the current block height is the block height of a block chain synchronized by the client at the evidence deposit transaction construction time, the current recovery parameters are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction time, and at least part of the current recovery parameters are encrypted;
An obtaining unit 404, configured to obtain a latest current recovery parameter and a latest current block height corresponding to a latest construction time of the evidence-storing transaction in a state database of the blockchain account;
a decryption and recovery unit 406 that decrypts at least part of the latest then-current recovery parameter, and obtains the plaintext of the encrypted account balance at the latest construction time based on the latest then-current recovery parameter obtained by decryption; and recovering the plaintext of the current account balance of the blockchain user based on the transfer transaction related to the blockchain user and stored on the blockchain, starting from the block after the latest current block height based on the plaintext of the encrypted account balance at the latest construction moment.
In yet another illustrated embodiment, the credentialing transaction is constructed based on a storage snapshot of the blockchain client, the storage snapshot including the then-current block height and then-current restore parameters.
In another illustrated embodiment, the account balances of the user accounts stored on the blockchain are each encrypted using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
The temporal recovery parameters include a temporal random number corresponding to the encrypted account balance at the time of the construction, and an encrypted account balance of the blockchain user at the time of construction of the credentialing transaction; wherein the nonce is encrypted.
In another illustrated embodiment, the account balances of the user accounts stored on the blockchain are each encrypted using a first encryption algorithm, including: the account balance of the user account stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameters comprise a temporal random number corresponding to the encrypted account balance at the construction time, and a plaintext of the encrypted account balance of the blockchain user at the construction time of the deposit transaction; and encrypting the plaintext of the encrypted account balance at the time of construction and the random number at that time.
In yet another illustrated embodiment, the first encryption algorithm is a homomorphic encryption algorithm, and the nonce is a nonce used when homomorphically encrypting the encrypted account balance at the build time;
The transfer amount of the transfer transaction related to the blockchain user is also encrypted by adopting the homomorphic encryption algorithm and based on a transfer amount random number as an encryption factor, and the transfer amount random number are encrypted by a secret key related to a public key of the blockchain user;
the decryption and recovery unit is further used for decrypting the transfer transactions related to the blockchain user one by using a secret key related to a private key of the blockchain user starting from a block after the latest current block height based on the plaintext of the encrypted account balance at the latest construction moment so as to obtain the transfer amount and the transfer amount random number of the transfer transactions one by one;
and recovering the plaintext of the account balance of the blockchain user corresponding to the transfer transaction one by one based on the transfer amount of the transfer transaction and the transfer amount random number until the plaintext of the current account balance of the blockchain user is recovered.
The implementation process of the function and the action of each unit in the device 40 is specifically described in the implementation process of the corresponding step in the method for recovering the balance of the blockchain account executed by the blockchain client, and related points may be referred to the partial description of the method embodiment, and are not described herein again.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the units or modules can be selected according to actual needs to achieve the purpose of the solution in the specification. One of ordinary skill in the art can understand and implement without inventive effort.
The apparatuses, units and modules described in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. A typical implementation device is a computer, which may take the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email messaging device, game console, tablet computer, wearable device, or a combination of any of these devices.
Corresponding to the above method embodiments, embodiments of the present specification also provide a computer device, as shown in fig. 5, including a memory and a processor. Wherein the memory has stored thereon a computer program executable by the processor; the processor executes the steps of the method for verifying the balance of the blockchain account executed by the node device in the embodiment of the present specification when running the stored computer program. For detailed descriptions of the steps of the method for storing a balance of a blockchain account executed by the node device, please refer to the previous contents, and the detailed descriptions are not repeated.
Corresponding to the method embodiment, the embodiment of the present specification further provides a computer device, as shown in fig. 5, including a memory and a processor. Wherein the memory has stored thereon a computer program executable by the processor; when the processor runs the stored computer program, the processor executes each step of the method for restoring a block chain account balance executed by the block chain client in the embodiment of the present specification. For detailed descriptions of the steps of the method for recovering a blockchain account balance executed by the blockchain client, please refer to the previous contents, and they are not repeated.
The above description is only for the purpose of illustrating the preferred embodiments of the present disclosure and should not be taken as limiting the present disclosure, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present disclosure should be included in the scope of the present disclosure.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both permanent and non-permanent, removable and non-removable media, may implement the information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data.
Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium, such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.

Claims (22)

1. A method for storing account balances of blockchain accounts is characterized in that account balances of blockchain users stored in a blockchain are encrypted by adopting a first encryption algorithm, and the method comprises the following steps:
the node equipment of the block chain receives a deposit transaction sent by a user client of the block chain based on a preset sending period; the credentialing transaction comprises a then-current tile height and then-current recovery parameters; the block height at the moment is the block height at the evidence deposit transaction construction moment, the current recovery parameters are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction moment, and at least part of the current recovery parameters are encrypted;
Issuing the evidence storing transaction to the block chain so that the block chain performs consensus processing on the evidence storing transaction;
and when the evidence-storing transaction consensus passes, the node equipment stores the evidence-storing transaction into a distributed account book of the block chain, and correspondingly updates the block height and the recovery parameter at the time in a state database of the block chain user.
2. The method of claim 1, the credentialing transaction is constructed based on a storage snapshot of the blockchain client, the storage snapshot including the then-current block height and then-current restore parameters.
3. The method according to claim 1 or 2, wherein the account balances of the status database of the blockchain users stored in the blockchain are encrypted by using a first encryption algorithm, and the method comprises the following steps: the account balance of the state database of the blockchain user stored in the blockchain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameter comprises a temporal random number corresponding to the encrypted account balance at the construction time, and the encrypted account balance of the blockchain user at the construction time of the deposit transaction; wherein the nonce is encrypted.
4. The method according to claim 1 or 2, wherein the account balances of the status database of the blockchain users stored in the blockchain are encrypted by using a first encryption algorithm, and the method comprises the following steps: the account balance of the state database of the blockchain user stored in the blockchain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameters comprise a temporal random number corresponding to the encrypted account balance at the construction time, and a plaintext of the encrypted account balance of the blockchain user at the construction time of the deposit transaction; and encrypting the plaintext of the encrypted account balance at the time of construction and the random number at that time.
5. The method of claim 4, the first encryption algorithm being a homomorphic encryption algorithm, the nonce being an encrypted nonce corresponding to the encrypted account balance at the build time;
the transfer amount of the transfer transaction associated with the blockchain user is also encrypted using the homomorphic encryption algorithm based on a transfer amount nonce as an encryption factor, and the transfer amount nonce are encrypted with a key associated with the public key of the blockchain user.
6. A method for recovering account balances of blockchain users, wherein the account balances of a state database of the blockchain users stored in a blockchain are encrypted by adopting a first encryption algorithm, and the method comprises the following steps:
a block chain user client sends a deposit transaction to node equipment of a block chain based on a preset sending period, so that after the deposit transaction is identified, the current block height and the current recovery parameter included in the deposit transaction are correspondingly updated in a state database of a block chain user; the block height at the time is the block height of a block chain synchronized by the client at the evidence deposit transaction construction time, the current recovery parameters are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction time, and at least part of the current recovery parameters are encrypted;
acquiring the latest current recovery parameter and the latest current block height corresponding to the latest construction time of the evidence storing transaction in a state database of the block chain user;
decrypting at least part of the latest current recovery parameters, and obtaining the plaintext of the encrypted account balance at the latest construction moment based on the latest current recovery parameters obtained by decryption;
And recovering the plaintext of the current account balance of the blockchain user based on the transfer transaction related to the blockchain user and stored on the blockchain, starting from the block after the latest current block height based on the plaintext of the encrypted account balance at the latest construction moment.
7. The method of claim 6, the credentialing transaction being constructed based on a stored snapshot of the blockchain client, the stored snapshot including the then-current block height and then-current restore parameters.
8. The method according to claim 6 or 7, wherein the account balances of the status databases of the blockchain users stored in the blockchain are encrypted by using a first encryption algorithm, and the method comprises the following steps: the account balance of the state database of the block chain user stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameter comprises a temporal random number corresponding to the encrypted account balance at the construction time, and the encrypted account balance of the blockchain user at the construction time of the deposit transaction; wherein the nonce is encrypted.
9. The method according to claim 6 or 7, wherein account balances of the status databases of the blockchain users stored on the blockchain are all encrypted by adopting a first encryption algorithm, and the method comprises the following steps: the account balance of the state database of the blockchain user stored in the blockchain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameters comprise a temporal random number corresponding to the encrypted account balance at the construction time, and a plaintext of the encrypted account balance of the blockchain user at the construction time of the deposit transaction; and encrypting the plaintext of the random number at the time and the account balance at the construction moment.
10. The method of claim 9, the first encryption algorithm being a homomorphic encryption algorithm, the nonce being a nonce used when homomorphically encrypting the encrypted account balance at the build time;
the transfer amount of the transfer transaction related to the blockchain user is also encrypted by adopting the homomorphic encryption algorithm and based on a transfer amount random number as an encryption factor, and the transfer amount random number are encrypted by a secret key related to a public key of the blockchain user;
The recovering the plaintext of the current account balance of the blockchain user based on the encrypted account balance at the latest construction moment, starting from the latest current blockchain height, and based on the transfer transaction related to the blockchain user stored on the blockchain, comprises:
based on the plaintext of the encrypted account balance at the latest construction time, starting from a block after the latest current block height, decrypting transfer transactions related to the block chain user one by one using a secret key related to a private key of the block chain user to obtain transfer amount and transfer amount random number of the transfer transactions one by one;
and recovering the plaintext of the account balance of the blockchain user corresponding to the transfer transaction one by one based on the transfer amount of the transfer transaction and the transfer amount random number until the plaintext of the current account balance of the blockchain user is recovered.
11. A device for storing evidence of account balances of blockchain, wherein the account balances of a state database of blockchain users stored on the blockchain are encrypted by adopting a first encryption algorithm, and the device is applied to node equipment of the blockchain and comprises:
The receiving unit is used for receiving the evidence storage transaction sent by the user client of the block chain based on a preset sending period; the credentialing transaction comprises a then-current tile height and then-current recovery parameters; the block height at the moment is the block height at the evidence deposit transaction construction moment, the current recovery parameters are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction moment, and at least part of the current recovery parameters are encrypted;
the issuing unit is used for issuing the deposit certificate transaction to the block chain so as to enable the block chain to carry out consensus processing on the deposit certificate transaction;
and the storage unit is used for storing the evidence-storing transaction into a distributed account book of the block chain when the evidence-storing transaction is passed through, and correspondingly updating the block height and the recovery parameter at the time in a state database of the block chain user.
12. The device of claim 11, the credentialing transaction is constructed based on a stored snapshot of the blockchain client, the stored snapshot including the then-current block height and then-current restore parameters.
13. The apparatus according to claim 11 or 12, wherein account balances of status databases of users of the blockchain stored on the blockchain are all encrypted by a first encryption algorithm, including: the account balance of the state database of the block chain user stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameters include a temporal random number corresponding to the encrypted account balance at the time of the construction, and an encrypted account balance of the blockchain user at the time of construction of the credentialing transaction; wherein the nonce is encrypted.
14. The apparatus according to claim 11 or 12, wherein account balances of the status database of the blockchain users stored in the blockchain are encrypted by using a first encryption algorithm, and the method comprises: the account balance of the state database of the block chain user stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameters comprise a temporal random number corresponding to the encrypted account balance at the construction time, and a plaintext of the encrypted account balance of the blockchain user at the construction time of the deposit transaction; and encrypting the plaintext of the encrypted account balance at the current random number and the construction time.
15. The apparatus of claim 14, the first encryption algorithm being a homomorphic encryption algorithm, the nonce being an encrypted nonce corresponding to the encrypted account balance at the build time;
the transfer amount of the transfer transaction related to the blockchain user is also encrypted by adopting the homomorphic encryption algorithm and based on a transfer amount random number as an encryption factor, and the transfer amount random number are encrypted by a secret key related to a public key of the blockchain user.
16. A device for recovering account balances of blockchain users, wherein the account balances of a state database of the blockchain users stored in a blockchain are encrypted by adopting a first encryption algorithm, and the device is applied to a blockchain user client, and comprises:
the system comprises a sending unit, a state database and a block chain user database, wherein the sending unit is used for sending a deposit transaction to node equipment of a block chain based on a preset sending period so as to correspondingly update the block height and the recovery parameter of the block chain user at the time included in the deposit transaction in the state database after the deposit transaction is identified; the block height at the time is the block height of a block chain synchronized by the client at the evidence deposit transaction construction time, the current recovery parameters are a plurality of parameters which are locally stored by the client and can recover the plaintext of the encrypted account balance of the block chain user at the evidence deposit transaction construction time, and at least part of the current recovery parameters are encrypted;
The acquisition unit is used for acquiring the latest current recovery parameter and the latest current block height corresponding to the latest construction time of the evidence storage transaction in the state database of the block chain user;
the decryption and recovery unit is used for decrypting at least part of parameters of the latest current recovery parameters and obtaining the plaintext of the encrypted account balance at the latest construction moment based on the latest current recovery parameters obtained by decryption; and recovering the plaintext of the current account balance of the blockchain user based on the transfer transaction related to the blockchain user and stored on the blockchain, starting from the block after the latest current block height based on the plaintext of the encrypted account balance at the latest construction moment.
17. The device of claim 16, the credentialing transaction is constructed based on a stored snapshot of the blockchain client, the stored snapshot including the then-current block height and then-current restore parameters.
18. The apparatus according to claim 16 or 17, wherein account balances of status databases of users of the blockchain stored on the blockchain are all encrypted by a first encryption algorithm, including: the account balance of the state database of the blockchain user stored in the blockchain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
The temporal recovery parameters include a temporal random number corresponding to the encrypted account balance at the time of the construction, and an encrypted account balance of the blockchain user at the time of construction of the credentialing transaction; wherein the nonce is encrypted.
19. The apparatus according to claim 16 or 17, wherein account balances of status databases of users of the blockchain stored on the blockchain are all encrypted by a first encryption algorithm, including: the account balance of the state database of the block chain user stored in the block chain is encrypted by adopting a first encryption algorithm and taking a random number as an encryption factor;
the temporal recovery parameters comprise a temporal random number corresponding to the encrypted account balance at the construction time, and a plaintext of the encrypted account balance of the blockchain user at the construction time of the deposit transaction; and encrypting the plaintext of the encrypted account balance at the time of construction and the random number at that time.
20. The apparatus of claim 19, the first encryption algorithm being a homomorphic encryption algorithm, the nonce being a nonce used when homomorphically encrypting the encrypted account balance at the build time;
The transfer amount of the transfer transaction related to the block chain user is encrypted by adopting the homomorphic encryption algorithm and based on a transfer amount random number as an encryption factor, and the transfer amount random number are encrypted by a secret key related to a public key of the block chain user;
the decryption and recovery unit is further used for decrypting the transfer transactions related to the blockchain user one by using a secret key related to a private key of the blockchain user starting from a block after the latest current block height based on the plaintext of the encrypted account balance at the latest construction moment so as to obtain the transfer amount and the transfer amount random number of the transfer transactions one by one;
and recovering the plaintext of the account balance of the blockchain user corresponding to the transfer transaction one by one based on the transfer amount of the transfer transaction and the transfer amount random number until the plaintext of the current account balance of the blockchain user is recovered.
21. A computer device, comprising: a memory and a processor; the memory having stored thereon a computer program executable by the processor; the processor, when executing the computer program, performs the method of any of claims 1 to 5.
22. A computer device, comprising: a memory and a processor; the memory having stored thereon a computer program executable by the processor; the processor, when executing the computer program, performs the method of any of claims 6 to 10.
CN202010865214.0A 2020-04-02 2020-04-02 Block chain account balance deposit certificate and recovery method and device Active CN112001731B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010865214.0A CN112001731B (en) 2020-04-02 2020-04-02 Block chain account balance deposit certificate and recovery method and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010865214.0A CN112001731B (en) 2020-04-02 2020-04-02 Block chain account balance deposit certificate and recovery method and device
CN202010254885.3A CN111160913B (en) 2020-04-02 2020-04-02 Block chain account balance deposit certificate and recovery method and device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202010254885.3A Division CN111160913B (en) 2020-04-02 2020-04-02 Block chain account balance deposit certificate and recovery method and device

Publications (2)

Publication Number Publication Date
CN112001731A CN112001731A (en) 2020-11-27
CN112001731B true CN112001731B (en) 2022-05-24

Family

ID=70567707

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010865214.0A Active CN112001731B (en) 2020-04-02 2020-04-02 Block chain account balance deposit certificate and recovery method and device
CN202010254885.3A Active CN111160913B (en) 2020-04-02 2020-04-02 Block chain account balance deposit certificate and recovery method and device

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010254885.3A Active CN111160913B (en) 2020-04-02 2020-04-02 Block chain account balance deposit certificate and recovery method and device

Country Status (2)

Country Link
CN (2) CN112001731B (en)
WO (1) WO2021197092A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001731B (en) * 2020-04-02 2022-05-24 支付宝(杭州)信息技术有限公司 Block chain account balance deposit certificate and recovery method and device
CN111723149A (en) * 2020-05-18 2020-09-29 天津大学 Block chain storage optimization system and method based on remainder system
CN111651300B (en) * 2020-06-05 2023-03-21 成都质数斯达克科技有限公司 Block chain data recovery method, device, equipment and medium
CN111768180B (en) * 2020-06-24 2022-05-24 江苏荣泽信息科技股份有限公司 Block chain account balance deposit certificate and recovery method
CN112948350B (en) * 2021-02-02 2023-08-01 中央财经大学 Distributed ledger model cold data archiving and migration storage method based on MPT verification
CN113095828B (en) * 2021-04-27 2023-09-01 支付宝(杭州)信息技术有限公司 Data storage method and device based on blockchain
CN114338676A (en) * 2021-12-31 2022-04-12 支付宝(杭州)信息技术有限公司 Block synchronization method and device, electronic equipment and storage medium
CN114362961B (en) * 2022-01-04 2024-03-19 北京众享比特科技有限公司 Block chain-based account recovery method, device, equipment and storage medium
CN114978547B (en) * 2022-05-23 2023-11-24 丰猫网络技术(深圳)有限公司 Under-chain transaction method, device and equipment based on blockchain network

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549749A (en) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 A kind of block chain method for secret protection encrypted based on additive homomorphism
CN107395360A (en) * 2017-07-23 2017-11-24 刘志强 The method that a kind of historical relic and art work numeral based on block chain technology deposit card
CN108550037A (en) * 2018-04-11 2018-09-18 北京知金链网络技术有限公司 Document handling method based on block chain and device
CN110073633A (en) * 2018-11-07 2019-07-30 阿里巴巴集团控股有限公司 Use the block chain data protection of homomorphic cryptography
CN110264193A (en) * 2019-05-20 2019-09-20 阿里巴巴集团控股有限公司 In conjunction with the receipt storage method and node of user type and type of transaction
CN110400142A (en) * 2018-06-01 2019-11-01 腾讯科技(深圳)有限公司 Data processing method, device and storage medium
CN110866265A (en) * 2019-11-19 2020-03-06 腾讯科技(深圳)有限公司 Data storage method, device and storage medium based on block chain

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10832247B2 (en) * 2016-09-15 2020-11-10 American Express Travel Related Services Company, Inc. Systems and methods for blockchain based payment networks
CN108229943B (en) * 2018-01-19 2020-05-05 阿里巴巴集团控股有限公司 Block chain balance adjusting method and device and electronic equipment
EP3522064B1 (en) * 2018-02-02 2021-12-22 Università Degli Studi Di Trento A method and apparatus for distributed, privacy-preserving and integrity-preserving exchange, inventory and order book
CN109120714B (en) * 2018-09-21 2021-07-09 深圳市九洲电器有限公司 Security data recovery method and system, and node server
CN113438068B (en) * 2019-05-31 2024-01-09 创新先进技术有限公司 Method and device for realizing dynamic encryption based on block height
CN110471795B (en) * 2019-07-31 2020-10-02 阿里巴巴集团控股有限公司 Block chain state data recovery method and device and electronic equipment
CN112001731B (en) * 2020-04-02 2022-05-24 支付宝(杭州)信息技术有限公司 Block chain account balance deposit certificate and recovery method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549749A (en) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 A kind of block chain method for secret protection encrypted based on additive homomorphism
CN107395360A (en) * 2017-07-23 2017-11-24 刘志强 The method that a kind of historical relic and art work numeral based on block chain technology deposit card
CN108550037A (en) * 2018-04-11 2018-09-18 北京知金链网络技术有限公司 Document handling method based on block chain and device
CN110400142A (en) * 2018-06-01 2019-11-01 腾讯科技(深圳)有限公司 Data processing method, device and storage medium
CN110073633A (en) * 2018-11-07 2019-07-30 阿里巴巴集团控股有限公司 Use the block chain data protection of homomorphic cryptography
CN110264193A (en) * 2019-05-20 2019-09-20 阿里巴巴集团控股有限公司 In conjunction with the receipt storage method and node of user type and type of transaction
CN110866265A (en) * 2019-11-19 2020-03-06 腾讯科技(深圳)有限公司 Data storage method, device and storage medium based on block chain

Also Published As

Publication number Publication date
CN111160913A (en) 2020-05-15
CN111160913B (en) 2020-07-17
WO2021197092A1 (en) 2021-10-07
CN112001731A (en) 2020-11-27

Similar Documents

Publication Publication Date Title
CN112001731B (en) Block chain account balance deposit certificate and recovery method and device
CN109359974B (en) Block chain transaction method and device and electronic equipment
JP6811317B2 (en) Restoration of encrypted transaction information within a blockchain sensitive transaction
US20230070963A1 (en) Blockchain-implemented method for control and distribution of digital content
CN109756582B (en) Information recording method, device, node and storage medium in block chain network
JP6389350B2 (en) Transaction processing apparatus, transaction processing method, and program therefor
WO2021135757A1 (en) Method and apparatus for executing transaction correctness verification
EP3813292A1 (en) Blockchain-based service data encryption method and apparatus
CN109510818B (en) Data transmission system, method, device, equipment and storage medium of block chain
CN110771094A (en) Computer-implemented system and method for time released encryption over a blockchain network
US11386426B2 (en) Invoice invalidation method and apparatus based on blockchain, and electronic device
US11496327B1 (en) Secure and trustworthy bridge for transferring assets across different networks
CN112669147B (en) Service request method and device based on block chain
CN112751673A (en) Supervision-capable data privacy sharing method based on end side cloud cooperation
US20200145194A1 (en) Blockchain infrastructure solutions
US11836714B2 (en) Secure and trustworthy bridge for transferring assets across networks with different data architecture
CN109241754A (en) A kind of cloud file data de-duplication method based on block chain
KR102627868B1 (en) Method and system for authenticating data generated in blockchain
US11893577B2 (en) Cryptographic key storage system and method
CN111162970B (en) Method and device for testing decentralized application server in block chain system
WO2024045552A1 (en) Data processing method and related devices
Sathya et al. Bitcoin: A P2P Digital Currency
CN116248283A (en) Multiple signature method, multiple signature verification method and device of block chain platform
Li et al. Secure, Efficient, and Privacy-Protecting One-to-Many Cross-Chain Shared Data Consistency Audit

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40041122

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240220

Address after: Room 1408, No. 447 Nanquan North Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, 200120

Patentee after: Shanghai Ant Chuangjiang Information Technology Co.,Ltd.

Country or region after: China

Address before: 310000 801-11 section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee before: Alipay (Hangzhou) Information Technology Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right