WO2021197091A1 - 区块链交易处理方法及装置和区块链节点 - Google Patents

区块链交易处理方法及装置和区块链节点 Download PDF

Info

Publication number
WO2021197091A1
WO2021197091A1 PCT/CN2021/081713 CN2021081713W WO2021197091A1 WO 2021197091 A1 WO2021197091 A1 WO 2021197091A1 CN 2021081713 W CN2021081713 W CN 2021081713W WO 2021197091 A1 WO2021197091 A1 WO 2021197091A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction data
encrypted
execution
private
blockchain
Prior art date
Application number
PCT/CN2021/081713
Other languages
English (en)
French (fr)
Inventor
李康
夏凝
杨达一
Original Assignee
支付宝(杭州)信息技术有限公司
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 支付宝(杭州)信息技术有限公司 filed Critical 支付宝(杭州)信息技术有限公司
Publication of WO2021197091A1 publication Critical patent/WO2021197091A1/zh

Links

Images

Classifications

    • 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/602Providing cryptographic facilities or services
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present disclosure relates to the field of blockchain technology, in particular, to blockchain transaction processing methods and devices and blockchain nodes.
  • a legal transaction in a blockchain system usually includes the initiator, receiver, and transaction details.
  • each participant i.e. blockchain node
  • each participant maintains a common ledger and can view and verify the transaction data of other participants, so as to avoid transaction fraud such as "double spending".
  • transaction fraud such as "double spending”.
  • all participants can obtain transaction data, which opens the door to the privacy of blockchain users. Therefore, the prior art requires a solution that can avoid leakage of user privacy.
  • the present disclosure provides a blockchain transaction processing method and device and a blockchain node.
  • the private transaction data is encrypted by using the encryption key agreed in the corresponding execution block chain node grouping, and then the encrypted private transaction data is sent to the block chain network for consensus, enabling private transactions
  • the data can only be known by the blockchain nodes trusted by the client, which can greatly reduce the risk of privacy leakage.
  • a blockchain transaction processing method which includes: when receiving private transaction data sent by a client, using an encryption key agreed upon in the corresponding execution block chain node grouping to perform the encryption on the privacy
  • the transaction data is encrypted to generate encrypted private transaction data; and the encrypted private transaction data is sent to each consensus blockchain node in the blockchain network to perform consensus processing on the private transaction data.
  • each execution block chain node in the execution block chain node group is designated to participate in the execution of the privacy transaction data.
  • encrypting the private transaction data with an encryption key agreed in the corresponding execution block chain node group to generate encrypted private transaction data may include: using each execution in the execution block chain node group The public key of the blockchain node encrypts the private transaction data to generate encrypted private transaction data.
  • the encrypted private transaction data enables the respective execution blockchain nodes to use their own private keys to decrypt to obtain the private transaction data.
  • encrypting the private transaction data by using the public key of each execution blockchain node in the execution block chain node group to generate encrypted private transaction data may include: using each execution block The public key of the chain node performs asymmetric encryption on the symmetric key; uses the symmetric key to perform symmetric encryption on the private transaction data; and generates based on the asymmetrically encrypted symmetric key and the symmetrically encrypted private transaction data The encrypted privacy transaction data.
  • the private transaction data may have an execution block chain node group identifier, and before the private transaction data is encrypted with the public key corresponding to each execution block chain node in the execution block chain node group, The method may further include: obtaining the execution block chain node grouping based on the execution block chain node group identification.
  • the consensus blockchain node may include each execution blockchain node in the execution blockchain node group and those in the blockchain network that are not designated to participate in the execution of the privacy transaction. At least one blockchain node.
  • the encrypted privacy transaction data may have a corresponding execution block chain node group identification.
  • a blockchain transaction processing method including: when receiving encrypted private transaction data, performing consensus processing on the encrypted private transaction data; after the encrypted private data has passed the consensus , Decrypt the encrypted private transaction data using the decryption key agreed in the corresponding execution block chain node group; and when the decryption is successful, perform execution processing on the decrypted private transaction data.
  • the encrypted privacy transaction data is encrypted using an encryption key agreed upon in the group of execution blockchain nodes.
  • the encrypted private transaction data is encrypted using the public key of each executing blockchain node in the executing blockchain node group, and the encrypted private transaction data is performed using an agreed decryption key.
  • the decryption may include: decrypting the encrypted private transaction data by using the private key of the corresponding blockchain node.
  • the encrypted private transaction data includes private transaction data that uses a symmetric key to perform symmetric encryption and a symmetric key that uses a public key of a corresponding blockchain node to perform asymmetric encryption.
  • Using the private key of the corresponding blockchain node to decrypt the encrypted private transaction data may include: using the private key of the corresponding blockchain node to perform asymmetric decryption on the asymmetrically encrypted symmetric key to obtain the symmetric secret. Key; when the symmetric key is obtained by decryption, the symmetric key is used to symmetrically decrypt the symmetrically encrypted private transaction data to obtain the private transaction data.
  • the encrypted private transaction data may have a timestamp that identifies the generation time of the corresponding private transaction data.
  • the method may further include: after the encrypted private data has passed a consensus, based on the timestamp, The encrypted privacy transaction data generates a main chain block and stores it in the main chain.
  • the main chain stores all transaction data that have passed consensus in the blockchain network.
  • Using the decryption key agreed in the corresponding execution block chain node group to decrypt the encrypted private transaction data may include: when the main chain block is generated on the main chain, using the agreed execution block chain node group The decryption key decrypts the encrypted private transaction data in the main chain block.
  • the encrypted privacy transaction data has an execution block chain node group identification, and when the main chain block is generated on the main chain, the key agreed in the corresponding execution block chain node group is used for the main chain area.
  • Decrypting the encrypted privacy transaction data in the block can include: when the main chain block is generated on the main chain, if there is encrypted privacy transaction data in the main chain block, and based on the encrypted privacy existing in the main chain block.
  • the execution block chain node grouping identification of the transaction data determines that there is encrypted private transaction data that the local blockchain node participates in execution in the main chain block, and then the encrypted private transaction data is decrypted using the agreed key.
  • the method may further include: after the execution processing, generating the private transaction data and the corresponding execution result into a private chain block, and storing it in the private chain of the corresponding blockchain node, the The private chain stores the private transaction data and the corresponding execution results in which the corresponding blockchain node participates in the execution.
  • the method may further include: when a main chain block is generated on the main chain and there is no encrypted privacy transaction data executed by the corresponding blockchain node in the main chain block, in the corresponding block An empty block corresponding to the main chain block is stored in the private chain of the chain node.
  • a block chain transaction processing device including: a transaction data encryption unit configured to use the corresponding execution block chain node group when receiving the private transaction data sent by the client The agreed encryption key encrypts the private transaction data to generate encrypted private transaction data; and the transaction data sending unit is configured to send the encrypted private transaction data to each consensus blockchain in the blockchain network Nodes to perform consensus processing on the privacy transaction data.
  • each execution block chain node in the execution block chain node group is designated to participate in the execution of the privacy transaction data.
  • the transaction data encryption unit may be configured to encrypt the private transaction data by using the public key of each execution blockchain node in the execution blockchain node group to generate an encrypted private transaction data.
  • the encrypted private transaction data enables the respective execution blockchain nodes to use their own private keys to decrypt to obtain the private transaction data.
  • the transaction data encryption unit may include: a symmetric key encryption module configured to perform asymmetric encryption on the symmetric key using the public key of each execution blockchain node; and the transaction data encryption module Configured to use the symmetric key to perform symmetric encryption on the private transaction data; and an encrypted data generation module configured to generate the encrypted privacy based on the asymmetrically encrypted symmetric key and the symmetrically encrypted private transaction data Transaction data.
  • the device may further include: a node grouping acquisition unit configured to have an execution block chain node group identifier for the private transaction data, and use each execution block chain in the corresponding execution block chain node group Before the node's public key encrypts the private transaction data, the execution block chain node group is obtained based on the execution block chain node group identification.
  • a node grouping acquisition unit configured to have an execution block chain node group identifier for the private transaction data, and use each execution block chain in the corresponding execution block chain node group Before the node's public key encrypts the private transaction data, the execution block chain node group is obtained based on the execution block chain node group identification.
  • the consensus blockchain node may include each execution blockchain node in the execution blockchain node group and those in the blockchain network that are not designated to participate in the execution of the privacy transaction. At least one blockchain node.
  • a block chain transaction processing device including: a transaction data consensus unit configured to perform consensus processing on the encrypted private transaction data when the encrypted private transaction data is received; and the transaction;
  • the data decryption unit is configured to decrypt the encrypted private transaction data using the decryption key agreed in the corresponding execution block chain node group after the encrypted private data has passed the consensus; and the transaction data execution unit is configured to When the decryption is successful, the decrypted private transaction data is executed.
  • the encrypted privacy transaction data is encrypted using an encryption key agreed upon in the group of execution blockchain nodes.
  • the encrypted private transaction data may be encrypted using the public key of each execution blockchain node in the execution blockchain node group, and the transaction data decryption unit may be configured to: use the corresponding The private key of the blockchain node decrypts the encrypted private transaction data.
  • the encrypted private transaction data may include private transaction data that is symmetrically encrypted using a symmetric key and a symmetric key that uses the public key of the corresponding blockchain node to perform asymmetric encryption
  • the transaction data decryption unit may It includes: a symmetric key decryption module configured to use the private key of the corresponding blockchain node to perform asymmetric decryption on the asymmetrically encrypted symmetric key to obtain the symmetric key; and a transaction data decryption module configured to When the symmetric key is obtained by decryption, the symmetric key is used to symmetrically decrypt the symmetrically encrypted private transaction data to obtain the private transaction data.
  • the encrypted private transaction data may have a timestamp that identifies the generation time of the corresponding private transaction data
  • the device may further include: a main chain on-chain unit configured to after the encrypted private data passes a consensus Before decrypting the encrypted private transaction data with the decryption key agreed in the corresponding execution block chain node group, based on the timestamp, the encrypted private transaction data is generated into a main chain block and stored in the main chain In the main chain, all consensus transaction data in the blockchain network is stored in the main chain.
  • the transaction data decryption unit is configured to: when the main chain block is generated on the main chain, the decryption key agreed in the corresponding execution block chain node group is used to perform the encrypted privacy transaction data in the main chain block. Decrypted.
  • the encrypted privacy transaction data may have an execution block chain node group identification
  • the transaction data decryption unit may be configured to: when the main chain block is generated on the main chain, if the main chain area There is encrypted privacy transaction data in the block, and based on the execution block chain node group identification of the encrypted privacy transaction data existing in the main chain block, it is determined that the corresponding block chain node participates in the execution of encrypted privacy in the main chain block.
  • the encrypted private transaction data is decrypted using the agreed key.
  • the device may further include: a private chain on-chain unit configured to generate a private chain block after the execution processing, the private transaction data and the corresponding execution result, and store it in the corresponding block
  • the private chain stores private transaction data and corresponding execution results that the corresponding blockchain node participates in execution.
  • the private chain on-chain unit can also be configured to: when a main chain block is generated on the main chain and there is no encrypted private transaction data in which the corresponding blockchain node participates in the execution of the main chain block. At the time, an empty block corresponding to the main chain block is stored in the private chain of the corresponding blockchain node.
  • a blockchain node including: the device provided in the foregoing third aspect; and the device provided in the foregoing fourth aspect.
  • a computing device including: at least one processor; and a memory that stores instructions, and when the instructions are executed by the at least one processor, the at least one The processor executes the method described in the foregoing first aspect.
  • a machine-readable storage medium which stores executable instructions, which when executed cause the machine to perform the method described in the first aspect.
  • a computing device including: at least one processor; and a memory that stores instructions, and when the instructions are executed by the at least one processor, the at least one The processor executes the method described in the second aspect.
  • a non-transitory machine-readable storage medium which stores executable instructions, which, when executed, cause the machine to perform the method described in the second aspect.
  • the private transaction data can be encrypted by using the encryption key agreed in the corresponding execution block chain node group, so that in the process of consensus and execution of the private transaction data, only the client Trusted blockchain nodes can learn the specific content of transaction data, thus greatly reducing the risk of leaking user privacy.
  • the private transaction data is encrypted using the public key of each execution blockchain node in the execution blockchain node group, so that the generated encrypted private transaction data can be
  • the private key decryption of each executing blockchain node can use the existing key in the blockchain system to realize the encryption of private transactions.
  • the symmetric key is encrypted with the public key of each executing blockchain node, and the symmetric key is used to symmetrically encrypt the hidden transaction data, so that each executing blockchain node receives
  • each private key can be used to decrypt to obtain private transaction data, thus providing a simple, easy, and highly secure encryption method.
  • the execution block chain node grouping specified by the client is obtained based on the execution block chain node group identification of the private transaction data, and the block chain node receiving the private transaction data participates in multiple different groups at the same time.
  • the private transaction data can be processed in the group specified by the client to improve the privacy safety factor.
  • the consensus blockchain nodes participating in the consensus on the private transaction data include the blockchain nodes other than the execution of the blockchain node grouping, other blockchains in the blockchain network can be used Nodes perform consensus processing to improve the security of consensus results.
  • the encrypted privacy transaction data sent to the blockchain network is assigned the corresponding execution block chain node group identification, so that the execution block chain node can determine the corresponding block chain node group identification based on the execution block chain node group identification.
  • the decryption operation is performed, which can save unnecessary decryption operations.
  • the private transaction data and the corresponding execution result are stored on their own private chain, so that even if each executing blockchain node participates in multiple groups , It is also possible to maintain only one private chain, which can reduce the maintenance cost of executing blockchain nodes.
  • FIG. 1 is an example block diagram of a blockchain system to which the blockchain transaction processing method of the present disclosure is applicable;
  • Fig. 2 is a flowchart of a blockchain transaction processing method according to an embodiment of the present disclosure
  • Fig. 3 is a flowchart of an encryption process in a blockchain transaction processing method according to an embodiment of the present disclosure
  • Fig. 4 is a flowchart of a decryption process in a blockchain transaction processing method according to an embodiment of the present disclosure
  • Fig. 5 is a flowchart of a blockchain transaction processing method according to an embodiment of the present disclosure
  • FIG. 6 is a flowchart of the blockchain on-chain process and execution process in the blockchain transaction processing method according to an embodiment of the present disclosure
  • FIG. 7 is a schematic diagram for explaining the main chain and the private chain involved in the embodiment of the present disclosure.
  • Fig. 8 is a block diagram of a block chain transaction processing device according to an embodiment of the present disclosure.
  • FIG. 9 is a block diagram of an example structure of a transaction data encryption unit in the blockchain transaction processing device shown in FIG. 8;
  • Fig. 10 is a block diagram of a block chain transaction processing device according to an embodiment of the present disclosure.
  • FIG. 11 is a block diagram of an example structure of a transaction data decryption unit in the blockchain transaction processing device shown in FIG. 10;
  • Fig. 12 is a structural block diagram of a blockchain transaction processing device according to an embodiment of the present disclosure.
  • FIG. 13 is a structural block diagram of a blockchain node according to an embodiment of the present disclosure.
  • Fig. 14 is a structural block diagram of a computing device for implementing a blockchain transaction processing method according to an embodiment of the present disclosure.
  • the term “including” and its variations mean open terms, meaning “including but not limited to”.
  • the term “based on” means “based at least in part on.”
  • the terms “one embodiment” and “an embodiment” mean “at least one embodiment.”
  • the term “another embodiment” means “at least one other embodiment.”
  • Other definitions can be included below, whether explicit or implicit. Unless clearly indicated in the context, the definition of a term is consistent throughout the specification.
  • FIG. 1 is an example block diagram of a blockchain system to which the blockchain transaction processing method of the present disclosure is applicable.
  • the blockchain system 100 there are blockchain nodes 102, 103, 104, 105, and 106.
  • the transaction data is sent to the blockchain node 102 communicating with it.
  • the transaction data is sent to the blockchain node 105 communicating with it.
  • the blockchain node 102 After the blockchain node 102 receives the transaction data, it can first verify the transaction data. When the verification is passed, the blockchain node 102 broadcasts the received transaction data to other blockchain nodes 103-106 in the blockchain system 100 to perform consensus processing on the transaction data.
  • Figure 1 is just an example of a blockchain system.
  • the blockchain system may include a transaction pool, which is used to store transactions initiated by the client 101 (or other clients in the blockchain system) data. Each node can read transaction data from the transaction pool, and perform verification, consensus and other processing.
  • the client 101 can also be connected to multiple blockchain nodes, so that transaction data can be sent to multiple blockchain nodes connected to it. The blockchain node that receives the transaction data can fight for the right to process the transaction data through a predetermined mechanism.
  • the processing of transaction data usually includes verification processing, consensus processing, execution processing, and blockchain on-chain processing.
  • verification processing consensus processing
  • execution processing execution processing
  • blockchain on-chain processing blockchain on-chain processing
  • the verification process means that when the blockchain node 102 receives the transaction data, it verifies the received transaction data.
  • the purpose of the verification process is to verify whether the transaction data is legal.
  • the verification process can be, for example, verifying whether the data structure of the transaction data meets the requirements of the corresponding blockchain system; whether the corresponding client has the ability to pay the transaction fee (such as verifying the customer End account balance); whether the corresponding transaction is a repeated transaction (ie "double spend"); verify whether the signature in the transaction data is legal; whether the size of the transaction data exceeds the maximum capacity of the block in the blockchain, etc.
  • the verification processing may include one or more of the verification processing operations listed above. In different blockchain systems (such as Bitcoin system, Ethereum system, etc.), the specific operations of the verification process may be different. The specific operations included in the verification process are not limited to those listed here.
  • the transaction data may not be processed further. If the verification result is legal, the corresponding transaction data enters the consensus processing process.
  • the verified transaction data can be broadcast to the blockchain nodes 103, 104, 105, and 106 in the blockchain system to reach a consensus on the transaction data deal with.
  • Consensus processing can implement consensus based on consensus mechanisms such as Proof of Work (PoW) and Practical Byzantine Algorithm (PBFT). If other blockchain nodes do not recognize the transaction data after performing a consensus operation on the transaction data, they may not make any response.
  • PoW Proof of Work
  • PBFT Practical Byzantine Algorithm
  • the execution processing can be performed by a virtual machine model (for example, the EVM in the Ethereum system).
  • the execution process can be the execution of a smart contract.
  • the execution processing of the transaction data can be, for example, deducting the cost of executing the corresponding transaction from the balance of the client that initiated the transaction, and increasing the nonce in the sender’s account by 1 for the current transaction; in order to gain access to the corresponding transaction area Block chain nodes issue rewards, etc.
  • the corresponding transaction may be a transfer transaction.
  • the corresponding money for example, a predetermined amount of Bitcoin, Ether, etc.
  • the specific content of the execution process can be different.
  • Blockchain on-chain processing means that when the execution processing is completed, the transaction data and the corresponding execution results are packaged into a block, and the block is saved on the blockchain.
  • the blockchain node that receives the transaction data sent from the client is called the transaction receiving blockchain node
  • Blockchain nodes are called consensus blockchain nodes.
  • the same blockchain node can be either a transaction receiving blockchain node or a consensus blockchain node.
  • the blockchain node 102 is a transaction receiving blockchain node
  • the blockchain nodes 103, 104, 105, and 106 are consensus blockchain nodes.
  • the blockchain node 105 is a transaction receiving blockchain node
  • the blockchain nodes 102, 103, 104, and 106 are consensus blockchain nodes.
  • Fig. 2 is a flowchart of a blockchain transaction processing method according to an embodiment of the present disclosure.
  • the client sends private transaction data to the transaction receiving blockchain node.
  • the transaction receiving blockchain node receives the private transaction data sent by the client, it encrypts the private transaction data with the encryption key agreed in the corresponding execution block chain node group to generate encrypted private transaction data.
  • the transaction initiated at the client may be a private transaction that needs to be kept secret, or it may be a non-private transaction that does not need to be kept secret. Therefore, the client can assign a privacy identifier to the private transaction data, and the transaction receiving blockchain node can determine whether the private transaction data is received according to whether the received transaction data has a privacy identifier.
  • the client can designate its trusted blockchain nodes as executing blockchain nodes participating in the execution of private transaction data, and these executing blockchain nodes form an executing blockchain node Grouping.
  • the client 101 may designate the blockchain nodes 103, 104, and 105 as its own execution blockchain nodes to form a group of execution blockchain nodes.
  • the client 101 can also specify different execution block chain node groups for different transactions. The same blockchain node can participate in an execution blockchain node grouping.
  • the same blockchain node may also participate in at least two execution blockchain node groupings (when the blockchain node is trusted by multiple clients).
  • the private transaction data sent by the client may have an execution block chain node group identifier to identify the designated group.
  • the transaction receiving blockchain node can obtain the corresponding execution blockchain node group according to the blockchain node group identifier of the private transaction data.
  • the group corresponding to each execution block chain node group identifier can be stored in the local memory of each block chain node.
  • the group corresponding to the group identification of each block chain node can be stored in a unified server.
  • the transaction receiving blockchain node may obtain the corresponding execution blockchain node group from the server based on the execution blockchain node group identification.
  • the blockchain system can be configured with a system grouping contract, and the mapping relationship between each group ID and group member is stored in the system grouping contract.
  • the grouping contract can provide functions such as registering grouping, adding group members, and canceling grouping.
  • the transaction client When the transaction client has a request for a private transaction, it can send a group contract call request through the SDK module to call the system group contract to register the group.
  • Each execution block chain group can be cancelled after processing a transaction.
  • the group of registered execution blockchain nodes can also be used to process subsequent transactions.
  • the encryption key agreed in the execution block chain node group can be used to encrypt the private transaction data.
  • the encryption key agreed upon by each group can be stored locally on the transaction receiving blockchain node.
  • the encrypted privacy transaction data thus generated can be decrypted by each executing blockchain node in the corresponding executing blockchain node group using the agreed decryption key.
  • the transaction receiving blockchain node After generating the encrypted private transaction data, at 206, the transaction receiving blockchain node sends the encrypted private transaction data to each consensus blockchain node in the blockchain network. Then nodes in the consensus blockchain will participate in the consensus on encrypted private transaction data.
  • the consensus blockchain node may only include each execution blockchain node in the corresponding execution blockchain node group.
  • the consensus blockchain node may also include blockchain nodes that are not designated to participate in the execution of corresponding private transaction data.
  • all blockchain nodes in the blockchain network can participate in consensus on private transaction data.
  • other blockchain nodes will not know the specific content of the transaction data, and use the blockchain nodes that are not designated to participate in the execution for consensus processing, which can improve the consensus result The safety and accuracy.
  • the consensus blockchain node When receiving encrypted private transaction data, at 208, the consensus blockchain node performs consensus processing on the received encrypted private transaction data, and at 210, it is judged whether the encrypted private transaction data has passed the consensus. If the consensus is not passed, the consensus blockchain node can do nothing.
  • the consensus blockchain node decrypts the encrypted private transaction data using the decryption key agreed in the corresponding execution block chain node group, and at 214, judges whether it can be successfully decrypted. If the decryption fails, the consensus blockchain node may not perform other operations.
  • the consensus blockchain node may try to decrypt all the received encrypted private transaction data, and when it can be successfully decrypted, it indicates that the encrypted private transaction data is executed by itself.
  • the encrypted private transaction data may have an execution block chain node group identification, and the consensus block chain node may determine whether the encrypted private transaction data is executed by it based on the execution block chain node group identification. If so, Then use the decryption key agreed in the corresponding group for decryption. As a result, unnecessary decryption operations by consensus blockchain nodes can be avoided.
  • the decrypted private transaction data is executed. After the processing is executed, the execution result for the private transaction data will be obtained.
  • the consensus blockchain node sends the execution result of the private transaction to the transaction receiving blockchain node.
  • the transaction receiving blockchain node can send the execution result to the client at 220 after summarizing the execution results of all consensus blockchain nodes. It should be noted that the operations of block 218 and block 220 are not indispensable.
  • the transaction receiving blockchain node may use the public key of each executing blockchain node to encrypt private transaction data.
  • the generated encrypted private transaction data enables each executing blockchain node to decrypt with their own private key to obtain private transaction data.
  • the consensus blockchain node can use each private key for decryption. Specific examples of the encryption process and the decryption process will be described below with reference to FIGS. 3 and 4.
  • Fig. 3 is a flowchart of an encryption process in a blockchain transaction processing method according to an embodiment of the present disclosure.
  • the symmetric key is asymmetrically encrypted using the public key of each executing blockchain node to generate asymmetrically encrypted symmetric key corresponding to each executing blockchain node.
  • the symmetric key can be a fixed key for each private transaction data, or it can be randomly generated. In order to improve security, a symmetric key can be randomly generated for each private transaction data during the encryption process.
  • Asymmetric encryption can be implemented using any asymmetric encryption algorithm such as EC and RSA.
  • the private transaction data is symmetrically encrypted using the symmetric key.
  • encrypted private transaction data is generated.
  • encrypted private transaction data may be generated for each executing blockchain node, and then the encrypted private transaction data for each executing blockchain node may be unicast to the corresponding executing blockchain node.
  • the symmetric key is K
  • the symmetric keys for asymmetric encryption using the public keys of each blockchain node are K1, K2, K3, K4
  • the private transaction data encrypted by the symmetric key is TX_A
  • the encrypted privacy transaction data of each executing blockchain node can be [K1,TX_A], [K2,TX_A], [K3,TX_A], [K4,TX_A].
  • the public key of each execution blockchain node may be used to perform asymmetric encryption on the symmetric key, and then the symmetric keys that are asymmetrically encrypted may be combined to generate encrypted private transaction data.
  • the encrypted privacy transaction data can be [K1, K2, K3, K4, TX_A]. After broadcasting the encrypted private transaction data to each consensus blockchain node, the executing blockchain node in the consensus blockchain node can use the decryption key to resolve the private transaction data.
  • Fig. 4 is a flowchart of a decryption process for the encryption process shown in Fig. 3.
  • the private key of the corresponding blockchain node is used to asymmetrically decrypt the asymmetrically encrypted symmetric key to obtain the symmetric key.
  • the corresponding blockchain node is the blockchain node that receives the encrypted private transaction data, such as the consensus blockchain node shown in Figure 1 and Figure 2. Since the symmetric key is asymmetrically encrypted using the public key of each executing blockchain node, only the designated executing blockchain node can decrypt the symmetric key with its own private key. When the encrypted private transaction data has the execution blockchain node identifier, the corresponding blockchain node is the designated execution blockchain node.
  • the symmetric key is used to symmetrically decrypt the symmetrically encrypted private transaction data to obtain the private transaction data.
  • Fig. 5 is a flowchart of a blockchain transaction processing method according to an embodiment of the present disclosure.
  • Figure 5 is an example of a blockchain transaction processing method executed by a consensus blockchain node.
  • the encrypted private transaction data has a timestamp, and the timestamp identifies the time when the encrypted private transaction data was generated on the client.
  • the encrypted private transaction data passes the consensus, in block 506, the encrypted private transaction data is generated into a main chain block based on the timestamp and stored in the main chain.
  • the main chain stores all transaction data through consensus in the blockchain network.
  • the transaction data in the blockchain network includes both private transaction data and non-private transaction data.
  • the transaction data can be sorted. Through sorting, it can be ensured that the execution order of each transaction data in each blockchain node is consistent, so as to ensure the consistency of the blockchain world state.
  • non-private transaction data the plaintext of the transaction data is stored in the main chain, while for private transaction data, the ciphertext is stored in the main chain. Therefore, in the blockchain system, only participants trusted by the client can obtain the specific content of private transaction data from the main chain.
  • block 508 it is monitored whether there is a newly generated main chain block on the main chain.
  • the consensus process shown in block 502 to block 506, the main chain on-chain process and the main chain block monitoring process shown in block 508 can be executed in parallel, and there is no inevitable sequence. order.
  • the main chain block monitored by the blockchain node can be generated by the blockchain node or other blockchain nodes.
  • the encrypted private transaction data in the main chain block is decrypted using the agreed decryption key, and in block 512, it is determined whether the decryption is successful. If the decryption fails, the process ends.
  • the private transaction data is encrypted with the public key of the corresponding blockchain node, it can be decrypted with the corresponding private key.
  • Fig. 6 is a flowchart of a blockchain on-chain process and execution process in a blockchain transaction processing method according to an embodiment of the present disclosure.
  • the encrypted private transaction data has an identification of the grouping of nodes in the execution blockchain.
  • the main chain block is monitored, and in block 604, it is determined whether a new main chain block is generated on the main chain.
  • block 606 it is determined whether there is encrypted private transaction data on the main chain block.
  • transaction data that is not plaintext in the main chain block, it indicates that there is encrypted private transaction data.
  • the encrypted private transaction data may also have a private transaction identifier, so that it can be determined whether there is private transaction data by identifying the private transaction identifier.
  • the decrypted private transaction data is executed.
  • the private transaction data and the corresponding execution result are generated into a private chain block, and stored in the private chain of the corresponding blockchain node.
  • the private chain stores all the private transaction data and the corresponding execution results in which the corresponding blockchain node participates in the execution. Therefore, each blockchain only needs to maintain one private chain, instead of maintaining a private chain for each group.
  • FIG. 7 is a schematic diagram for explaining the main chain and the private chain involved in the embodiment of the present disclosure.
  • Figure 7 shows the main chain and the private chain of blockchain nodes P and Q.
  • TX1 to TX5 represent transaction data, where TX1 is non-private transaction data, TX2 to TX5 are private transaction data, and a, b, and c represent the group identification of the execution block chain node.
  • the blockchain nodes P and Q are designated to participate in the execution of TX2 and TX3, and Q is only designated to participate in the execution of TX2. Therefore, TX2_a and TX3_b are stored in the private chain of P, and only in the private chain of Q. TX2_a is stored.
  • TX5_a is stored in the private chains of both P and Q. Since P is not involved in the execution of TX4, an empty block is generated in P's private chain corresponding to the main chain block where TX4_c is located. As a result, the storage location of TX5_a in P's private chain can be kept consistent with the main chain. Empty blocks can be used to synchronize information such as the time and version number of the main chain block.
  • Fig. 8 is a structural block diagram of a blockchain transaction processing device according to an embodiment of the present disclosure.
  • the blockchain transaction processing device 800 includes a transaction data encryption unit 810 and a transaction data sending unit 820.
  • the transaction data encryption unit 810 is configured to, when receiving the private transaction data sent by the client, encrypt the private transaction data with an encryption key agreed in the corresponding execution block chain node group to generate encrypted private transaction data.
  • the transaction data encryption unit 810 may be configured to encrypt the private transaction data using the public key of each execution blockchain node in the execution blockchain node group to generate encrypted private transaction data.
  • encrypting the private transaction data enables each executing blockchain node to decrypt using their own private key to obtain the private transaction data.
  • the transaction data sending unit 820 sends the encrypted private transaction data to each consensus blockchain node in the blockchain network to perform consensus processing on the private transaction data.
  • each execution block chain node in the execution block chain node group is designated to participate in the execution of private transaction data.
  • the consensus blockchain node may include each execution blockchain node in the execution blockchain node group and at least one block in the blockchain network that is not designated to participate in the execution of the privacy transaction Chain node.
  • the blockchain transaction processing device 800 may also include a node grouping acquisition unit.
  • the private transaction data may have a grouping identification of the execution blockchain node.
  • the node group obtaining unit is configured to obtain the execution block chain node based on the execution block chain node group identifier before encrypting the private transaction data with the public key of each execution block chain node in the corresponding execution block chain node group Grouping.
  • Fig. 9 is a block diagram of an example structure of a transaction data encryption unit in the blockchain transaction processing device shown in Fig. 8.
  • the transaction data encryption unit 810 includes a symmetric key encryption module 811, a transaction data encryption module 812, and an encrypted data generation module 813.
  • the symmetric key encryption module 811 is configured to perform asymmetric encryption on the symmetric key using the public key of each executing blockchain node.
  • the transaction data encryption module 812 is configured to symmetrically encrypt private transaction data using a symmetric key. After separately encrypting the symmetric key and the number of private transactions, the encrypted data generation module 813 generates encrypted private transaction data based on the asymmetrically encrypted symmetric key and the symmetrically encrypted private transaction data.
  • Fig. 10 is a structural block diagram of a blockchain transaction processing device according to an embodiment of the present disclosure.
  • the blockchain transaction processing device 1000 includes a transaction data consensus unit 1010, a transaction data decryption unit 1020, and a transaction data execution unit 1030.
  • the transaction data consensus unit 1010 is configured to perform consensus processing on the encrypted private transaction data when receiving the encrypted private transaction data.
  • the transaction data decryption unit 1020 decrypts the encrypted private transaction data using the decryption key agreed in the corresponding execution block chain node group.
  • the encrypted private transaction data is encrypted using the encryption key agreed upon in the execution of the block chain node grouping.
  • the encrypted private transaction data may be encrypted using the public key of each executing blockchain node in the executing blockchain node group.
  • the transaction data decryption unit 1020 may be configured to use the private key of the corresponding blockchain node to decrypt the encrypted private transaction data.
  • the transaction data execution unit 1030 is configured to perform processing on the decrypted private transaction data.
  • FIG. 11 is a block diagram of an example structure of a transaction data decryption unit in the blockchain transaction processing device shown in FIG. 10.
  • the encrypted private transaction data may include private transaction data that uses a symmetric key to perform symmetric encryption and a symmetric key that uses the public key of the corresponding blockchain node to perform asymmetric encryption.
  • the transaction data decryption unit 1020 includes a symmetric key decryption module 1021 and a transaction data decryption module 1022.
  • the symmetric key decryption module 1021 is configured to use the private key of the corresponding blockchain node to perform asymmetric decryption on the asymmetrically encrypted symmetric key to obtain the symmetric key.
  • the transaction data decryption module 1022 uses the symmetric key to symmetrically decrypt the symmetrically encrypted private transaction data to obtain the private transaction data.
  • Fig. 12 is a structural block diagram of a blockchain transaction processing device according to an embodiment of the present disclosure.
  • the blockchain transaction processing device 1200 includes a transaction data consensus unit 1210, a main chain on-chain unit 1220, a transaction data decryption unit 1230, a transaction data execution unit 1240, and a private chain on-chain unit 1250.
  • the encrypted private transaction data has a time stamp.
  • the main chain on-chain unit 1220 After the consensus processing by the transaction data consensus unit 1210 and the consensus is passed, the main chain on-chain unit 1220 generates a main chain block based on the time stamp and stores the encrypted private transaction data in the main chain.
  • the transaction data decryption unit 1230 is configured to use the decryption key agreed in the corresponding execution block chain node group to encrypt the private transaction data in the main chain block when it monitors that the main chain block is generated on the main chain. Decrypt.
  • the encrypted private transaction data may have an identification of the grouping of nodes in the execution blockchain.
  • the transaction data decryption unit 1230 can be configured to monitor the generation of the main chain block on the main chain, if there is encrypted privacy transaction data in the main chain block, and based on the encrypted privacy that exists in the main chain block
  • the execution block chain node group identification of the transaction data determines that there is encrypted private transaction data that the corresponding block chain node participates in execution in the main chain block, and then the encrypted private transaction data is decrypted using the agreed key.
  • the transaction data execution unit 1240 performs processing on the decrypted private transaction data. After the execution processing, the private chain on-chain unit 1250 generates the private transaction data and the corresponding execution results.
  • the private chain block is stored in the private chain of the corresponding blockchain node.
  • the private chain on-chain unit 1250 can also be configured to monitor the generation of the main chain block on the main chain and there is no encrypted privacy transaction data executed by the corresponding blockchain node in the main chain block, in the corresponding area An empty block corresponding to the main chain block is stored in the private chain of the block chain node.
  • Fig. 13 is a structural block diagram of a blockchain node according to an embodiment of the present disclosure.
  • the blockchain node 1300 includes a blockchain transaction processing device 1310 and a blockchain transaction processing device 1320.
  • the blockchain transaction processing device 1310 is configured to perform the various functions described above with reference to FIGS. 7 to 8.
  • the processing device 1310 of the blockchain trading day is configured to perform the functions described above with reference to FIGS. 9 to 12.
  • the block chain transaction processing device of the present disclosure can be implemented by hardware, or by software or a combination of hardware and software.
  • the various embodiments in this specification are described in a progressive manner, and the same or similar parts among the various embodiments are referred to each other.
  • the block chain transaction processing device of the present disclosure can be implemented by hardware, or by software or a combination of hardware and software. Taking software implementation as an example, as a logical device, it is formed by reading the corresponding computer program instructions in the memory into the memory through the processor of the device where it is located.
  • the blockchain transaction processing device can be realized by using a computing device, for example.
  • Fig. 14 is a structural block diagram of a computing device for implementing a blockchain transaction processing method according to an embodiment of the present disclosure.
  • the computing device 1400 includes a processor 1410, a memory 1420, a memory 1430, a communication interface 1440, and an internal bus 1450.
  • the computing device 600 may include at least one processor 1410 that executes at least one computer-readable instruction (ie, the aforementioned Elements implemented in software).
  • computer-executable instructions are stored in the memory 1420, which, when executed, cause at least one processor 1410 to: when receiving private transaction data sent by the client, use the corresponding execution block chain node grouping agreed upon The encryption key encrypts the private transaction data to generate encrypted private transaction data; and sends the encrypted private transaction data to each consensus blockchain node in the blockchain network to perform the private transaction data Consensus processing.
  • computer-executable instructions are stored in the memory 1420, which, when executed, cause at least one processor 1410 to: when receiving encrypted private transaction data, perform consensus processing on the encrypted private transaction data; After the encrypted private data has passed the consensus, the encrypted private transaction data is decrypted using the decryption key agreed in the corresponding execution block chain node group; and when the decryption is successful, the decrypted private transaction data is executed.
  • a program product such as a non-transitory machine-readable medium.
  • the non-transitory machine-readable medium may have instructions (that is, the above-mentioned elements implemented in the form of software), which when executed by a machine, cause the machine to execute the various embodiments described above in conjunction with FIGS. 1-13 in the various embodiments of the present disclosure. Operation and function.
  • a system or device equipped with a readable storage medium may be provided, and the software program code for realizing the function of any one of the above-mentioned embodiments is stored on the readable storage medium, and the computer or device of the system or device The processor reads and executes the instructions stored in the readable storage medium.
  • the program code itself read from the readable medium can realize the function of any one of the above-mentioned embodiments, so the machine-readable code and the readable storage medium storing the machine-readable code constitute a part of the present invention. .
  • Examples of readable storage media include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD-RW), magnetic tape, Volatile memory card and ROM.
  • the program code can be downloaded from the server computer or the cloud via the communication network.
  • the device structure described in the foregoing embodiments may be a physical structure or a logical structure, that is, some units may be implemented by the same physical entity, or some units may be implemented by multiple physical entities, or may be implemented by multiple physical entities. Some components in independent devices are implemented together.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本公开涉及区块链交易处理方法及装置和区块链节点。一方面的区块链交易处理方法包括:在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理。另一方面的区块链交易处理方法包括:在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及在解密成功时,对解密得到的隐私交易数据进行执行处理。

Description

区块链交易处理方法及装置和区块链节点 技术领域
本公开涉及区块链技术领域,具体地,涉及区块链交易处理方法及装置和区块链节点。
背景技术
区块链系统中的合法交易通常包括发起方、接收方和交易明细。在传统的区块链系统中,各个参与方(即区块链节点)维护一个共同的账本,皆可查看并且验证其它参与方的交易数据,以此避免“双花”等交易欺骗行为。但是在这种交易处理机制下,所有参与方都能够获知交易数据,这就给区块链用户隐私泄露开了一道大门。因此,现有技术需要一种能够避免用户隐私泄漏的方案。
发明内容
鉴于上述,本公开提供了一种区块链交易处理方法及装置和区块链节点。利用该方法及装置,通过利用对应执行区块链节点分组中约定的加密密钥对隐私交易数据进行加密,然后将经过加密的隐私交易数据发送到区块链网络中进行共识,能够使隐私交易数据仅能被客户端信任的区块链节点获知,从而能够大大降低泄漏隐私的风险。
根据本公开的一个方面,提供了一种区块链交易处理方法,包括:在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理。其中,所述执行区块链节点分组中的各个执行区块链节点被指定参与执行所述隐私交易数据。
在一个示例中,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据可以包括:利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据。其中,所述加密隐私交易数据使得所述各个执行区块链节点能够使用各自的私钥进行解密以得到所述隐私交易数据。
在一个示例中,利用所述执行区块链节点分组中的各个执行区块链节点的公钥对 所述隐私交易数据进行加密,以生成加密隐私交易数据可以包括:利用所述各个执行区块链节点的公钥对对称密钥进行非对称加密;利用所述对称密钥对所述隐私交易数据进行对称加密;以及基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成所述加密隐私交易数据。
在一个示例中,所述隐私交易数据可具有执行区块链节点分组标识,在利用对应执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密之前,所述方法还可包括:基于所述执行区块链节点分组标识,获取所述执行区块链节点分组。
在一个示例中,所述共识区块链节点可包括所述执行区块链节点分组中的各个执行区块链节点和所述区块链网络中的未被指定为参与执行所述隐私交易的至少一个区块链节点。
在一个示例中,所述加密隐私交易数据可以具有对应的执行区块链节点分组标识。
根据本公开的另一方面,还提供一种区块链交易处理方法,包括:在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及在解密成功时,对解密得到的隐私交易数据进行执行处理。其中,所述加密隐私交易数据是利用所述执行区块链节点分组中约定的加密密钥进行加密的。
在一个示例中,所述加密隐私交易数据是利用所述执行区块链节点分组中的各个执行区块链节点的公钥进行加密的,利用约定的解密密钥对所述加密隐私交易数据进行解密可以包括:利用对应区块链节点的私钥对所述加密隐私交易数据进行解密。
在一个示例中,所述加密隐私交易数据包括利用对称密钥进行对称加密的隐私交易数据和利用对应区块链节点的公钥进行非对称加密的对称密钥。利用对应区块链节点的私钥对所述加密隐私交易数据进行解密可包括:使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到所述对称密钥;在解密得到对称密钥时,利用所述对称密钥对被对称加密的隐私交易数据进行对称解密,以得到所述隐私交易数据。
在一个示例中,所述加密隐私交易数据可以具有标识相应隐私交易数据的生成时间的时间戳。在利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密之前,所述方法还可包括:在所述加密隐私数据通过共识之后,基于所述时间戳,将所述加密隐私交易数据生成主链区块并存储在主链中,所述主链中存储有区块 链网络中的通过共识的所有交易数据。利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密可包括:当监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的解密密钥对该主链区块中的加密隐私交易数据进行解密。
在一个示例中,所述加密隐私交易数据具有执行区块链节点分组标识,监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的密钥对该主链区块中的加密隐私交易数据进行解密可以包括:当监听到主链上生成主链区块时,如果该主链区块中存在加密隐私交易数据,并且基于该主链区块中存在的加密隐私交易数据的执行区块链节点分组标识,确定出该主链区块中存在本地区块链节点参与执行的加密隐私交易数据,则利用约定的密钥对所述加密隐私交易数据进行解密。
在一个示例中,所述方法还可以包括:经过所述执行处理后,将所述隐私交易数据和相应执行结果生成私链区块,并存储到对应区块链节点的私链中,所述私链中存储有对应区块链节点参与执行的隐私交易数据和相应执行结果。
在一个示例中,所述方法还可以包括:当监听到主链上生成主链区块并且该主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在对应区块链节点的私链中保存一个对应于该主链区块的空块。
根据本公开的另一方面,还提供一种区块链交易处理装置,包括:交易数据加密单元,被配置为在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及交易数据发送单元,被配置为将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理。其中,所述执行区块链节点分组中的各个执行区块链节点被指定参与执行所述隐私交易数据。
在一个示例中,所述交易数据加密单元可以被配置为:利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据。其中,所述加密隐私交易数据使得所述各个执行区块链节点能够使用各自的私钥进行解密以得到所述隐私交易数据。
在一个示例中,所述交易数据加密单元可以包括:对称密钥加密模块,被配置为利用所述各个执行区块链节点的公钥对对称密钥进行非对称加密;交易数据加密模块,被配置为利用所述对称密钥对所述隐私交易数据进行对称加密;以及加密数据生成模块,被配置为基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成所述加密隐 私交易数据。
在一个示例中,所述装置还可以包括:节点分组获取单元,被配置为所述隐私交易数据具有执行区块链节点分组标识,在利用对应执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密之前,基于所述执行区块链节点分组标识,获取所述执行区块链节点分组。
在一个示例中,所述共识区块链节点可以包括所述执行区块链节点分组中的各个执行区块链节点和所述区块链网络中的未被指定为参与执行所述隐私交易的至少一个区块链节点。
根据本公开的另一方面,还提供一种区块链交易处理装置,包括:交易数据共识单元,被配置为在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;交易数据解密单元,被配置为在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及交易数据执行单元,被配置为在解密成功时,对解密得到的隐私交易数据进行执行处理。其中,所述加密隐私交易数据是利用所述执行区块链节点分组中约定的加密密钥进行加密的。
在一个示例中,所述加密隐私交易数据可以是利用所述执行区块链节点分组中的各个执行区块链节点的公钥进行加密的,所述交易数据解密单元可以被配置为:利用对应区块链节点的私钥对所述加密隐私交易数据进行解密。
在一个示例中,所述加密隐私交易数据可以包括利用对称密钥进行对称加密的隐私交易数据和利用对应区块链节点的公钥进行非对称加密的对称密钥,所述交易数据解密单元可以包括:对称密钥解密模块,被配置为使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到所述对称密钥;以及交易数据解密模块,被配置为在解密得到对称密钥时,利用所述对称密钥对被对称加密的隐私交易数据进行对称解密,以得到所述隐私交易数据。
在一个示例中,所述加密隐私交易数据可以具有标识相应隐私交易数据的生成时间的时间戳,所述装置还可以包括:主链上链单元,被配置为在所述加密隐私数据通过共识之后,在利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密之前,基于所述时间戳,将所述加密隐私交易数据生成主链区块并存储在主链中,所述主链中存储有区块链网络中的经过共识的所有交易数据。所述交易数据解密单元被配置为:当监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的 解密密钥对该主链区块中的加密隐私交易数据进行解密。
在一个示例中,所述加密隐私交易数据可以具有执行区块链节点分组标识,所述交易数据解密单元可以被配置为:当监听到主链上生成主链区块时,如果该主链区块中存在加密隐私交易数据,并且基于该主链区块中存在的加密隐私交易数据的执行区块链节点分组标识,确定出该主链区块中存在对应区块链节点参与执行的加密隐私交易数据,则利用约定的密钥对所述加密隐私交易数据进行解密。
在一个示例中,所述装置还可以包括:私链上链单元,被配置为经过所述执行处理后,将所述隐私交易数据和相应执行结果生成私链区块,并存储到对应区块链节点的私链中,所述私链中存储有对应区块链节点参与执行的隐私交易数据和相应执行结果。
在一个示例中,所述私链上链单元还可以被配置为:当监听到主链上生成主链区块并且该主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在对应区块链节点的私链中保存一个对应于该主链区块的空块。
根据本公开的另一方面,还提供一种区块链节点,包括:前述第三个方面所提供的装置;以及前述第四个方面所提供的装置。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行前述第一个方面所述的方法。
根据本公开的另一方面,还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行第一个方面所述的方法。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行第二个方面所述的方法。
根据本公开的另一方面,还提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行第二个方面所述的方法。
利用本公开的方法及装置,通过利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,能够使得在对隐私交易数据进行共识和执行的过程中,只有客户端信任的区块链节点能够获知交易数据的具体内容,因而大大降低了泄漏用户隐私的风险。
利用本公开的方法及装置,利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以使所生成的加密隐私交易数据能被所述各个执行区块链节点各自的私钥解密,能够使用区块链系统中即有的密钥实现对隐私交易的加密处理。
利用本公开的方法及装置,通过用各个执行区块链节点的公钥对对称密钥进行加密,并利用对称密钥来对隐交易数据进行对称加密,从而各个执行区块链节点在接收到加密数据时,可以利用各自的私钥解密获得隐私交易数据,由此提供了一种简单易行且安全性高的加密方式。
利用本公开的方法及装置,通过基于隐私交易数据具有的执行区块链节点分组标识,来获取客户端指定的执行区块链节点分组,在接收隐私交易数据的区链节点同时参与多个不同的分组时,能够在客户端所指定的分组中处理隐私交易数据,以提高隐私安全系数。
利用本公开的方法及装置,通过使参与对隐私交易数据进行共识的共识区块链节点包括执行区块链节点分组之外的区块链节点,能够利用区块链网络中的其它区块链节点来进行共识处理,以提高共识结果的安全性。
利用本公开的方法及装置,为向区块链网络发送的加密隐私交易数据赋予对应的执行区块链节点分组标识,从而执行区块链节点能够基于在执行区块链节点分组标识确定相应的加密隐私交易数据是自身参与执行的隐私交易数据时,进行解密操作,从而能够节省不必要的解密运算。
利用本公开的方法及装置将通过共识的加密隐私交易数据存储在公链上,能够实现对隐私交易数据排序,以使各个执行区块链节点对隐私交易数据的执行顺序保持一致。
利用本公开的方法及装置,在各个执行区块链节点执行隐私交易数据之后将隐私交易数据和相应执行结果保存在各自的私链上,从而即使每个执行区块链节点参与了多个分组,也可以只维护一条私链,由此能够降低执行区块链节点的维护成本。
利用本公开的方法及装置,当主链上生成的主链区块中不包括相应区块链节点参与执行的隐私交易数据时,在该区块链节点的私链上生成一个对应的空块,从而能够使各个区块链节点的私链中存储的数据顺序与主链保持一致。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。在附图中:
图1是本公开的区块链交易处理方法所适用的区块链系统的示例框图;
图2是根据本公开实施例的区块链交易处理方法的流程图;
图3是根据本公开实施例的区块链交易处理方法中的加密过程的流程图;
图4是根据本公开实施例的区块链交易处理方法中的解密过程的流程图;
图5是根据本公开实施例的区块链交易处理方法的流程图;
图6是根据本公开实施例的区块链交易处理方法中的区块链上链过程和执行过程的流程图;
图7是用于说明本公开实施例中涉及的主链和私链的示意图;
图8根据本公开实施例的区块链交易处理装置的结构框图;
图9是图8所示的区块链交易处理装置中的交易数据加密单元的示例结构框图;
图10根据本公开一实施例的区块链交易处理装置的结构框图;
图11是图10所示的区块链交易处理装置中的交易数据解密单元的示例结构框图;
图12是根据本公开实施例的区块链交易处理装置的结构框图;
图13是根据本公开实施例的区块链节点的结构框图;以及
图14是根据本公开实施例用于实现区块链交易处理方法的计算设备的结构框图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非对权利要求书中所阐述的保护范围、适用性或者示例的限制。可在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可根据需要,省略、替代或者 添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
现在结合附图来描述本公开的区块链交易处理方法及装置。
图1是本公开的区块链交易处理方法所适用的区块链系统的示例框图。
如图1所示,在区块链系统100中,存在区块链节点102、103、104、105和106。客户端101发起交易时将交易数据发送给与其通信连接的区块链节点102。客户端107发起交易时将交易数据发送给与其通信连接的区块链节点105。区块链节点102接收到交易数据后,可先对该交易数据进行验证。验证通过时,区块链节点102将所接收的交易数据广播给区块链系统100中的其它区块链节点103-106,以对该交易数据进行共识处理。图1仅仅是区块链系统一种示例,在其它示例中,区块链系统可包括交易池,交易池用于存放客户端101(或区块链系统中的其它客户端)所发起的交易数据。各个节点可从交易池中读取交易数据,并进行验证、共识等处理。此外,在另一示例中,客户端101也可与多个区块链节点连接,从而可将交易数据发送给多个与其连接的区块链节点。接收到交易数据的区块链节点可以通过预定机制争取对该交易数据的处理权。
在区块链系统中,对交易数据的处理过程通常包括验证处理、共识处理、执行处理和区块链上链处理等过程。以下,以图1为例对这些处理过程进行说明。
验证处理是指,区块链节点102在接收到交易数据时,对所接收到的交易数据进行验证。验证处理的目的是验证交易数据是否合法,验证处理例如可以是:验证交易数据的数据结构是否符合相应区块链系统的要求;相应客户端是否有能力支付该笔交易的手续费(例如验证客户端的账户余额);相应交易是否为重复交易(即“双花”);验证交易数据中的签名是否合法;交易数据的大小是否超过了区块链中区块的最大容量等等。验证处理可以包括以上列举验证处理操作中的一种或多种。在不同的区块链系统中(例如比特币系统、以太坊系统等),验证处理的具体操作可能有所不同。验证处理所包括的具体操作不限于此处所列举的内容。
如果交易数据的验证结果为不合法,则可以不对该交易数据进行进一步处理。如 果验证结果为合法,则相应交易数据进入共识处理过程。当区块链节点102所接收的交易数据通过验证时,可以将通过验证的交易数据广播给区块链系统中的区块链节点103、104、105和106,以进行对该交易数据的共识处理。共识处理可以基于工作量证明(PoW)、实用拜占庭算法(PBFT)等共识机制执行共识。如果其它区块链结点对该交易数据进行共识操作后不承认该交易数据,则可以不做出任何响应。
当该交易数据在各个区块链节点间达成一致性共识(即交易数据通过共识)时,将对通过共识的交易数据进行执行处理。执行处理可以由虚拟机模(例如以太坊系统中的EVM)来进行。执行处理可以是对智能合约的执行。对交易数据的执行处理例如可以是:从发起交易的客户端的余额中扣除执行相应交易的费用,并为当前交易将发送者账户中的随机数(nonce)增加1;为争取到相应交易的区块链节点发放奖励等。作为示例,相应的交易可以是转账交易,此时,在执该笔交易时,将从发起方的账户中扣除相应款项(例如预定金额的比特币、以太币等),并在接收方的账户增加相应款项。在不同的区块链系统中,执行处理过程的具体内容可以有所不同。
区块链上链处理是指,在完成执行处理时,将交易数据和相应的执行结果打包成区块,并将该区块保存到区块链上。
在本公开中,从接收客户端发送的交易数据的区块链节点被称为交易接收区块链节点,而从交易接收区块链节点交易数据以对该交易数据进行共识处理和执行处理的区块链节点被称为共识区块链节点。同一个区块链节点既可是交易接收区块链节点也可是共识区块链节点。例如,对于客户端101而言,区块链节点102是交易接收区块链节点,区块链节点103、104、105和106为共识区块链节点。而对于客户端107而言,区块链节点105是交易接收区块链节点,区链节点102、103、104和106是共识区块链节点。
图2是根据本公开实施例的区块链交易处理方法的流程图。
如图2所示,在202,客户端向交易接收区块链节点发送隐私交易数据。在204,交易接收区块链节点在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对隐私交易数据进行加密,以生成加密隐私交易数据。
根据业务情况,客户端处发起的交易可能是需要保密的隐私交易,也可能是无需保密的非隐私交易。因此,客户端可以为隐私交易数据赋予隐私标识,交易接收区块链节点可以根据所接收到的交易数据是否具有隐私标识来判断是否接收到隐私交易数据。
为了避免隐私交易数据中的用户信息被泄露,客户端可以将其信任的区块链节点 指定为参与执行隐私交易数据的执行区块链节点,这些执行区块链节点组成一个执行区块链节点分组。例如,客户端101可以指定区块链节点103、104和105为自己的执行区块链节点,以构成执行区块链节点分组。此外,客户端101还可以针对不同的交易指定不同的执行区块链节点分组。同一个区块链节点可以参与一个执行区块链节点分组。
在一个示例中,同一个区块链节点也可以参与至少两个执行区块链节点分组(在该区块链节点被多个客户端信任时)。在这种情况下,客户端发送的隐私交易数据可以具有执行区块链节点分组标识,以标识被指定的分组。此时,交易接收区块链节点在可以根据隐私交易数据的区块链节点分组标识来获取相应执行区块链节点分组。
各个执行区块链节点分组标识所对应的分组可存储在各个区块链节点本地的存储器中。为了节约各个区块链节点的本地存储空间,可将各个执行区块链节点分组标识所对应的分组存储在统一的服务器中。此时,在接收到隐私交易数据时,交易接收区块链节点可基于执行区块链节点分组标识来从服务器中获取相应执行区块链节点分组。
区块链系统可以配置有系统分组合约,该系统分组合约中存储有各个分组ID到分组成员的映射关系。分组合约可以提供注册分组、新增分组成员、注销分组等功能。当交易客户端有隐私交易的诉求时,可以通过SDK模块发送分组合约调用请求,从而调用系统分组合约来进行分组的注册。每个执行区块链分组在处理完一笔交易之后,可以被注销。此外,已被注册的执行区块链节点分组还可以用于处理后续交易。
在获取到执行区块链节点分组时,可以利用该执行区块链节点分组中约定的加密密钥来对隐私交易数据进行加密。各个分组约定的加密密钥可以存储在交易接收区块链节点本地。由此生成的加密隐私交易数据能够被相应执行区块链节点分组中的各个执行区块链节点使用约定的解密密钥来解密。
在生成加密隐私交易数据之后,在206,交易接收区块链节点将加密隐私交易数据发送给区块链网络中的各个共识区块链节点。然后在共识区块链节点将参与对加密隐私交易数据进行共识。
共识区块链节点可以只包括相应执行区块链节点分组中的各个执行区块链节点。在一个示例中,共识区块链节点还可以包括未被指定参与执行相应隐私交易数据的区块链节点。例如,区块链网络中的所有区块链节点均可参与对隐私交易数据进行共识。此时,由于只有执行区块链节点拥有解密密钥,其它区块链节点不会获知交易数据的具体内容,而利用未被指定参与执行的区块链节点来进行共识处理,能够提高共识结果的安 全性和准确性。
在接收到加密隐私交易数据时,在208,共识区块链节点对接收到的加密隐私交易数据进行共识处理,并在210,判断该加密隐私交易数据是否通过了共识。如果未通过共识,则共识区块链节点可以不进行任何操作。
在加密隐私交易数据通过共识时,在212,共识区块链节点利用对应执行区块链节点分组中约定的解密密钥对加密隐私交易数据进行解密,并在214,判断是否能够成功解密。如果不能成功解密,则共识区块链节点可以不执行其它操作。
在一个示例中,共识区块链节点可尝试对所有接收到的加密隐私交易数据进行解密,当能够成功解密时,表明该加密隐私交易数据是自己参与执行的。在另一示例中,加密隐私交易数据可具有执行区块链节点分组标识,共识区块链节点可基于执行区块链节点分组标识判断该加密隐私交易数据是否是其参与执行的,如果是,则采用相应分组中约定的解密密钥来进行解密。由此,能够避免共识区块链节点进行不必要的解密操作。
当解密成功时,在块216,对解密得到的隐私交易数据进行执行处理。在执行处理之后,会得到针对隐私交易数据的执行结果。
然后,在218,共识区块链节点将隐私交易的执行结果发送给交易接收区块链节点。交易接收区块链节点可以在汇总所有共识区块链节点的执行结果后,在220,将执行结果发送给客户端。需要说明的是,块218和块220的操作并不是必不可少的。
在一个示例中,交易接收区块链节点可以使用各个执行区块链节点的公钥来加密隐私交易数据。此时,生成的加密隐私交易数据使各个执行区块链节点能够用各自的私钥解密以得到隐私交易数据。在该示例中,共识区块链节点可以用各个的私钥来进行解密。以下参考图3和图4对加密过程和解密过程的具体示例进行说明。
图3是根据本公开实施例的区块链交易处理方法中的加密过程的流程图。
如图3所示,在块302,利用各个执行区块链节点的公钥对对称密钥进行非对称加密,以生成对应于各个执行区块链节点的被非对称加密的对称密钥。对称密钥可以是针对每个隐私交易数据的固定密钥,还可以是随机生成的。为了提高安全性,可以在加密过程中针对每个隐私交易数据随机生成对称密钥。非对称加密可以利用EC、RSA等任意非对称加密算法实现。
然后,在块304,利用对称密钥对所隐私交易数据进行对称加密。
经过上述加密之后,在块306,基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成加密隐私交易数据。在一个示例中,可以针对各个执行区块链节点分别生成加密隐私交易数据,而后将针对每个执行区块链节点的加密隐私交易数据单播给对应的执行区块链节点。例如,假设对称密钥为K,利用各个执行区块链节点的公钥非对称加密的对称密钥分别为K1、K2、K3、K4,利用对称密钥加密的隐私交易数据为TX_A,则针对各个执行区块链节点的加密隐私交易数据可以分别为[K1,TX_A]、[K2,TX_A]、[K3,TX_A]、[K4,TX_A]。
在另一示例中,可分别利用各个执行区块链节点的公钥对对称密钥进行非对称加密后,组合各个被非对称加密的对称密钥以生成加密隐私交易数据。例如,加密隐私交易数据可以是[K1,K2,K3,K4,TX_A]。将该加密隐私交易数据广播给各个共识区块链节点后,共识区块链节点中的执行区块链节点可利用解密密钥从中解决得出隐私交易数据。
图4是针对图3所示的加密过程的解密过程的流程图。
如图4所示,在块402,使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到对称密钥。对应区块链节点即接收到加密隐私交易数据的区块链节点,如图1和图2所示的共识区块链节点。由于,对称密钥被利用各个执行区块链节点的公钥进行非对称加密,因而只有被指定的执行区块链节点才能用自己的私钥解密得到对称密钥。当加密隐私交易数据具有执行区块链节点标识时,对应区块链节点为被指定的执行区块链节点。
然后在块404,判断是否成功解密得到了对称密钥。如果不能成功解密,则可以不进行任何操作,解密过程结束。
当解密得到对称密钥时,在块406,利用对称密钥对被对称加密的隐私交易数据进行对称解密,以得到隐私交易数据。
图5是根据本公开实施例的区块链交易处理方法的流程图。图5是由共识区块链节点执行的区块链交易处理方法的示例。在该示例中,加密隐私交易数据具有时间戳,时间戳标识被加密的隐私交易数据在客户端生成的时间。
如图5所示,在块502,对接收到的加密隐私交易数据进行共识处理。然后在块504,判断加密稳私交易数据是否通过共识。如果没有通过共识则流程结束。
当加密隐私交易数据通过共识时,在块506,基于时间戳将加密隐私交易数据生成主链区块并存储在主链中。主链中存储有区块链网络中的通过共识的所有交易数据。区 块链网络中的交易数据包括隐私交易数据和非隐私交易数据。通过将所有交易数据存储在主链中,能够实现对交易数据的排序。通过排序,能够保证各个交易数据在各个区块链节点的执行顺序是一致的,从而能保证区块链世界状态的一致性。对于非隐私交易数据,主链中存储有该交易数据的明文,而对于隐私交易数据,主链中存储的是密文。因而在区块链系统中,只有客户端信任的参与方能从主链中获取隐私交易数据的具体内容。
然后,在块508,监听主链上是否有新生成的主链区块。需要说明的是,对于同一区块链节点,块502至块506所示的共识过程主链上链过程与块508所示主链区块监听过程可以是并行执行的,并不存在必然的先后顺序。该区块链节点所监听到的主链区块可以是该区块链节点生成的,也可以是其他区块链节点生成的。
当监听到有新生成的主链区块时,在块510,使用约定的解密密钥对该主链区块中的加密隐私交易数据进行解密,并在块512,判断是否解密成功。如果不能成功解密,则流程结束。当隐私交易数据是用相应区块链节点的公钥加密时,可用相应私钥来解密。
如果解密成功,则在块514,对解密得到的隐私交易数据进行执行处理。
图6是根据本公开一个实施例的区块链交易处理方法中的区块链上链过程和执行过程的流程图。在该示例中,加密隐私交易数据具有执行区块链节点分组标识。
如图6所示,在块602,监听主链区块,并在块604,判断主链上是否生成了新的主链区块。
当监听到主链区块生成时,在块606,判断该主链区块上是否存在加密隐私交易数据。当主链区块中存在不是明文的交易数据时表明存在加密隐私交易数据。此外,加密隐私交易数据也可以具有隐私交易标识,从而可以通过识别隐私交易标识来判断是否存在隐私交易数据。
当生成的主链区块上存在加密隐私交易数据时,在块608,基于加密隐私交易的执行区块链分组标识,确定主链区块上的加密隐私交易数据是否是对应区块链节点参与执行的隐私交易数据。
当主链区块上存在对应区块链节点参与执行的加密隐私交易数据时,在块610,利用约定的密钥(例如对应区块链节点的私钥)对该主链区块中的加密隐私交易数据进行解密,并在块612,判断是否解密成功。
当解密成功时,在块613,执行解密得到的隐私交易数据。在执行处理之后,在块616,将隐私交易数据和对应的执行结果生成私链区块,并存储存储在对应区块链节点 的私链中。私链中存储有对应区块链节点参与执行的所有隐私交易数据及对应的执行结果。由此,每个区块链只需要维护一条私链,而不需要针对每个分组分别维护一个私链。
当所监听到的主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在块618,在对应区块链节点的私链中生成一个对应于该主链区块的空块。由此,能够使每个区块链节点的私链中交易数据的存储顺序与主链保持一致。
图7是用于说明本公开实施例中涉及的主链和私链的示意图。图7示出了主链以及区块链节点P和Q的私链。TX1~TX5表示交易数据,其中TX1为非隐私交易数据,TX2~TX5为隐私交易数据,a、b、c表示执行区块链节点分组标识。如图7所示,区块链节点P和Q被指定参与执行TX2和TX3,而Q仅被指定参与执行TX2,因而在P的私链中存储有TX2_a和TX3_b,在Q的私链中仅存储有TX2_a。P和Q均为执行区块链节点分组a中的执行区块链节点,因而在P和Q的私链中均存储有TX5_a。由于P未参与执行TX4,因而在P的私链中对应于TX4_c所在的主链区块生成了一个空块。由此,使得TX5_a在P的私链中的存储位置能够与主链保持一致。空块可以用来同步主链区块的时间以及版本号等信息。
从图7中可以看出,各个交易数据在主链和私链中的存储顺序保持一致,借助于主链的顺序,能够使各条私链保持顺序一致。
图8根据本公开实施例的区块链交易处理装置的结构框图。如图8所示,区块链交易处理装置800包括交易数据加密单元810和交易数据发送单元820。
交易数据加密单元810被配置为在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据。
在一个示例中,交易数据加密单元810可以被配置为利用执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据。在该示例中,加密隐私交易数据使得各个执行区块链节点能够使用各自的私钥进行解密以得到所述隐私交易数据。
经过加密之后,交易数据发送单元820将加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对隐私交易数据进行共识处理。其中,执行区块链节点分组中的各个执行区块链节点被指定参与执行隐私交易数据。在一个示例中,共识区块链节点可以包括执行区块链节点分组中的各个执行区块链节点和所述区块链网络中的未被 指定为参与执行所述隐私交易的至少一个区块链节点。
此外,虽然附图中没有示出,区块链交易处理装置800还可以包括节点分组获取单元。在该示例中,隐私交易数据可以具有执行区块链节点分组标识。节点分组获取单元被配置为在利用对应执行区块链节点分组中的各个执行区块链节点的公钥对隐私交易数据进行加密之前,基于执行区块链节点分组标识,获取执行区块链节点分组。
图9是图8所示的区块链交易处理装置中的交易数据加密单元的示例结构框图。如图9所示,交易数据加密单元810包括对称密钥加密模块811、交易数据加密模块812和加密数据生成模块813。
对称密钥加密模块811被配置为利用各个执行区块链节点的公钥对对称密钥进行非对称加密。交易数据加密模块812被配置为利用对称密钥对隐私交易数据进行对称加密。在对对称密钥和隐私交易数分别加密之后,加密数据生成模块813基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成加密隐私交易数据。
图10根据本公开实施例的区块链交易处理装置的结构框图。如图10所示,区块链交易处理装置1000包括交易数据共识单元1010、交易数据解密单元1020和交易数据执行单元1030。
交易数据共识单元1010被配置为在接收到加密隐私交易数据时,对加密隐私交易数据进行共识处理。在加密隐私数据通过共识之后,交易数据解密单元1020利用对应执行区块链节点分组中约定的解密密钥对加密隐私交易数据进行解密。其中,加密隐私交易数据是利用执行区块链节点分组中约定的加密密钥进行加密的。
在一个示例中,加密隐私交易数据可以是利用执行区块链节点分组中的各个执行区块链节点的公钥进行加密的。此时,交易数据解密单元1020可以被配置为利用对应区块链节点的私钥对加密隐私交易数据进行解密。
在交易数据解密单元1020解密成功时,交易数据执行单元1030被配置为对解密得到的隐私交易数据进行执行处理。
图11是图10所示的区块链交易处理装置中的交易数据解密单元的示例结构框图。在该示例中,加密隐私交易数据可以包括利用对称密钥进行对称加密的隐私交易数据和利用对应区块链节点的公钥进行非对称加密的对称密钥。如图11所示,交易数据解密单元1020包括对称密钥解密模块1021和交易数据解密模块1022。
对称密钥解密模块1021被配置为使用对应区块链节点的私钥对被非对称加密的对 称密钥进行非对称解密,以得到对称密钥。在解密得到对称密钥时,交易数据解密模块1022利用对称密钥对被对称加密的隐私交易数据进行对称解密,以得到隐私交易数据。
图12是根据本公开实施例的区块链交易处理装置的结构框图。如图12所示,区块链交易处理装置1200包括交易数据共识单元1210、主链上链单元1220、交易数据解密单元1230、交易数据执行单元1240和私链上链单元1250。
在该示例中,加密隐私交易数据具有时间戳。在经过交易数据共识单元1210的共识处理且共识通过时,主链上链单元1220基于时间戳,将所述加密隐私交易数据生成主链区块并存储在主链中。此时,交易数据解密单元1230被配置为当监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的解密密钥对该主链区块中的加密隐私交易数据进行解密。
在一个示例中,加密隐私交易数据可以具有执行区块链节点分组标识。此时,交易数据解密单元1230可以被配置为当监听到主链上生成主链区块时,如果该主链区块中存在加密隐私交易数据,并且基于该主链区块中存在的加密隐私交易数据的执行区块链节点分组标识,确定出该主链区块中存在对应区块链节点参与执行的加密隐私交易数据,则利用约定的密钥对所述加密隐私交易数据进行解密。
在交易数据解密单元1230对加密隐私交易数据解密成功时,交易数据执行单元1240对解密得到的隐私交易数据进行执行处理经过执行处理后,私链上链单元1250将隐私交易数据和相应执行结果生成私链区块,并存储到对应区块链节点的私链中。
此外,私链上链单元1250还可以被配置为当监听到主链上生成主链区块并且该主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在对应区块链节点的私链中保存一个对应于该主链区块的空块。
图13是根据本公开实施例的区块链节点的结构框图。如图13所示,区块链节点1300包括区块链交易处理装置1310和区块链交易处理装置1320。区块链交易处理装置1310被配置为执行以上参考图7至图8所述的各样功能。区块链交易日的处理装置1310被配置为执行以上参考图9至图12所述的各项功能。
以上参照图1到图13,对根据本公开的区块链交易处理方法、装置及系统的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于装置实施例。
本公开的区块链交易处理装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相 同相似的部分互相参见。
本公开的区块链交易处理装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本公开中,区块链交易处理装置例如可以利用计算设备实现。
图14是根据本公开实施例用于实现区块链交易处理方法的计算设备的结构框图。如图14所示,计算设备1400包括处理器1410、存储器1420、内存1430、通信接口1440和内部总线1450。根据一个实施例,计算设备600可以包括至少一个处理器1410,该至少一个处理器1410执行在计算机可读存储介质(即,存储器1420)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器1420中存储计算机可执行指令,其当执行时使得至少一个处理器1410:在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理。
在另一示例中,在存储器1420中存储计算机可执行指令,其当执行时使得至少一个处理器1410:在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及在解密成功时,对解密得到的隐私交易数据进行执行处理。
应该理解,在存储器1420中存储的计算机可执行指令当执行时使得至少一个处理器1410进行本公开的各个实施例中以上结合图1-13描述的各种操作和功能。
根据一个实施例,提供了一种例如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-13描述的各种操作和功能。
具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项的 功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本公开的实施例的可选实施方式,但是,本公开的实施例并不限于上述实施方式中的具体细节,在本公开的实施例的技术构思范围内,可以对本公开的实施例的技术方案进行多种简单变型,这些简单变型均属于本公开的实施例的保护范围。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (30)

  1. 一种区块链交易处理方法,包括:
    在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及
    将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理,
    其中,所述执行区块链节点分组中的各个执行区块链节点被指定参与执行所述隐私交易数据。
  2. 如权利要求1所述的方法,其中,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据包括:
    利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据,
    其中,所述加密隐私交易数据使得所述各个执行区块链节点能够使用各自的私钥进行解密以得到所述隐私交易数据。
  3. 如权利要求2所述的方法,其中,利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据包括:
    利用所述各个执行区块链节点的公钥对对称密钥进行非对称加密;
    利用所述对称密钥对所述隐私交易数据进行对称加密;以及
    基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成所述加密隐私交易数据。
  4. 如权利要求1-3中任一项所述的方法,其中,所述隐私交易数据具有执行区块链节点分组标识,在利用对应执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密之前,所述方法还包括:
    基于所述执行区块链节点分组标识,获取所述执行区块链节点分组。
  5. 如权利要求1-3中任一项所述的方法,其中,所述共识区块链节点包括所述执行区块链节点分组中的各个执行区块链节点和所述区块链网络中的未被指定为参与执行所述隐私交易的至少一个区块链节点。
  6. 如权利要求1-3中任一项所述的方法,其中,所述加密隐私交易数据具有对应的执行区块链节点分组标识。
  7. 一种区块链交易处理方法,包括:
    在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;
    在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及
    在解密成功时,对解密得到的隐私交易数据进行执行处理,
    其中,所述加密隐私交易数据是利用所述执行区块链节点分组中约定的加密密钥进行加密的。
  8. 如权利要求7所述的方法,其中,所述加密隐私交易数据是利用所述执行区块链节点分组中的各个执行区块链节点的公钥进行加密的,利用约定的解密密钥对所述加密隐私交易数据进行解密包括:
    利用对应区块链节点的私钥对所述加密隐私交易数据进行解密。
  9. 如权利要求8所述的方法,其中,所述加密隐私交易数据包括利用对称密钥进行对称加密的隐私交易数据和利用对应区块链节点的公钥进行非对称加密的对称密钥,利用对应区块链节点的私钥对所述加密隐私交易数据进行解密包括:
    使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到所述对称密钥;以及
    在解密得到对称密钥时,利用所述对称密钥对被对称加密的隐私交易数据进行对称解密,以得到所述隐私交易数据。
  10. 如权利要求7-9中任一项所述的方法,其中,所述加密隐私交易数据具有标识相应隐私交易数据的生成时间的时间戳,在利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密之前,所述方法还包括:
    在所述加密隐私数据通过共识之后,基于所述时间戳,将所述加密隐私交易数据生成主链区块并存储在主链中,所述主链中存储有区块链网络中的通过共识的所有交易数据,
    利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密包括:
    当监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的解密密钥对该主链区块中的加密隐私交易数据进行解密。
  11. 如权利要求10所述的方法,其中,所述加密隐私交易数据具有执行区块链节点分组标识,监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的密钥对该主链区块中的加密隐私交易数据进行解密包括:
    当监听到主链上生成主链区块时,如果该主链区块中存在加密隐私交易数据,并且基于该主链区块中存在的加密隐私交易数据的执行区块链节点分组标识,确定出该主链 区块中存在本地区块链节点参与执行的加密隐私交易数据,则利用约定的密钥对所述加密隐私交易数据进行解密。
  12. 如权利要求10所述的方法,还包括:
    经过所述执行处理后,将所述隐私交易数据和相应执行结果生成私链区块,并存储到对应区块链节点的私链中,所述私链中存储有对应区块链节点参与执行的隐私交易数据和相应执行结果。
  13. 如权利要求12中任一项所述的方法,还包括:
    当监听到主链上生成主链区块并且该主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在对应区块链节点的私链中生成一个对应于该主链区块的空块。
  14. 一种区块链交易处理装置,包括:
    交易数据加密单元,被配置为在接收到客户端发送的隐私交易数据时,利用对应执行区块链节点分组中约定的加密密钥对所述隐私交易数据进行加密,以生成加密隐私交易数据;以及
    交易数据发送单元,被配置为将所述加密隐私交易数据发送给区块链网络中的各个共识区块链节点,以对所述隐私交易数据进行共识处理,
    其中,所述执行区块链节点分组中的各个执行区块链节点被指定参与执行所述隐私交易数据。
  15. 如权利要求14所述的装置,其中,所述交易数据加密单元被配置为:
    利用所述执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密,以生成加密隐私交易数据,
    其中,所述加密隐私交易数据使得所述各个执行区块链节点能够使用各自的私钥进行解密以得到所述隐私交易数据。
  16. 如权利要求15所述的装置,其中,所述交易数据加密单元包括:
    对称密钥加密模块,被配置为利用所述各个执行区块链节点的公钥对对称密钥进行非对称加密;
    交易数据加密模块,被配置为利用所述对称密钥对所述隐私交易数据进行对称加密;以及
    加密数据生成模块,被配置为基于被非对称加密的对称密钥和被对称加密的隐私交易数据,生成所述加密隐私交易数据。
  17. 如权利要求14-16中任一项所述的装置,还包括:
    节点分组获取单元,被配置为所述隐私交易数据具有执行区块链节点分组标识,在 利用对应执行区块链节点分组中的各个执行区块链节点的公钥对所述隐私交易数据进行加密之前,基于所述执行区块链节点分组标识,获取所述执行区块链节点分组。
  18. 如权利要求14-16中任一项所述的装置,其中,所述共识区块链节点包括所述执行区块链节点分组中的各个执行区块链节点和所述区块链网络中的未被指定为参与执行所述隐私交易的至少一个区块链节点。
  19. 一种区块链交易处理装置,包括:
    交易数据共识单元,被配置为在接收到加密隐私交易数据时,对所述加密隐私交易数据进行共识处理;
    交易数据解密单元,被配置为在所述加密隐私数据通过共识之后,利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密;以及
    交易数据执行单元,被配置为在解密成功时,对解密得到的隐私交易数据进行执行处理,
    其中,所述加密隐私交易数据是利用所述执行区块链节点分组中约定的加密密钥进行加密的。
  20. 如权利要求19所述的装置,其中,所述加密隐私交易数据是利用所述执行区块链节点分组中的各个执行区块链节点的公钥进行加密的,所述交易数据解密单元被配置为:
    利用对应区块链节点的私钥对所述加密隐私交易数据进行解密。
  21. 如权利要求19所述的装置,其中,所述加密隐私交易数据包括利用对称密钥进行对称加密的隐私交易数据和利用对应区块链节点的公钥进行非对称加密的对称密钥,所述交易数据解密单元包括:
    对称密钥解密模块,被配置为使用对应区块链节点的私钥对被非对称加密的对称密钥进行非对称解密,以得到所述对称密钥;以及
    交易数据解密模块,被配置为在解密得到对称密钥时,利用所述对称密钥对被对称加密的隐私交易数据进行对称解密,以得到所述隐私交易数据。
  22. 如权利要求19-21中任一项所述的装置,其中,所述加密隐私交易数据具有标识相应隐私交易数据的生成时间的时间戳,所述装置还包括:
    主链上链单元,被配置为在所述加密隐私数据通过共识之后,在利用对应执行区块链节点分组中约定的解密密钥对所述加密隐私交易数据进行解密之前,基于所述时间戳,将所述加密隐私交易数据生成主链区块并存储在主链中,所述主链中存储有区块链网络中的经过共识的所有交易数据,
    所述交易数据解密单元被配置为:
    当监听到主链上生成主链区块时,利用对应执行区块链节点分组中约定的解密密钥对该主链区块中的加密隐私交易数据进行解密。
  23. 如权利要求22所述的装置,其中,所述加密隐私交易数据具有执行区块链节点分组标识,所述交易数据解密单元被配置为:
    当监听到主链上生成主链区块时,如果该主链区块中存在加密隐私交易数据,并且基于该主链区块中存在的加密隐私交易数据的执行区块链节点分组标识,确定出该主链区块中存在对应区块链节点参与执行的加密隐私交易数据,则利用约定的密钥对所述加密隐私交易数据进行解密。
  24. 如权利要求22所述的装置,还包括:
    私链上链单元,被配置为经过所述执行处理后,将所述隐私交易数据和相应执行结果生成私链区块,并存储到对应区块链节点的私链中,所述私链中存储有对应区块链节点参与执行的隐私交易数据和相应执行结果。
  25. 如权利要求24中任一项所述的装置,所述私链上链单元还被配置为:
    当监听到主链上生成主链区块并且该主链区块中不存在对应区块链节点参与执行的加密隐私交易数据时,在对应区块链节点的私链中保存一个对应于该主链区块的空块。
  26. 一种区块链节点,包括:
    权利要求15-18中任一项所述的装置;以及
    权利要求19-25中任一项所述的装置。
  27. 一种计算设备,包括:
    至少一个处理器;以及
    存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到6中任一所述的方法。
  28. 一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到6中任一所述的方法。
  29. 一种计算设备,包括:
    至少一个处理器;以及
    存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求7到13中任一所述的方法。
  30. 一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求7到13中任一所述的方法。
PCT/CN2021/081713 2020-04-02 2021-03-19 区块链交易处理方法及装置和区块链节点 WO2021197091A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010253639.6 2020-04-02
CN202010253639.6A CN111143885B (zh) 2020-04-02 2020-04-02 区块链交易处理方法及装置和区块链节点

Publications (1)

Publication Number Publication Date
WO2021197091A1 true WO2021197091A1 (zh) 2021-10-07

Family

ID=70528720

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/081713 WO2021197091A1 (zh) 2020-04-02 2021-03-19 区块链交易处理方法及装置和区块链节点

Country Status (2)

Country Link
CN (1) CN111143885B (zh)
WO (1) WO2021197091A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113919846A (zh) * 2021-12-15 2022-01-11 腾讯科技(深圳)有限公司 区块链节点动态分组方法、装置、计算机设备和存储介质
CN114564756A (zh) * 2022-03-03 2022-05-31 广州万辉信息科技有限公司 一种基于区块链的专利质押业务处理平台及方法
CN114640462A (zh) * 2022-02-17 2022-06-17 北京邮电大学 区块链隐私保护方法、装置、电子设备及存储介质
US20230081416A1 (en) * 2021-09-10 2023-03-16 International Business Machines Corporation Anonymous private shared partitions in blockchain networks
US20230099538A1 (en) * 2021-09-27 2023-03-30 International Business Machines Corporation Private ledger partitions in blockchain networks

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143885B (zh) * 2020-04-02 2020-07-17 支付宝(杭州)信息技术有限公司 区块链交易处理方法及装置和区块链节点
CN111522648B (zh) 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
EP3957025B1 (en) * 2020-07-03 2022-12-28 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for providing privacy and security protection in blockchain-based private transactions
CN112039893B (zh) * 2020-08-31 2023-04-18 成都质数斯达克科技有限公司 私密交易处理方法、装置、电子设备及可读存储介质
CN112232956B (zh) * 2020-10-16 2024-05-14 中国银联股份有限公司 一种基于区块链的智慧停车的数据处理方法及装置
CN112685790B (zh) * 2021-03-19 2021-06-25 中企链信(北京)科技有限公司 一种区块链数据安全及隐私保护方法
CN112884588B (zh) * 2021-04-30 2021-08-03 支付宝(杭州)信息技术有限公司 区块链交易执行方法、区块链节点及控制装置
CN113630247A (zh) * 2021-08-14 2021-11-09 永旗(北京)科技有限公司 一种区块链节点间的通信方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610578A (zh) * 2016-01-25 2016-05-25 杭州复杂美科技有限公司 区块链信息存证及隐私保护方法
CN110276613A (zh) * 2019-06-20 2019-09-24 卓尔智联(武汉)研究院有限公司 基于区块链的数据处理装置、方法及计算机可读存储介质
CN110335043A (zh) * 2019-07-03 2019-10-15 中国银行股份有限公司 一种基于区块链系统的交易隐私保护方法、设备以及系统
CN111143885A (zh) * 2020-04-02 2020-05-12 支付宝(杭州)信息技术有限公司 区块链交易处理方法及装置和区块链节点

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610578A (zh) * 2016-01-25 2016-05-25 杭州复杂美科技有限公司 区块链信息存证及隐私保护方法
CN110276613A (zh) * 2019-06-20 2019-09-24 卓尔智联(武汉)研究院有限公司 基于区块链的数据处理装置、方法及计算机可读存储介质
CN110335043A (zh) * 2019-07-03 2019-10-15 中国银行股份有限公司 一种基于区块链系统的交易隐私保护方法、设备以及系统
CN111143885A (zh) * 2020-04-02 2020-05-12 支付宝(杭州)信息技术有限公司 区块链交易处理方法及装置和区块链节点

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230081416A1 (en) * 2021-09-10 2023-03-16 International Business Machines Corporation Anonymous private shared partitions in blockchain networks
US20230099538A1 (en) * 2021-09-27 2023-03-30 International Business Machines Corporation Private ledger partitions in blockchain networks
US11968307B2 (en) * 2021-09-27 2024-04-23 International Bisuness Machines Corporation Private ledger partitions in blockchain networks
CN113919846A (zh) * 2021-12-15 2022-01-11 腾讯科技(深圳)有限公司 区块链节点动态分组方法、装置、计算机设备和存储介质
CN114640462A (zh) * 2022-02-17 2022-06-17 北京邮电大学 区块链隐私保护方法、装置、电子设备及存储介质
CN114640462B (zh) * 2022-02-17 2024-05-17 北京邮电大学 区块链隐私保护方法、装置、电子设备及存储介质
CN114564756A (zh) * 2022-03-03 2022-05-31 广州万辉信息科技有限公司 一种基于区块链的专利质押业务处理平台及方法

Also Published As

Publication number Publication date
CN111143885B (zh) 2020-07-17
CN111143885A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
WO2021197091A1 (zh) 区块链交易处理方法及装置和区块链节点
CN107911216B (zh) 一种区块链交易隐私保护方法及系统
Ruffing et al. P2P mixing and unlinkable bitcoin transactions
CN108810029B (zh) 一种微服务架构服务间鉴权系统及优化方法
Asokan Fairness in electronic commerce
US7353382B2 (en) Security framework and protocol for universal pervasive transactions
KR101985179B1 (ko) 블록체인 기반의 ID as a Service
US20030190046A1 (en) Three party signing protocol providing non-linkability
CN109728909A (zh) 基于USBKey的身份认证方法和系统
EP1508993A1 (en) Information processing system and method, information processing device and method, recording medium, and program
US11240041B2 (en) Blockchain-based transaction verification
JPWO2017195886A1 (ja) 認証システム、認証方法およびプログラム
CN113034135A (zh) 基于区块链的信息处理方法、装置、设备、介质和产品
CN115242553A (zh) 一种支持安全多方计算的数据交换方法及系统
CN115396115A (zh) 区块链数据隐私保护方法、装置、设备及可读存储介质
Thammarat et al. A secure fair exchange for SMS‐based mobile payment protocols based on symmetric encryption algorithms with formal verification
Gürgens et al. On the security of fair non-repudiation protocols
Lindell Legally-enforceable fairness in secure two-party computation
US11469905B2 (en) Device and method for processing public key of user in communication system that includes a plurality of nodes
CN113746645B (zh) 基于可计费数字证书的公共场景匿名通信计费系统和方法
US20220200792A1 (en) Selective data disclosure via a block chain
CN115526629A (zh) 基于区块链网络的收单交易方法、装置及身份认证装置
Wang et al. MOBT: A kleptographically-secure hierarchical-deterministic wallet for multiple offline Bitcoin transactions
CN114448636B (zh) 基于数字证书的抗量子计算数字货币系统及匿名通信方法
Jiang Timed encryption with application to deniable key exchange

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21781083

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21781083

Country of ref document: EP

Kind code of ref document: A1