WO2019100864A1 - 一种数据处理方法和装置 - Google Patents
一种数据处理方法和装置 Download PDFInfo
- Publication number
- WO2019100864A1 WO2019100864A1 PCT/CN2018/109984 CN2018109984W WO2019100864A1 WO 2019100864 A1 WO2019100864 A1 WO 2019100864A1 CN 2018109984 W CN2018109984 W CN 2018109984W WO 2019100864 A1 WO2019100864 A1 WO 2019100864A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transaction
- data
- root
- predetermined
- verification result
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the present invention relates to the field of computer technologies, and in particular, to a data processing method and apparatus.
- the "blockchain” technology was originally a special distributed database technology designed by a person named "Zhongben Cong” as a digital currency - bitcoin. It is suitable for storing simple, hierarchical data that can be verified in the system, and uses cryptography and consensus algorithms to ensure that the stored data is not tamperable, unforgeable, and transparent across the network.
- the embodiment of the present specification provides a data processing method and apparatus for solving the problem that the existing blockchain technology is prone to data leakage.
- the embodiment of the present specification provides a data processing method, including:
- the transaction initiator determines the information that needs to be hidden in the transaction data
- the method before the input of the transaction data as a predetermined one-way function, the method further includes:
- the transaction root of the output of the predetermined one-way function is obtained by using the transaction data as an input of a predetermined one-way function, including:
- the obtained input transaction root and output transaction root are taken as the transaction root to be uplinked.
- the data of the transaction is the input of the second predetermined one-way function
- the output transaction root of the output of the second predetermined one-way function is:
- the establishing the legal proof data that needs to be hidden according to the transaction root includes:
- the embodiment of the present specification provides a data processing method, including:
- the transaction root is obtained by inputting the transaction data as a predetermined one-way function, the certification data Used to prove that the transaction data needs to be hidden;
- Verifying the transaction root obtaining a first verification result; verifying the certification data according to the transaction root, and obtaining a second verification result;
- the verifying the transaction root includes:
- verifying whether the transaction root has a legal signature includes:
- the verifying the transaction root includes:
- the output transaction root is constructed from the transactiond data in the transaction data.
- the verifying the transaction root includes:
- the input transaction root is constructed from pre-transaction data in the transaction data.
- the determining, according to the first verification result and the second verification result, that the response/rejection response to the transaction request comprises:
- the embodiment of the present specification provides a data processing method, including:
- the transaction initiator determines the information that needs to be hidden in the transaction data
- Transmitting the transaction root and the certification data to a transaction recipient the transaction recipient verifies the transaction root, and after the verification is passed, initiating the certification data and the transaction initiator, The transaction root signed by the transaction recipient is written to the transaction request of the blockchain.
- the embodiment of the present specification provides a data processing method, including:
- the transaction recipient receives the transaction root and the proof data sent by the transaction sender; the transaction root is obtained by inputting the transaction data as a predetermined one-way function, and the proof data is used to prove the information that needs to be hidden in the transaction data. ;
- the verification result is a pass
- initiate a transaction request to write the proof data and the transaction root with the transaction originator and the transaction recipient signature into the blockchain, so that the node pair in the blockchain
- the transaction root and the proof data are subjected to consensus verification, and the transaction request is responded/rejected according to the verification result.
- the embodiment of the present specification provides a data processing method, including:
- the transaction root is obtained by inputting the transaction data initiated by the transaction initiator as a predetermined one-way function
- the proof data is used to prove information in the transaction data that needs to be hidden
- Verifying the transaction root obtaining a first verification result; verifying the certification data according to the transaction root, and obtaining a second verification result;
- the verifying the transaction root includes:
- the embodiment of the present specification provides a data processing apparatus, including:
- a processing unit configured to acquire, by using the transaction data as an input of a predetermined one-way function, a transaction root output by the predetermined one-way function, and construct legal proof data of the information that needs to be hidden according to the transaction root;
- An initiating unit configured to initiate a transaction request to write the proof data and a transaction root with the transaction originator signature into a blockchain, so that a node in the blockchain pairs the transaction root and the proof data A consensus verification is performed, and the transaction request is responded/rejected according to the verification result.
- the determining unit is further configured to determine pre-transaction data and post-transaction data in the transaction data;
- the processing unit is specifically configured to obtain an input transaction root output by the first predetermined one-way function by using the data before the transaction as an input of the first predetermined one-way function; and using the data after the transaction as the second predetermined order
- the input to the function obtains the output transaction root of the second predetermined one-way function output; the obtained input transaction root and the output transaction root are taken as the transaction root to be uplinked.
- the processing unit is configured to construct a bottom layer of the predetermined one-way function tree according to the transaction data and the random number, and determine an output transaction root corresponding to the top layer of the predetermined one-way function tree.
- the processing unit is configured to perform a predetermined logical operation by using the transaction root and the information that needs to be hidden as input; and the information that needs to be hidden is a protection object, and the logical operation is zero. Proof of knowledge, obtaining proof data.
- the embodiment of the present specification provides a data processing apparatus, including:
- a receiving unit configured to receive a transaction request sent by a transaction initiator, where the transaction request is used to request that the transaction root and the proof data are written into the blockchain; the transaction root is obtained by inputting the transaction data as a predetermined one-way function The proof data is used to prove information in the transaction data that needs to be hidden;
- a verification unit configured to verify the transaction root, obtain a first verification result, verify the certification data according to the transaction root, and obtain a second verification result
- a response unit configured to respond/reject the response to the transaction request according to the first verification result and the second verification result.
- the verification unit is specifically configured to verify whether the transaction root has a legal signature.
- the verification unit is specifically configured to determine an address that has an association relationship with an output transaction root in the transaction root, where the output transaction root is constructed according to the transaction data in the transaction data; If the number of known addresses is 1, it is verified whether the transaction root has a signature corresponding to the transaction originator.
- the verification unit is specifically configured to verify whether an output transaction root in the transaction root is overlapped with an output transaction root and an input transaction root; the output transaction root is a transaction according to the transaction data. After the data is built.
- the verification unit is specifically configured to verify whether the input transaction root in the transaction root is duplicated with the output transaction root and the input transaction root; the input transaction root is a transaction according to the transaction data.
- the former data was built.
- the response unit is configured to: if the first verification result and the second verification result are both passed, respond to the transaction request to send a transaction root and a certificate with a transaction initiator signature The data is written into the blockchain; if the first verification result and/or the second verification result is not passed, the transaction request is rejected.
- the embodiment of the present specification provides a data processing apparatus, including:
- a determining unit configured by the transaction initiator to determine information that needs to be hidden in the transaction data
- a processing unit configured to acquire, by using the transaction data as an input of a predetermined one-way function, a transaction root of the predetermined one-way function output, and construct legal proof data of the information that needs to be hidden according to the transaction root;
- a sending unit configured to send the transaction root and the proof data to a transaction recipient, where the transaction recipient verifies the transaction root, and after the verification is passed, initiate the verification data and the The transaction originator, the transaction root signed by the transaction recipient, writes a transaction request to the blockchain.
- the embodiment of the present specification provides a data processing apparatus, including:
- a receiving unit configured to receive a transaction root and proof data sent by the transaction sender; the transaction root is obtained by inputting the transaction data as a predetermined one-way function, and the proof data is used to prove that the transaction data needs to be hidden Information;
- a verification unit configured to verify the transaction root according to the information that needs to be hidden and the predetermined one-way function
- An initiating unit configured to initiate a transaction request that writes the proof data and a transaction root with the transaction originator and the transaction recipient signature into a blockchain to make a blockchain if the verification result is a pass
- the node in the node performs consensus verification on the transaction root and the proof data, and responds/rejects the response to the transaction request according to the verification result.
- the embodiment of the present specification provides a data processing apparatus, including:
- a receiving unit configured to receive a transaction request sent by the transaction recipient, the transaction request is used to request that the transaction root and the certification data be written into the blockchain;
- the transaction root is a predetermined one-way transaction data initiated by the transaction initiator Obtained by the input of the function, the proof data is used to prove information in the transaction data that needs to be hidden;
- a verification unit configured to verify the transaction root, obtain a first verification result, verify the certification data according to the transaction root, and obtain a second verification result
- a response unit configured to respond/reject the response to the transaction request according to the first verification result and the second verification result.
- the verification unit is specifically configured to determine an address that has an association relationship with an output transaction root in the transaction root, where the output transaction root is constructed according to the transaction data in the transaction data; If the number of the learned addresses is greater than or equal to a predetermined threshold, it is verified whether the transaction root carries a signature corresponding to the transaction originator and the transaction recipient.
- the embodiment of the present specification provides a data processing apparatus, including:
- a memory arranged to store computer executable instructions that, when executed, cause the processor to:
- the embodiment of the present specification provides a data processing apparatus, including:
- a memory arranged to store computer executable instructions that, when executed, cause the processor to perform the following operations:
- the transaction root is obtained by inputting the transaction data as a predetermined one-way function, the certification data Used to prove that the transaction data needs to be hidden;
- Verifying the transaction root obtaining a first verification result; verifying the certification data according to the transaction root, and obtaining a second verification result;
- the embodiment of the present specification provides a data processing apparatus, including:
- a memory arranged to store computer executable instructions that, when executed, cause the processor to perform the following operations:
- Transmitting the transaction root and the certification data to a transaction recipient the transaction recipient verifies the transaction root, and after the verification is passed, initiating the certification data and the transaction initiator, The transaction root signed by the transaction recipient is written to the transaction request of the blockchain.
- the embodiment of the present specification provides a data processing apparatus, including:
- a memory arranged to store computer executable instructions that, when executed, cause the processor to perform the following operations:
- the transaction root is obtained by inputting the transaction data as a predetermined one-way function, and the proof data is used to prove information in the transaction data that needs to be hidden;
- the verification result is a pass
- initiate a transaction request to write the proof data and the transaction root with the transaction originator and the transaction recipient signature into the blockchain, so that the node pair in the blockchain
- the transaction root and the proof data are subjected to consensus verification, and the transaction request is responded/rejected according to the verification result.
- the embodiment of the present specification provides a data processing apparatus, including:
- a memory arranged to store computer executable instructions that, when executed, cause the processor to perform the following operations:
- the transaction root is obtained by inputting the transaction data initiated by the transaction initiator as a predetermined one-way function
- the proof data is used to prove information in the transaction data that needs to be hidden
- Verifying the transaction root obtaining a first verification result; verifying the certification data according to the transaction root, and obtaining a second verification result;
- this embodiment first guarantees the authenticity and non-tamperability of the transaction data through a one-way function, and then proves the legality of the information that needs to be hidden by constructing the proof data, without revealing any need to hide to the non-transaction participants. information. Compared with the existing data of any node, the data will be leaked. Basically, the data in the node is leaked, and the attacker still cannot view the private data of each node, so it can be improved. The purpose of blockchain data security.
- FIG. 1 is a schematic diagram of an application scenario of a data processing method according to an embodiment of the present disclosure
- FIG. 2 is a schematic flow chart of a data processing method according to Embodiment 1 of the present specification
- FIG. 3 is a schematic flowchart diagram of a data processing method according to Embodiment 2 of the present specification
- FIG. 4 is a schematic flowchart of a data processing method according to Embodiment 3 of the present specification.
- FIG. 5 is a schematic flowchart diagram of a data processing method according to Embodiment 4 of the present specification.
- FIG. 6a is a schematic flowchart of constructing a transaction root in a data processing method according to Embodiment 5 of the present specification
- FIG. 6b is a schematic flowchart of constructing proof data in a data processing method according to Embodiment 5 of the present specification
- FIG. 7 is a schematic structural diagram of a data processing apparatus according to Embodiment 6 of the present specification.
- FIG. 8 is a schematic structural diagram of a data processing apparatus according to Embodiment 7 of the present specification.
- FIG. 9 is a schematic structural diagram of a data processing apparatus according to Embodiment 8 of the present specification.
- FIG. 10 is a schematic structural diagram of a data processing apparatus according to Embodiment 9 of the present specification.
- FIG. 11 is a schematic structural diagram of a data processing apparatus according to Embodiment 10 of the present specification.
- FIG. 12 is a schematic structural diagram of an electronic device according to Embodiment 11 of the present specification.
- an application scenario of the present invention may be:
- the node A on the blockchain needs to transfer a sum of money from the first account of the transaction originator corresponding to the node A to the second account of the transaction initiator, or merge the first account and the second account.
- node A Before the transfer/merger is requested to be written into the blockchain in the form of a transaction, node A first determines the information that needs to be hidden in the transaction data of the transaction, for example, the input of the first account and the second account (eg, before the transaction) Balance), output (eg, post-transaction balance), etc. Then, the transaction root of the transaction is calculated, and the proof data of the information that needs to be hidden is constructed based on the transaction root to prove the legitimacy, authenticity, and the like of the information that needs to be hidden. The transaction root and proof data are then written into the blockchain in the form of a transaction.
- the blockchain allows the same person to apply for multiple accounts, but the blockchain is a signature mechanism that assigns a unique signature to each person. Therefore, when the transaction occurs between different accounts of the same person A, the transaction only has the signature of A.
- FIG. 1b another application scenario of the present invention may be:
- Node A on the blockchain needs to transfer a sum of money from the transaction initiator to the transaction recipient corresponding to Node B.
- node A Before the transfer is requested to be written into the blockchain in the form of a transaction, node A first determines the information that needs to be hidden in the transaction data of the transaction, for example, the input and output of the transaction initiator and the transaction receiver, the transaction initiator and the transaction. The balance of the recipient, etc. Then, the transaction root of the transaction is calculated, and the proof data of the information that needs to be hidden is constructed based on the transaction root to prove the validity, authenticity, and the like of the information that needs to be hidden. Then, the transaction root and the proof data are sent to the transaction recipient, and the transaction recipient verifies the transaction root.
- the transaction recipient signs the transaction root, and then initiates the certification data and the transaction initiator.
- the transaction root signed by the transaction recipient is written to the transaction request of the blockchain.
- the transaction recipient returns the signed transaction root + verification result to the transaction initiator to instruct the transaction initiator to initiate the verification data and the transaction root with the transaction initiator and the transaction recipient signature.
- the transfer or merger is an example made to facilitate understanding of the "transaction", but in fact, the "transaction” can also record a piece of information in node A, node A will be a piece of information It is sent to the node B and the like, and accordingly, the "required hidden information” can also be freely set, for example, the balance of the two parties of the transaction, etc., which is not limited herein.
- FIG. 2 is a schematic flowchart of a data processing method according to Embodiment 1 of the present disclosure. The method may be performed by a node participating in a transaction in a blockchain, and specifically includes the following steps:
- Step 22 The transaction initiator determines information that needs to be hidden in the transaction data
- step 22 may be:
- the node obtains a list of transactions completed by the transaction originator (user), and the transaction list includes options and contents corresponding to the options, such as: the payee, the payer, the payee balance before and after the transaction, and the balance before and after the payer transaction. Then, based on the predetermined hidden rule, the corresponding information is selected therefrom.
- the hidden rule may be: determining an option corresponding to the hidden option in the transaction list and its content based on the preset hidden option, and as the information that needs to be hidden. Examples of hidden options are: balance before and after the payee transaction, and balance before and after the payer transaction.
- the hidden rule may also be: selecting data corresponding to a specific keyword from the transaction list based on the preset screening rule, for example, the specific keyword is “balance” or “transaction amount”, and the corresponding number is selected.
- the filtered data is used as information that needs to be hidden.
- step 22 may be:
- the transaction initiator customizes the data that needs to be hidden in the transaction list and marks it. For example: mark the balance before and after the payee transaction, and the balance before and after the payer transaction.
- the node determines the information that needs to be hidden in the transaction data based on the mark.
- Step 24 The transaction root is used as an input of a predetermined one-way function, and the transaction root outputted by the predetermined one-way function is obtained, and the legal proof data of the information that needs to be hidden is constructed according to the transaction root;
- an implementation manner of constructing a transaction root in step 24 may be:
- the node parses the transaction data based on the transaction list corresponding to the transaction data to determine the pre-transaction data and the post-transaction data. For example: the balance before and after the payee transaction, and the balance before and after the payer transaction.
- the first predetermined one-way function and the second predetermined one-way function may be the same one-way function.
- the one-way function may be a one-way function tree, and correspondingly, the step of constructing the input transaction root/output transaction root may be specifically: constructing a bottom layer of the predetermined one-way function tree according to the data before and after the transaction and the random number, and determining the The input transaction root/output transaction root corresponding to the top level of the predetermined one-way function tree. For example, by adding a fixed-length random number after the balance before and after the transaction, such as defining a 128-bit number, the first 10 bits represent the balance, and the following bits are random numbers.
- the number of input transaction roots and output transaction roots is at least one. For example: (rootA (the leaf node is A's account balance of 100), rootB (the leaf node is B's account balance of 800), rootA' (the leaf node is A's account balance of 50), rootB' (the leaf node is B's account balance) 950), where rootA and rootB are the input transaction roots, rootA' and rootB' do not output the transaction root.
- the role of adding random numbers is to distinguish each input transaction root and output transaction root. To prevent collisions when validating them at subsequent consensus nodes.
- An implementation manner of constructing the proof data in step 24 may be:
- the predetermined logical operation may be a specific function customized according to the content that needs to be proved.
- the specific function may specifically input the transaction root and the information to be hidden, and calculate the first account and the second before the transaction.
- the balance of the account and the balance of the first account and the second account after the transaction are the same, or the difference between the balance before the transaction and the balance after the transaction does not exceed n yuan, and the interest of the second account after the transaction has increased, etc. .
- the entire function operation process outputs a proof in a zero-knowledge proof, that is, the hidden information can be used to calculate a specific function.
- Step 26 Initiating a transaction request that writes the proof data and a transaction root with the transaction originator signature into a blockchain, so that nodes in the blockchain agree on the transaction root and the proof data. Verification and response/rejection of the transaction request based on the verification result.
- this embodiment first guarantees the authenticity and non-tamperability of the transaction data through a one-way function, and then proves the legality of the information that needs to be hidden by constructing the proof data, without revealing any need to hide to the non-transaction participants. information. Compared with the prior art, it can effectively prevent the privacy of the entire blockchain data from being impaired by the data of any one node, and achieve the purpose of improving the security of the blockchain data.
- FIG. 3 is a schematic flowchart of a data processing method according to Embodiment 2 of the present disclosure.
- the method may be performed by a consensus node in a blockchain, and may specifically include the following steps:
- Step 32 Receive a transaction request sent by a transaction initiator, where the transaction request is used to request that the transaction root and the certification data be written into the blockchain; the transaction root is obtained by inputting the transaction data as a predetermined one-way function. The proof data is used to prove that the transaction data needs to be hidden;
- step 32 may be a step performed on the basis of Embodiment 1, wherein the transaction request, the transaction root, the proof data, and the like are all described in Embodiment 1, and therefore, the transaction request is not performed here. Narration.
- Step 34 Verify the transaction root, obtain a first verification result, verify the verification data according to the transaction root, and obtain a second verification result;
- An implementation of verifying the transaction root in step 34 can be:
- an address that is associated with an output transaction root in the transaction root is determined, the output transaction root is constructed according to the transactiond data in the transaction data; and if the number of learned addresses is 1, Then verify whether the transaction root has a signature corresponding to the transaction originator.
- each output transaction root corresponds to an address hash (pk), based on which the parties of the transaction can be determined, and then the transaction root is verified to have the signature of all participants and is legal. For example, if there is only one address, it can be considered as a transaction between different accounts of the same user. Further, if it is verified that the signature of the user is correct, the first verification result is passed.
- pk address hash
- the verification of the signature involves a digital signature mechanism of the blockchain, which is not limited herein.
- Another implementation of verifying the transaction root in step 34 can be:
- the implementation further includes:
- the purpose of verifying the output transaction root is to avoid “collisions.”
- the collision here can be understood as: there is the same (user) signature and the same input transaction root or output transaction root as the output transaction root, and the "money” that cannot be determined by the transaction root is that the user does not “flower”. Money, or the "money” that the user has “flowered” before.
- the resulting output transaction root is unique. Further, it can be compared whether the output transaction root and the output transaction root and the output transaction root that have been wound up are duplicated, and whether a collision occurs is determined based on the comparison result.
- Another implementation of verifying the transaction root in step 34 can be:
- the purpose of verifying the input transaction root is to avoid “double flower”.
- the "double flower” here can be understood as: the user simultaneously trades the "money” corresponding to the input transaction root to the other two users. Since the way to avoid it is similar to the way to verify the output of the transaction root, it will not be described here.
- the way in which the node distinguishes between the input transaction root and the output transaction root may be: the transaction root of Unspent Transaction Outputs (UTXO) is the input transaction root, and the rest is the output transaction. root.
- UXO Unspent Transaction Outputs
- An implementation manner of verifying the proof data in step 34 may be:
- the consensus node verifies the proof data based on the transaction root using a zero-knowledge proof algorithm. If the verification passes, the proof is correct.
- Step 36 Respond to/reject the response to the transaction request according to the first verification result and the second verification result.
- this embodiment first guarantees the authenticity and non-tamperability of the transaction data through a one-way function, and then proves the legality of the information that needs to be hidden by constructing the proof data, without revealing any need to hide to the non-transaction participants. information. Compared with the prior art, it can effectively prevent the privacy of the entire blockchain data from being impaired by the data of any one node, and achieve the purpose of improving the security of the blockchain data.
- FIG. 4 is a schematic flowchart of a data processing method according to Embodiment 3 of the present specification.
- the method may be performed by a node in a blockchain, and specifically includes the following.
- Step 42 The transaction node A (transaction initiator) determines the information that needs to be hidden in the transaction data;
- Step 44 The transaction node A obtains the transaction root output by the predetermined one-way function by using the transaction data as an input of a predetermined one-way function, and constructs legal proof data of the information that needs to be hidden according to the transaction root;
- Step 46 The transaction node A sends the transaction root and the certification data to the transaction node B (transaction receiver), and the transaction recipient verifies the transaction root, and after the verification is passed, initiates the The proof data and the transaction request with the transaction originator and the transaction root signed by the transaction recipient are written into the blockchain.
- Step 48 The transaction node B verifies the transaction root according to the information that needs to be hidden and the predetermined one-way function
- Step 410 The transaction node B determines whether the verification is passed
- Step 412 If the verification result is a pass, the transaction node B initiates a transaction request for writing the proof data and the transaction root with the transaction originator and the transaction recipient signature into the blockchain to make the block A node in the chain performs consensus verification on the transaction root and the proof data, and responds/rejects the response to the transaction request according to the verification result.
- Step 414 The consensus node performs verification on the transaction root to obtain a first verification result, and performs verification on the certification data according to the transaction root to obtain a second verification result.
- step 414 can be:
- Determining an address associated with an output transaction root in the transaction root the output transaction root being constructed based on the transactiond data in the transaction data; and verifying that the number of learned addresses is greater than or equal to a predetermined threshold, verifying Whether the transaction root carries a signature corresponding to the transaction originator and the transaction recipient.
- the predetermined threshold may be specifically 2.
- each output transaction root has a corresponding address, and the node participating in the transaction is determined based on the address, thereby verifying whether the nodes participating in the transaction all have signatures on the transaction root. If the signature is legal, the first verification result is by.
- Step 416 Respond to/reject the response to the transaction request according to the first verification result and the second verification result.
- this embodiment first guarantees the authenticity and non-tamperability of the transaction data through a one-way function, and then proves the legality of the information that needs to be hidden by constructing the proof data, without revealing any need to hide to the non-transaction participants. information. Compared with the prior art, it can effectively prevent the privacy of the entire blockchain data from being impaired by the data of any one node, and achieve the purpose of improving the security of the blockchain data.
- FIG. 5 is a schematic flowchart of a data processing method according to Embodiment 4 of the present specification. Referring to FIG. 5, the method may be performed by a node in a blockchain, and specifically includes the following.
- Step 52 The transaction node A (transaction initiator) determines the information that needs to be hidden in the transaction data;
- Step 54 The transaction node A obtains the transaction root output by the predetermined one-way function by using the transaction data as an input of a predetermined one-way function, and constructs legal proof data of the information that needs to be hidden according to the transaction root;
- Step 56 The transaction node A sends the transaction root and the certification data to the transaction node B (transaction receiver), and the transaction recipient verifies the transaction root, and after the verification is passed, initiates the The proof data and the transaction request with the transaction originator and the transaction root signed by the transaction recipient are written into the blockchain.
- Step 58 The transaction node B verifies the transaction root according to the information that needs to be hidden and the predetermined one-way function;
- Step 510 The transaction node B determines whether the verification is passed
- Step 512 If the verification result is passed, the transaction node B signs the transaction root, and sends the indication information for allowing the uplink to the transaction node A;
- Step 514 The transaction node A initiates a transaction request for writing the proof data and the transaction root with the transaction originator and the transaction recipient signature into the blockchain.
- Step 516 The consensus node performs verification on the transaction root to obtain a first verification result, and performs verification on the verification data according to the transaction root to obtain a second verification result.
- Step 518 Respond to/reject the response to the transaction request according to the first verification result and the second verification result.
- this embodiment first guarantees the authenticity and non-tamperability of the transaction data through a one-way function, and then proves the legality of the information that needs to be hidden by constructing the proof data, without revealing any need to hide to the non-transaction participants. information. Compared with the prior art, it can effectively prevent the privacy of the entire blockchain data from being impaired by the data of any one node, and achieve the purpose of improving the security of the blockchain data.
- Step S62 referring to FIG. 6a, before the transaction is chained, the transaction organization in the blockchain is a layered one-way function structure, the lowest layer uses the plaintext of the transaction, and the transaction initiator forms a tree through the one-way function. Finally form a transaction root root. Among them, plain text can be used as information that needs to be hidden.
- transaction organization format can also be any one-way function form that is not tree-like.
- Step S64 referring to FIG. 6b, if it is necessary to calculate the specific function f using the transaction data, f needs to input the data 1 of the transaction 1 (the transaction root is root) 2 as the hidden information, and the data 3 of the transaction 2 (the transaction root is root'). , transaction 3 (transaction root is root)) data 1", ie
- Root’ transaction root (data 3’)
- the specific function f is a function that is customized based on the hidden information that needs to be proved, so that the proof can be used, and the function type is not limited.
- the difference between the two sides of the transaction and the balance after the transaction are input, and the difference between the two is calculated; or, the balance before and after the transaction of the transaction initiator is input, and the balance difference before and after the transaction of the transaction initiator is calculated. No more than m and so on.
- Step S66 After receiving the certificate, the receiving party (the transaction receiving party or the non-transaction participating node in the blockchain) verifies the correctness of the certificate by using zero-knowledge proof, and thus is also sure of the correctness of the operation result.
- the receiving party the transaction receiving party or the non-transaction participating node in the blockchain
- the receiver only knows the result of the operation. If the operation function itself does not reveal the information of the operation result, the receiver does not know the input data information of the function.
- this embodiment can be used in one direction to prove that the content of the uplink transaction can be used to calculate a specific function, but the operation of the function does not expose the data privacy of either party.
- the blockchain guarantees the authenticity and non-tamperability of the data content through a one-way function.
- the zero-knowledge proof ensures that the data operation process satisfies the specific function of the two parties to achieve the agreement, and that the data does exist in the already-windowed transaction.
- FIG. 7 is a schematic structural diagram of a data processing apparatus according to Embodiment 6 of the present specification.
- the apparatus may specifically include: a determining unit 71, a processing unit 72, and an initiating unit 73, where:
- a determining unit 71 configured to determine information that needs to be hidden in the transaction data
- the processing unit 72 is configured to acquire, by using the transaction data as an input of a predetermined one-way function, a transaction root output by the predetermined one-way function, and construct legal proof data of the information that needs to be hidden according to the transaction root;
- An initiating unit 73 configured to initiate a transaction request that writes the proof data and a transaction root with the transaction originator signature into a blockchain, so that a node in the blockchain pairs the transaction root and the certificate
- the data is subjected to consensus verification and responds/rejects the response to the transaction request based on the verification result.
- the determining unit 71 is further configured to determine pre-transaction data and post-transaction data in the transaction data;
- the processing unit 72 is specifically configured to acquire the input transaction root of the first predetermined one-way function output by using the data before the transaction as the input of the first predetermined one-way function;
- the input of the one-way function is predetermined, and the output transaction root of the second predetermined one-way function output is obtained; the obtained input transaction root and the output transaction root are taken as the transaction root to be uplinked.
- the processing unit 72 is configured to construct a bottom layer of the predetermined one-way function tree according to the transaction data and the random number, and determine an output transaction root corresponding to the top layer of the predetermined one-way function tree.
- the processing unit 72 is specifically configured to perform a predetermined logical operation by using the transaction root and the information that needs to be hidden as input; using the information that needs to be hidden as a protection object, performing zero-knowledge proof on the logical operation, and obtaining a certificate data.
- FIG. 8 is a schematic structural diagram of a data processing apparatus according to Embodiment 7 of the present specification.
- the apparatus may specifically include: a receiving unit 81, a verification unit 82, and a response unit 83, where:
- the receiving unit 81 is configured to receive a transaction request sent by the transaction initiator, where the transaction request is used to request that the transaction root and the proof data are written into the blockchain; the transaction root is obtained by inputting the transaction data as a predetermined one-way function The proof data is used to prove that the transaction data needs to be hidden;
- the verification unit 82 is configured to verify the transaction root, obtain a first verification result, and verify the verification data according to the transaction root to obtain a second verification result;
- the response unit 83 is configured to respond/reject the response to the transaction request according to the first verification result and the second verification result.
- the working principle of the verification unit 82 may be:
- Verify that the transaction root has a valid signature Specifically: determining an address associated with an output transaction root in the transaction root, the output transaction root being constructed according to the transactiond data in the transaction data; and if the number of the learned address is 1, the verification is performed Whether the transaction root has a signature corresponding to the transaction originator.
- the output transaction root is constructed from the transactiond data in the transaction data.
- the input transaction root is constructed from pre-transaction data in the transaction data.
- the working principle of the response unit 83 can be:
- FIG. 9 is a schematic structural diagram of a data processing apparatus according to Embodiment 8 of the present specification.
- the apparatus may specifically include: a determining unit 91, a processing unit 92, and a sending unit 93, where:
- a determining unit 91 configured to determine, by the transaction initiator, information that needs to be hidden in the transaction data
- the processing unit 92 is configured to acquire the transaction root of the predetermined one-way function output by using the transaction data as an input of a predetermined one-way function, and construct legal proof data of the information that needs to be hidden according to the transaction root;
- the sending unit 93 is configured to send the transaction root and the proof data to the transaction recipient, and verify, by the transaction receiver, the transaction root, and after the verification is passed, initiate the verification data and The transaction originator, the transaction root signed by the transaction recipient, writes a transaction request of the blockchain.
- FIG. 10 is a schematic structural diagram of a data processing apparatus according to Embodiment 9 of the present specification.
- the apparatus may specifically include: a receiving unit 101, a verification unit 102, and an initiating unit 103, where:
- the receiving unit 101 is configured to receive a transaction root and proof data sent by the transaction sender; the transaction root is obtained by inputting the transaction data as a predetermined one-way function, and the proof data is used to prove the requirement in the transaction data.
- Hidden information is used to prove the requirement in the transaction data.
- the verification unit 102 is configured to verify the transaction root according to the information that needs to be hidden and the predetermined one-way function;
- the initiating unit 103 is configured to: if the verification result is a pass, initiate a transaction request that writes the proof data and a transaction root with the transaction originator and the transaction recipient signature into the blockchain to make the block A node in the chain performs consensus verification on the transaction root and the proof data, and responds/rejects the response to the transaction request according to the verification result.
- FIG. 11 is a schematic structural diagram of a data processing apparatus according to Embodiment 10 of the present specification.
- the apparatus may specifically include: a receiving unit 111, a verification unit 112, and a response unit 113, where:
- the receiving unit 111 is configured to receive a transaction request sent by the transaction receiver, where the transaction request is used to request that the transaction root and the certification data be written into the blockchain; the transaction root is the transaction data initiated by the transaction initiator as a predetermined order Obtained from the input of the function, the proof data is used to prove information in the transaction data that needs to be hidden;
- the verification unit 112 is configured to verify the transaction root, obtain a first verification result, and verify the certification data according to the transaction root to obtain a second verification result;
- the response unit 113 is configured to respond/reject the response to the transaction request according to the first verification result and the second verification result.
- the verification unit 112 is specifically configured to determine an address that has an association relationship with an output transaction root in the transaction root, where the output transaction root is constructed according to the transaction data in the transaction data; If the quantity is greater than or equal to a predetermined threshold, it is verified whether the transaction root carries a signature corresponding to the transaction originator and the transaction recipient.
- the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may of course include other services.
- Required hardware The processor reads the corresponding computer program from the non-volatile memory into memory and then runs to form a data processing device at a logical level.
- the present specification does not exclude other implementation manners, such as a logic device or a combination of software and hardware, etc., that is, the execution body of the following processing flow is not limited to each logical unit, and may be Hardware or logic device.
- the network interface, processor and memory can be connected to one another via a bus system.
- the bus may be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus.
- the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one double-headed arrow is shown in Figure 12, but it does not mean that there is only one bus or one type of bus.
- the memory is used to store the program.
- the program can include program code, the program code including computer operating instructions.
- the memory can include read only memory and random access memory and provides instructions and data to the processor.
- the memory may include a high-speed random access memory (RAM), and may also include a non-volatile memory such as at least one disk memory.
- a processor configured to execute the program stored in the memory, and specifically:
- the transaction root is obtained by inputting the transaction data as a predetermined one-way function, the certification data Used to prove that the transaction data needs to be hidden;
- Verifying the transaction root obtaining a first verification result; verifying the certification data according to the transaction root, and obtaining a second verification result;
- Transmitting the transaction root and the certification data to a transaction recipient the transaction recipient verifies the transaction root, and after the verification is passed, initiating the certification data and the transaction initiator, The transaction root signed by the transaction recipient is written to the transaction request of the blockchain.
- the transaction root is obtained by inputting the transaction data as a predetermined one-way function, and the proof data is used to prove information in the transaction data that needs to be hidden;
- the verification result is a pass
- initiate a transaction request to write the proof data and the transaction root with the transaction originator and the transaction recipient signature into the blockchain, so that the node pair in the blockchain
- the transaction root and the proof data are subjected to consensus verification, and the transaction request is responded/rejected according to the verification result.
- the transaction root is obtained by inputting the transaction data initiated by the transaction initiator as a predetermined one-way function
- the proof data is used to prove information in the transaction data that needs to be hidden
- Verifying the transaction root obtaining a first verification result; verifying the certification data according to the transaction root, and obtaining a second verification result;
- the method described above by the data processing apparatus or the master node disclosed in the embodiment shown in FIGS. 2-10 of the present specification may be applied to the processor or implemented by the processor.
- the processor may be an integrated circuit chip with signal processing capabilities.
- each step of the above method may be completed by an integrated logic circuit of hardware in a processor or an instruction in a form of software.
- the above processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; or may be a digital signal processor (DSP), dedicated integration.
- ASIC Application Specific Integrated Circuit
- FPGA Field-Programmable Gate Array
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
- the steps of the method disclosed in the embodiments of the present specification may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
- the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
- the storage medium is located in the memory, and the processor reads the information in the memory and combines the hardware to complete the steps of the above method.
- the data processing apparatus can also perform the methods of Figures 2-5 and implement the methods performed by the manager node.
- the embodiment of the present specification further provides a computer readable storage medium storing one or more programs, when the one or more programs are included in a plurality of applications
- the electronic device is caused to perform the data processing method provided in Embodiments 1-5.
- embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can 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, etc.) including computer usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
- These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
- the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
- a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
- processors CPUs
- input/output interfaces network interfaces
- memory volatile and non-volatile memory
- the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
- RAM random access memory
- ROM read only memory
- Memory is an example of a computer readable medium.
- Computer readable media includes both permanent and non-persistent, removable and non-removable media.
- Information storage can be implemented by any method or technology.
- the information can be computer readable instructions, data structures, modules of programs, 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 disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
- computer readable media does not include temporary storage of computer readable media, such as modulated data signals and carrier waves.
- embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can 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, etc.) including computer usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Economics (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种数据处理方法和装置。方法包括:区块链中的交易发起节点首先确定交易的交易数据,以及其中的需要隐藏的信息(22);然后,将交易数据作为预定单向函数的输入,获取交易的交易根,并基于交易根构建需要隐藏的信息对应的证明数据(24);最后,在对交易根进行签名后,发起将交易根和证明数据写入区块链的交易请求,由区块链中的节点对交易根和证明数据进行共识验证,并基于验证结果响应/拒绝响应该交易请求(26)。
Description
本发明涉及计算机技术领域,尤其涉及一种数据处理方法和装置。
“区块链”技术最初是由一位化名“中本聪”的人为一种数字货币-比特币而设计出的一种特殊的分布式数据库技术。它适合存储简单的、有先后关系的、能在系统内验证的数据,并用密码学和共识算法保证了存储的数据的不可篡改、不可伪造以及全网公开透明。
由于每个账户里的资产、交易记录都是公开的,因此,当任意一个账户获取到其他账户的账户地址时,即可通过区块链查询到其他账户里的所有资产和历史交易。
需要提供更加可靠的方案。
发明内容
本说明书实施例提供一种数据处理方法和装置,用于解决现有的区块链技术容易出现数据被泄露的问题。
本说明书实施例提供一种数据处理方法,包括:
交易发起方确定交易数据中需要隐藏的信息;
以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
发起将所述证明数据和带有所述交易发起方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
可选的,在以所述交易数据为预定单向函数的输入之前,还包括:
确定所述交易数据中的交易前的数据和交易后的数据;
其中,以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根包括:
以交易前的数据为第一预定单向函数的输入,获取所述第一预定单向函数输出的输入交易根;
以交易后的数据为第二预定单向函数的输入,获取所述第二预定单向函数输出的输出交易根;
将获取的输入交易根和输出交易根作为待上链的交易根。
可选的,以交易后的数据为第二预定单向函数的输入,获取所述第二预定单向函数输出的输出交易根包括:
根据所述交易后的数据和随机数构建预定单向函数树的底层,并确定所述预定单向函数树的顶层对应的输出交易根。
可选的,所述根据所述交易根构建所述需要隐藏的信息合法的证明数据包括:
以所述交易根和所述需要隐藏的信息为输入进行预定的逻辑运算;
以所述需要隐藏的信息为保护对象,对所述逻辑运算进行零知识证明,获取证明数据。
本说明书实施例提供一种数据处理方法,包括:
接收交易发起方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
可选的,所述对所述交易根进行验证包括:
验证所述交易根是否有合法的签名。
可选的,验证所述交易根是否有合法的签名包括:
确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;
若判断获知地址的数量为1,则验证所述交易根是否有与所述交易发起方对应的签名。
可选的,所述对所述交易根进行验证包括:
验证所述交易根中的输出交易根与已上链的输出交易根和输入交易根是否重复;所述输出交易根为根据所述交易数据中交易后的数据构建的。
可选的,所述对所述交易根进行验证包括:
验证所述交易根中的输入交易根与已上链的输出交易根和输入交易根是否重复;所述输入交易根为根据所述交易数据中交易前的数据构建的。
可选的,所述根据所述第一验证结果和所述第二验证结果确定响应/拒绝响应所述交易请求包括:
若所述第一验证结果和所述第二验证结果均为通过,则响应所述交易请求,以将带有交易发起方签名的交易根和证明数据写入区块链;
若所述第一验证结果和/或所述第二验证结果为未通过,则拒绝响应所述交易请求。
本说明书实施例提供一种数据处理方法,包括:
交易发起方确定交易数据中的需要隐藏的信息;
以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
向交易接收方发送所述交易根和所述证明数据,由所述交易接收方对所述交易根进行验证,并在验证通过后,发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
本说明书实施例提供一种数据处理方法,包括:
交易接收方接收交易发送方发送的交易根和证明数据;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
根据所述需要隐藏的信息和所述预定单向函数对所述交易根进行验证;
若验证结果为通过,则发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明 数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
本说明书实施例提供一种数据处理方法,包括:
接收交易接收方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易发起方发起的交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
可选的,所述对所述交易根进行验证包括:
确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;
若判断获知地址的数量为大于等于预定阈值,则验证所述交易根是否携带有与所述交易发起方和所述交易接收方对应的签名。
本说明书实施例提供一种数据处理装置,包括:
确定单元,用于确定交易数据中需要隐藏的信息;
处理单元,用于以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
发起单元,用于发起将所述证明数据和带有所述交易发起方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
可选的,所述确定单元,还用于确定所述交易数据中的交易前的数据和交易后的数据;
其中,所述处理单元,具体用于以交易前的数据为第一预定单向函数的输入,获取所述第一预定单向函数输出的输入交易根;以交易后的数据为第二预定单向函数的输入,获取所述第二预定单向函数输出的输出交易根;将获取的输入交易根和输出交易根作为待上链的交易根。
可选的,所述处理单元,具体用于根据所述交易后的数据和随机数构建预定单向函 数树的底层,并确定所述预定单向函数树的顶层对应的输出交易根。
可选的,所述处理单元,具体用于以所述交易根和所述需要隐藏的信息为输入进行预定的逻辑运算;以所述需要隐藏的信息为保护对象,对所述逻辑运算进行零知识证明,获取证明数据。
本说明书实施例提供一种数据处理装置,包括:
接收单元,用于接收交易发起方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
验证单元,用于对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
响应单元,用于根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
可选的,所述验证单元,具体用于验证所述交易根是否有合法的签名。
可选的,所述验证单元,具体用于确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;若判断获知地址的数量为1,则验证所述交易根是否有与所述交易发起方对应的签名。
可选的,所述验证单元,具体用于验证所述交易根中的输出交易根与已上链的输出交易根和输入交易根是否重复;所述输出交易根为根据所述交易数据中交易后的数据构建的。
可选的,所述验证单元,具体用于验证所述交易根中的输入交易根与已上链的输出交易根和输入交易根是否重复;所述输入交易根为根据所述交易数据中交易前的数据构建的。
可选的,所述响应单元,具体用于若所述第一验证结果和所述第二验证结果均为通过,则响应所述交易请求,以将带有交易发起方签名的交易根和证明数据写入区块链;若所述第一验证结果和/或所述第二验证结果为未通过,则拒绝响应所述交易请求。
本说明书实施例提供一种数据处理装置,包括:
确定单元,用于交易发起方确定交易数据中的需要隐藏的信息;
处理单元,用于以所述交易数据为预定单向函数的输入,获取所述预定单向函数输 出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
发送单元,用于向交易接收方发送所述交易根和所述证明数据,由所述交易接收方对所述交易根进行验证,并在验证通过后,发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
本说明书实施例提供一种数据处理装置,包括:
接收单元,用于接收交易发送方发送的交易根和证明数据;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
验证单元,用于根据所述需要隐藏的信息和所述预定单向函数对所述交易根进行验证;
发起单元,用于若验证结果为通过,则发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
本说明书实施例提供一种数据处理装置,包括:
接收单元,用于接收交易接收方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易发起方发起的交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
验证单元,用于对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
响应单元,用于根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
可选的,所述验证单元,具体用于确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;若判断获知地址的数量为大于等于预定阈值,则验证所述交易根是否携带有与所述交易发起方和所述交易接收方对应的签名。
本说明书实施例提供一种数据处理装置,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理 器执行以下操作:
确定交易数据中需要隐藏的信息;
以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
发起将所述证明数据和带有所述交易发起方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
本说明书实施例提供一种数据处理装置,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收交易发起方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
本说明书实施例提供一种数据处理装置,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
确定交易数据中的需要隐藏的信息;
以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
向交易接收方发送所述交易根和所述证明数据,由所述交易接收方对所述交易根进行验证,并在验证通过后,发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
本说明书实施例提供一种数据处理装置,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收交易发送方发送的交易根和证明数据;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
根据所述需要隐藏的信息和所述预定单向函数对所述交易根进行验证;
若验证结果为通过,则发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
本说明书实施例提供一种数据处理装置,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收交易接收方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易发起方发起的交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
可见,本实施例首先通过单向函数保证交易数据的真实性和不可篡改,然后,通过构建证明数据来证明需要隐藏的信息的合法性,而又不会向非交易参与方透露任何需要隐藏的信息。与现有中任意一个节点的数据被泄露将会导致所有数据被泄露的方案相比,基本是节点中的数据被泄露,攻击者依然无法查看到各方节点的隐私数据,因此,能达到提高区块链数据安全性的目的。
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1a和图1b为本说明书实施例提供的一种数据处理方法的应用场景示意图图;
图2为本说明书实施例1提供的一种数据处理方法的流程示意图;
图3为本说明书实施例2提供的一种数据处理方法的流程示意图;
图4为本说明书实施例3提供的一种数据处理方法的流程示意图;
图5为本说明书实施例4提供的一种数据处理方法的流程示意图;
图6a为本说明书实施例5提供的一种数据处理方法中构建交易根的流程示意图;
图6b为本说明书实施例5提供的一种数据处理方法中构建证明数据的流程示意图;
图7为本说明书实施例6提供的一种数据处理装置的结构示意图;
图8为本说明书实施例7提供的一种数据处理装置的结构示意图;
图9为本说明书实施例8提供的一种数据处理装置的结构示意图;
图10为本说明书实施例9提供的一种数据处理装置的结构示意图;
图11为本说明书实施例10提供的一种数据处理装置的结构示意图;
图12为本说明书实施例11提供的一种电子设备的结构示意图。
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,单向函数为,满足对于所有属于f定义域的任一x,可以很容易计算f(x)=y;对于几乎所有属于f值域的任一y,则在计算上不可能求出x使得y=f(x)。即:对于任何输入,容易计算输出,但是已知输出,很难推断输入。
零知识证明为,证明者能够在不向验证者提供任何有用的信息(受保护/隐藏信息)的情况下,使验证者相信某个论断是正确的。
参见图1a,本发明的一个应用场景可以为:
区块链上的节点A需要将一笔钱由节点A对应的交易发起方的第一账户转账至该交易发起方的第二账户,或者,将第一账户和第二账户进行合并。在将转账/合并以交易的形式请求写入区块链之前,节点A先确定该交易的交易数据中的需要隐藏的信息,例如:第一账户和第二账户的输入(如:交易前的余额)、输出(如:交易后的余额)等。然后,计算出该交易的交易根,并基于交易根构建需要隐藏的信息的证明数据,以证明需要隐藏的信息的合法性、真实性等。然后,将交易根和证明数据以交易的形式请求写入区块链中。
不难理解的是,区块链允许同一个人申请多个账户,但区块链是签名机制为每人分配唯一对应的签名。因此,在交易发生在同一人A的不同账户之间时,交易仅有A的签名即可。
参见图1b,本发明的另一个应用场景可以为:
区块链上的节点A需要将一笔钱由交易发起方转账至节点B对应的交易接收方。在将转账以交易的形式请求写入区块链之前,节点A先确定该交易的交易数据中的需要隐藏的信息,例如:交易发起方和交易接收方的输入、输出,交易发起方和交易接收方的余额等。然后,计算出该交易的交易根,并基于交易根构建需要隐藏的信息的证明数据,以证明需要隐藏的信息的有效性、真实性等。然后,将交易根和证明数据发送至交易接收方,由交易接收方对交易根进行验证,若验证无误,则由交易接收方对交易根签名后,发起将证明数据和带有交易发起方、交易接收方签名的交易根写入区块链的交易请求。或者,交易接收方在对交易根签名后,将签名后的交易根+验证结果返回给交易发起方,以指示交易发起方发起将证明数据和带有交易发起方、交易接收方签名的交易根写入区块链的交易请求。
其中,在上述两个应用场景中,转账或者合并均是为了便于理解“交易”而做出的示例,但实际上,“交易”还可以为在节点A中记录一条信息、节点A将一条信 息发送给节点B等等,相应地,“需要隐藏的信息”也可自由设置,例如:交易双方的余额等,此处不做限定。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
图2为本说明书实施例1提供的一种数据处理方法的流程示意图,该方法可由区块链中的参与交易的节点来执行,具体可以包括如下步骤:
步骤22、交易发起方确定交易数据中需要隐藏的信息;
需要说明的是,步骤22的一种实现方式可以为:
节点获取交易发起方(用户)完成的交易清单,交易清单中记载有选项以及选项对应的内容,例如:收款人、付款人、收款人交易前后余额、付款人交易前后余额等。然后,基于预定的隐藏规则,从中选取出对应的信息。
其中,隐藏规则可以为:基于预设置的隐藏选项,确定交易清单中与隐藏选项对应的选项及其内容,并作为需要隐藏的信息。隐藏选项举例为:收款人交易前后余额、付款人交易前后余额。
隐藏规则还可以为:基于预设置的筛选规则,从交易清单中选出与特定关键词对应的数据,例如:特定关键词为“余额”或者“交易额”,则筛选出的对应的数字,并将筛选出的数据作为需要隐藏的信息。
需要说明的是,步骤22的另一种实现方式可以为:
交易发起方在完成交易清单的过程中,自定义该交易清单中需要隐藏的数据并进行标记。例如:标记收款人交易前后余额、付款人交易前后余额。
则节点在获取到交易发起方完成交易清单后,基于标记确定交易数据中需要隐藏的信息。
步骤24、以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
需要说明的是,步骤24中构建交易根的一种实现方式可以为:
首先,节点基于交易数据对应的交易清单,对交易数据进行解析,以确定其中的交易前的数据和交易后的数据。例如:收款人交易前后余额、付款人交易前后余额。
然后,将交易前的数据作为第一预定单向函数的输入,获取所述第一预定单向函数输出的输入交易根;将交易后的数据作为第二预定单向函数的输入,获取所述第二预定单向函数输出的输出交易根。其中,第一预定单向函数和第二预定单向函数可以为同一单向函数。
其中,单向函数可以为单向函数树,相应地,构建输入交易根/输出交易根的步骤可以具体为:根据交易前后的数据和随机数构建预定单向函数树的底层,并确定所述预定单向函数树的顶层对应的输入交易根/输出交易根。例如:通过在交易前后的余额后面添加固定长度的随机数,比如定义一个128bit的数字,前10bit表示余额,后面的bit为随机数。
不难理解的是,输入交易根和输出交易根的数量为至少一个。例如:(rootA(叶节点为A的账户余额100),rootB(叶节点为B的账户余额800),rootA’(叶节点为A的账户余额50),rootB’(叶节点为B的账户余额950)。其中,rootA和rootB为输入交易根,rootA’和rootB’未输出交易根。另外,在构建交易根的过程中,添加随机数的作用是为了区分每个输入交易根和输出交易根,以在后续共识节点对其进行验证时,以防止碰撞。
步骤24中构建证明数据的一种实现方式可以为:
以所述交易根和所述需要隐藏的信息为输入进行预定的逻辑运算;以所述需要隐藏的信息为保护对象,对所述逻辑运算进行零知识证明,获取证明数据。
需要说明的是,预定的逻辑运算可以为根据需要证明的内容而自定义的特定函数。例如:当需要证明交易发起方的第一账户与第二账户之间发生了交易时,则特定函数可以具体为以交易根和需要隐藏的信息为输入,计算交易前的第一账户、第二账户的余额和交易后的第一账户、第二账户的余额是否相同,或者,交易前的余额与交易后的余额差值不超过n元,交易后第二账户的利息发生了增长了等等。然后,将整个函数运算过程用零知识证明的方式输出一个证明,即证明隐藏的信息可以用来计算特定函数。
步骤26、发起将所述证明数据和带有所述交易发起方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
可见,本实施例首先通过单向函数保证交易数据的真实性和不可篡改,然后,通过构建证明数据来证明需要隐藏的信息的合法性,而又不会向非交易参与方透露任何 需要隐藏的信息。与现有技术相比,能有效防止由于任意一个节点的数据被泄露而影响到整个区块链数据的隐私,达到提高区块链数据安全性的目的。
实施例2
图3为本说明书实施例2提供的一种数据处理方法的流程示意图,该方法可由区块链中的共识节点执行,具体可以包括如下步骤:
步骤32、接收交易发起方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
需要说明的是,步骤32可以为在实施例1的基础上进行的步骤,其中的交易请求、交易根和证明数据等在实施例1中均有相关描述,故,此处不再对其进行赘述。
步骤34、对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
步骤34中验证交易根的一种实现方式可以为:
验证所述交易根是否有合法的签名,若是,则第一验证结果为通过,若否,则第一验证结果为未通过。
具体地,首先,确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;若判断获知地址的数量为1,则验证所述交易根是否有与所述交易发起方对应的签名。
不难理解的是,每个输出交易根均对应一个地址hash(pk),基于该地址可判定此交易的参与方有哪些,然后,验证交易根是否有所有参与方的签名且合法。例如:地址只有1个,则可以认为是同一用户的不同账户之间的交易。进而若验证出该用户的签名无误,则第一验证结果为通过。
另外,对于签名的验证涉及区块链的数字签名机制,此处不做限定。
步骤34中验证交易根的另一种实现方式可以为:
在步骤34中验证交易根的上一种实现方式的基础上,本实现方式还进一步地:
验证所述交易根中的输出交易根与已上链的输出交易根和输入交易根是否重复,若是,则确定第一验证结果为未通过,若否,且有合法签名,则确定第一验证结果为通过。
具体的,验证输出交易根的目的是避免出现“碰撞”。此处的碰撞可以理解为:存在与该输出交易根具有同一(用户)签名且相同的输入交易根或输出交易根,导致的无法判定交易根对应的“钱”是用户未“花”的“钱,还是该用户之前已经“花”了的“钱”。
而由于在构建输出交易根时,向交易后的数据中添加了随机数,因此,得出的输出交易根具有唯一性。进而,可对比处该输出交易根与已经上链的输出交易根和输出交易根是否重复,并基于对比结果判定是否发生碰撞。
步骤34中验证交易根的另一种实现方式可以为:
在上一实现方式的基础上,进一步地验证所述交易根中的输入交易根与已上链的输出交易根和输入交易根是否重复;所述输入交易根为根据所述交易数据中交易前的数据构建的。
本实现方式中,验证输入交易根的目的在于避免“双花”。此处的“双花”可以理解为:用户将输入交易根对应的“钱”同时交易给其他两个用户。由于其避免方式与验证输出交易根的方式相似,故,此处不再赘述。
对于步骤34的后两种实现方式,节点区分输入交易根和输出交易根的方式可以为:存在未花费的交易输出(Unspent Transaction Outputs,UTXO)的交易根为输入交易根,其余则为输出交易根。
步骤34中验证证明数据的一种实现方式可以为:
共识节点基于交易根用零知识证明算法验证证明数据,若验证通过,则确定证明无误。
步骤36、根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
需要说明的是,若所述第一验证结果和所述第二验证结果均为通过,则响应所述交易请求,以将带有交易发起方签名的交易根和证明数据写入区块链;若所述第一验证结果和/或所述第二验证结果为未通过,则拒绝响应所述交易请求。
可见,本实施例首先通过单向函数保证交易数据的真实性和不可篡改,然后,通过构建证明数据来证明需要隐藏的信息的合法性,而又不会向非交易参与方透露任何需要隐藏的信息。与现有技术相比,能有效防止由于任意一个节点的数据被泄露而影响 到整个区块链数据的隐私,达到提高区块链数据安全性的目的。
实施例3
图4为本说明书实施例3提供的一种数据处理方法的流程示意图,参见图4,该方法可以有区块链中的节点执行,具体包括如下
步骤42、交易节点A(交易发起方)确定交易数据中的需要隐藏的信息;
步骤44、交易节点A以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
步骤46、交易节点A向交易节点B(交易接收方)发送所述交易根和所述证明数据,由所述交易接收方对所述交易根进行验证,并在验证通过后,发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
步骤48、交易节点B根据所述需要隐藏的信息和所述预定单向函数对所述交易根进行验证;
步骤410、交易节点B确定验证是否通过;
步骤412、若验证结果为通过,则交易节点B发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
步骤414、共识节点对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
步骤414的一种实现方式可以为:
确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;若判断获知地址的数量为大于等于预定阈值,则验证所述交易根是否携带有与所述交易发起方和所述交易接收方对应的签名。其中,预定阈值可以具体为2。
不难理解的是,每个输出交易根均有对应的地址,基于地址确定参与交易的节点,进而验证参与交易的节点是否都有在交易根上签名,若是且签名合法,则第一验证结果为通过。
步骤416、根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易 请求。
可见,本实施例首先通过单向函数保证交易数据的真实性和不可篡改,然后,通过构建证明数据来证明需要隐藏的信息的合法性,而又不会向非交易参与方透露任何需要隐藏的信息。与现有技术相比,能有效防止由于任意一个节点的数据被泄露而影响到整个区块链数据的隐私,达到提高区块链数据安全性的目的。
实施例4
图5为本说明书实施例4提供的一种数据处理方法的流程示意图,参见图5,该方法可以有区块链中的节点执行,具体包括如下
步骤52、交易节点A(交易发起方)确定交易数据中的需要隐藏的信息;
步骤54、交易节点A以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
步骤56、交易节点A向交易节点B(交易接收方)发送所述交易根和所述证明数据,由所述交易接收方对所述交易根进行验证,并在验证通过后,发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
步骤58、交易节点B根据所述需要隐藏的信息和所述预定单向函数对所述交易根进行验证;
步骤510、交易节点B确定验证是否通过;
步骤512、若验证结果为通过,则交易节点B对交易根进行签名,并向交易节点A发送允许上链的指示信息;
步骤514、交易节点A发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
步骤516、共识节点对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
步骤518、根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
可见,本实施例首先通过单向函数保证交易数据的真实性和不可篡改,然后,通过构建证明数据来证明需要隐藏的信息的合法性,而又不会向非交易参与方透露任何需要隐藏的信息。与现有技术相比,能有效防止由于任意一个节点的数据被泄露而影响 到整个区块链数据的隐私,达到提高区块链数据安全性的目的。
实施例5
结合图6a和6b,下面以实例的方式对本说明书进行详细说明,具体可以包括如下步骤:
步骤S62、参见图6a,在交易上链前,区块链中的交易组织为分层的单向函数结构,最底层采用的是交易的明文,交易发起方通过单向函数做成树状,最后形成一个交易根root。其中,明文可以作为需要隐藏的信息。
不难理解的是,因为所有交易内容都通过单向函数来组织,所以把交易根上链不会泄露任何数据隐私。
当然,交易组织格式也可以是非树状的任何单向函数形式。
步骤S64、参见图6b,假如需要利用交易数据计算特定函数f,f需要同时输入作为隐藏信息的交易1(交易根为root)的数据2、交易2(交易根为root’)的数据3’、交易3(交易根为root”)的数据1”,即
运算结果=f(数据2,数据3’,数据1”)
root=交易根(数据2)
root’=交易根(数据3’)
root”=交易根(数据1”)
那么,可以通过零知识证明,交易发起方证明以上所有陈述的正确性,但是又不泄露数据2、数据3’、数据1”。
需要说明的是,特定函数f为基于需要证明的隐藏的信息自定义的函数,以能起到证明为准,函数类型不限。例如:以交易双方的交易前的余额和交易后的余额为输入,计算两者的差值;或者,以交易发起方的交易前后的余额为输入,计算交易发起方的交易前后的余额差值不超过m等等。
步骤S66、接收方(交易接收方或者区块链中的非交易参与节点)接收到证明后,利用零知识证明验证该证明的正确性,因而也确信了运算结果的正确性。
但是接收方只知道运算结果,假如运算函数本身不泄露除运算结果的信息,那么接收方不会知道函数的输入数据信息。
可见,本实施例可以用于一方向另外一方证明已上链交易的内容可以用来计算特定函数,但是该函数的运算又不暴露任何一方数据隐私。区块链通过单向函数保证数 据内容的真实性和不可篡改,零知识证明保证数据运算过程满足双方实现约定的特定函数、以及该数据确实存在已经上链的交易。
对于上述方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。
实施例6
图7为本说明书实施例6提供的一种数据处理装置的结构示意图,参见图7,该装置具体可以包括:确定单元71、处理单元72和发起单元73,其中:
确定单元71,用于确定交易数据中需要隐藏的信息;
处理单元72,用于以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
发起单元73,用于发起将所述证明数据和带有所述交易发起方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
本实施例中,确定单元71,还用于确定所述交易数据中的交易前的数据和交易后的数据;
相应地,所述处理单元72,具体用于以交易前的数据为第一预定单向函数的输入,获取所述第一预定单向函数输出的输入交易根;以交易后的数据为第二预定单向函数的输入,获取所述第二预定单向函数输出的输出交易根;将获取的输入交易根和输出交易根作为待上链的交易根。
处理单元72,具体用于根据所述交易后的数据和随机数构建预定单向函数树的底层,并确定所述预定单向函数树的顶层对应的输出交易根。
处理单元72,具体用于以所述交易根和所述需要隐藏的信息为输入进行预定的逻辑运算;以所述需要隐藏的信息为保护对象,对所述逻辑运算进行零知识证明,获取证明数据。
实施例7
图8为本说明书实施例7提供的一种数据处理装置的结构示意图,参见图8,该装置具体可以包括:接收单元81、验证单元82和响应单元83,其中:
接收单元81,用于接收交易发起方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
验证单元82,用于对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
响应单元83,用于根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
其中,所述验证单元82的工作原理可以为:
验证所述交易根是否有合法的签名。具体地:确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;若判断获知地址的数量为1,则验证所述交易根是否有与所述交易发起方对应的签名。
验证所述交易根中的输出交易根与已上链的输出交易根和输入交易根是否重复;所述输出交易根为根据所述交易数据中交易后的数据构建的。
验证所述交易根中的输入交易根与已上链的输出交易根和输入交易根是否重复;所述输入交易根为根据所述交易数据中交易前的数据构建的。
响应单元83的工作原理可以为:
若所述第一验证结果和所述第二验证结果均为通过,则响应所述交易请求,以将带有交易发起方签名的交易根和证明数据写入区块链;若所述第一验证结果和/或所述第二验证结果为未通过,则拒绝响应所述交易请求。
实施例8
图9为本说明书实施例8提供的一种数据处理装置的结构示意图,参见图9,该装置具体可以包括:确定单元91、处理单元92和发送单元93,其中:
确定单元91,用于交易发起方确定交易数据中的需要隐藏的信息;
处理单元92,用于以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
发送单元93,用于向交易接收方发送所述交易根和所述证明数据,由所述交易接收方对所述交易根进行验证,并在验证通过后,发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
实施例9
图10为本说明书实施例9提供的一种数据处理装置的结构示意图,参见图10,该装置具体可以包括:接收单元101、验证单元102和发起单元103,其中:
接收单元101,用于接收交易发送方发送的交易根和证明数据;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
验证单元102,用于根据所述需要隐藏的信息和所述预定单向函数对所述交易根进行验证;
发起单元103,用于若验证结果为通过,则发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
实施例10
图11为本说明书实施例10提供的一种数据处理装置的结构示意图,参见图11,该装置具体可以包括:接收单元111、验证单元112和响应单元113,其中:
接收单元111,用于接收交易接收方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易发起方发起的交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
验证单元112,用于对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
响应单元113,用于根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
其中,验证单元112,具体用于确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;若判断获知地址的数量为大于等于预定阈值,则验证所述交易根是否携带有与所述交易发起方和所述交 易接收方对应的签名。
对于上述装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。
应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
实施例11
图12为本说明书实施例11提供的一种电子设备的结构示意图,参见图12,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据处理装置。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
确定交易数据中需要隐藏的信息;
以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
发起将所述证明数据和带有所述交易发起方签名的交易根写入区块链的交易请 求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
还用于,
接收交易发起方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
还用于,
确定交易数据中的需要隐藏的信息;
以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;
向交易接收方发送所述交易根和所述证明数据,由所述交易接收方对所述交易根进行验证,并在验证通过后,发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
还用于,
接收交易发送方发送的交易根和证明数据;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
根据所述需要隐藏的信息和所述预定单向函数对所述交易根进行验证;
若验证结果为通过,则发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
还用于,
接收交易接收方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易发起方发起的交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;
对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;
根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
上述如本说明书图2-10所示实施例揭示的数据处理装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
数据处理装置还可执行图2-图5的方法,并实现管理者节点执行的方法。
实施例12
基于相同的发明创造,本说明书实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行实施例1-5提供的数据处理方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特 定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他 数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (33)
- 一种数据处理方法,其特征在于,包括:交易发起方确定交易数据中需要隐藏的信息;以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;发起将所述证明数据和带有所述交易发起方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
- 根据权利要求1所述的方法,其特征在于,在以所述交易数据为预定单向函数的输入之前,还包括:确定所述交易数据中的交易前的数据和交易后的数据;其中,以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根包括:以交易前的数据为第一预定单向函数的输入,获取所述第一预定单向函数输出的输入交易根;以交易后的数据为第二预定单向函数的输入,获取所述第二预定单向函数输出的输出交易根;将获取的输入交易根和输出交易根作为待上链的交易根。
- 根据权利要求2所述的方法,其特征在于,以交易后的数据为第二预定单向函数的输入,获取所述第二预定单向函数输出的输出交易根包括:根据所述交易后的数据和随机数构建预定单向函数树的底层,并确定所述预定单向函数树的顶层对应的输出交易根。
- 根据权利要求1所述的方法,其特征在于,所述根据所述交易根构建所述需要隐藏的信息合法的证明数据包括:以所述交易根和所述需要隐藏的信息为输入进行预定的逻辑运算;以所述需要隐藏的信息为保护对象,对所述逻辑运算进行零知识证明,获取证明数据。
- 一种数据处理方法,其特征在于,包括:接收交易发起方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
- 根据权利要求5所述的方法,其特征在于,所述对所述交易根进行验证包括:验证所述交易根是否有合法的签名。
- 根据权利要求6所述的方法,其特征在于,验证所述交易根是否有合法的签名包括:确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;若判断获知地址的数量为1,则验证所述交易根是否有与所述交易发起方对应的签名。
- 根据权利要求5所述的方法,其特征在于,所述对所述交易根进行验证包括:验证所述交易根中的输出交易根与已上链的输出交易根和输入交易根是否重复;所述输出交易根为根据所述交易数据中交易后的数据构建的。
- 根据权利要求5所述的方法,其特征在于,所述对所述交易根进行验证包括:验证所述交易根中的输入交易根与已上链的输出交易根和输入交易根是否重复;所述输入交易根为根据所述交易数据中交易前的数据构建的。
- 根据权利要求5所述的方法,其特征在于,所述根据所述第一验证结果和所述第二验证结果确定响应/拒绝响应所述交易请求包括:若所述第一验证结果和所述第二验证结果均为通过,则响应所述交易请求,以将带有交易发起方签名的交易根和证明数据写入区块链;若所述第一验证结果和/或所述第二验证结果为未通过,则拒绝响应所述交易请求。
- 一种数据处理方法,其特征在于,包括:交易发起方确定交易数据中的需要隐藏的信息;以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;向交易接收方发送所述交易根和所述证明数据,由所述交易接收方对所述交易根进行验证,并在验证通过后,发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
- 一种数据处理方法,其特征在于,包括:交易接收方接收交易发送方发送的交易根和证明数据;所述交易根为以交易数据为 预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;根据所述需要隐藏的信息和所述预定单向函数对所述交易根进行验证;若验证结果为通过,则发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
- 一种数据处理方法,其特征在于,包括:接收交易接收方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易发起方发起的交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
- 根据权利要求13所述的方法,其特征在于,所述对所述交易根进行验证包括:确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;若判断获知地址的数量为大于等于预定阈值,则验证所述交易根是否携带有与所述交易发起方和所述交易接收方对应的签名。
- 一种数据处理装置,其特征在于,包括:确定单元,用于确定交易数据中需要隐藏的信息;处理单元,用于以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;发起单元,用于发起将所述证明数据和带有所述交易发起方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
- 根据权利要求15所述的装置,其特征在于,所述确定单元,还用于确定所述交易数据中的交易前的数据和交易后的数据;其中,所述处理单元,具体用于以交易前的数据为第一预定单向函数的输入,获取所述第一预定单向函数输出的输入交易根;以交易后的数据为第二预定单向函数的输入,获取所述第二预定单向函数输出的输出交易根;将获取的输入交易根和输出交易根作为待上链的交易根。
- 根据权利要求16所述的装置,其特征在于,所述处理单元,具体用于根据所述交易后的数据和随机数构建预定单向函数树的底层,并确定所述预定单向函数树的顶层对应的输出交易根。
- 根据权利要求15所述的装置,其特征在于,所述处理单元,具体用于以所述交易根和所述需要隐藏的信息为输入进行预定的逻辑运算;以所述需要隐藏的信息为保护对象,对所述逻辑运算进行零知识证明,获取证明数据。
- 一种数据处理装置,其特征在于,包括:接收单元,用于接收交易发起方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;验证单元,用于对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;响应单元,用于根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
- 根据权利要求19所述的装置,其特征在于,所述验证单元,具体用于验证所述交易根是否有合法的签名。
- 根据权利要求20所述的方法,其特征在于,所述验证单元,具体用于确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;若判断获知地址的数量为1,则验证所述交易根是否有与所述交易发起方对应的签名。
- 根据权利要求19所述的装置,其特征在于,所述验证单元,具体用于验证所述交易根中的输出交易根与已上链的输出交易根和输入交易根是否重复;所述输出交易根为根据所述交易数据中交易后的数据构建的。
- 根据权利要求19所述的装置,其特征在于,所述验证单元,具体用于验证所述交易根中的输入交易根与已上链的输出交易根和输入交易根是否重复;所述输入交易根为根据所述交易数据中交易前的数据构建的。
- 根据权利要求19所述的装置,其特征在于,所述响应单元,具体用于若所述第一验证结果和所述第二验证结果均为通过,则响应所述交易请求,以将带有交易发起方签名的交易根和证明数据写入区块链;若所述第一验证结果和/或所述第二验证结果为未通过,则拒绝响应所述交易请求。
- 一种数据处理装置,其特征在于,包括:确定单元,用于交易发起方确定交易数据中的需要隐藏的信息;处理单元,用于以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;发送单元,用于向交易接收方发送所述交易根和所述证明数据,由所述交易接收方对所述交易根进行验证,并在验证通过后,发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
- 一种数据处理装置,其特征在于,包括:接收单元,用于接收交易发送方发送的交易根和证明数据;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;验证单元,用于根据所述需要隐藏的信息和所述预定单向函数对所述交易根进行验证;发起单元,用于若验证结果为通过,则发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
- 一种数据处理装置,其特征在于,包括:接收单元,用于接收交易接收方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易发起方发起的交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;验证单元,用于对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;响应单元,用于根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
- 根据权利要求27所述的装置,其特征在于,所述验证单元,具体用于确定与所述交易根中的输出交易根具有关联关系的地址,所述输出交易根为根据所述交易数据中交易后的数据构建的;若判断获知地址的数量为大于等于预定阈值,则验证所述交易根是否携带有与所述交易发起方和所述交易接收方对应的签名。
- 一种数据处理装置,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:确定交易数据中需要隐藏的信息;以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;发起将所述证明数据和带有所述交易发起方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
- 一种数据处理装置,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:接收交易发起方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
- 一种数据处理装置,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:确定交易数据中的需要隐藏的信息;以所述交易数据为预定单向函数的输入,获取所述预定单向函数输出的交易根,并根据所述交易根构建所述需要隐藏的信息合法的证明数据;向交易接收方发送所述交易根和所述证明数据,由所述交易接收方对所述交易根进行验证,并在验证通过后,发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求。
- 一种数据处理装置,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:接收交易发送方发送的交易根和证明数据;所述交易根为以交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;根据所述需要隐藏的信息和所述预定单向函数对所述交易根进行验证;若验证结果为通过,则发起将所述证明数据和带有所述交易发起方、所述交易接收方签名的交易根写入区块链的交易请求,以使区块链中的节点对所述交易根和所述证明数据进行共识验证,并根据验证结果响应/拒绝响应所述交易请求。
- 一种数据处理装置,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:接收交易接收方发送的交易请求,所述交易请求用于请求将交易根和证明数据写入区块链;所述交易根为以交易发起方发起的交易数据为预定单向函数的输入获取的,所述证明数据用于证明所述交易数据中的需要隐藏的信息;对所述交易根进行验证,获取第一验证结果;根据所述交易根对所述证明数据进行验证,获取第二验证结果;根据所述第一验证结果和所述第二验证结果响应/拒绝响应所述交易请求。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18881760.5A EP3678079A4 (en) | 2017-11-23 | 2018-10-12 | DATA PROCESSING APPARATUS AND METHOD |
SG11202002560PA SG11202002560PA (en) | 2017-11-23 | 2018-10-12 | Data processing method and apparatus |
US16/780,819 US10931684B2 (en) | 2017-11-23 | 2020-02-03 | Data processing method and apparatus |
US17/169,410 US11108786B2 (en) | 2017-11-23 | 2021-02-06 | Data processing method and apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711185796.2 | 2017-11-23 | ||
CN201711185796.2A CN108171494A (zh) | 2017-11-23 | 2017-11-23 | 一种数据处理方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/780,819 Continuation US10931684B2 (en) | 2017-11-23 | 2020-02-03 | Data processing method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019100864A1 true WO2019100864A1 (zh) | 2019-05-31 |
Family
ID=62527546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/109984 WO2019100864A1 (zh) | 2017-11-23 | 2018-10-12 | 一种数据处理方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10931684B2 (zh) |
EP (1) | EP3678079A4 (zh) |
CN (1) | CN108171494A (zh) |
SG (1) | SG11202002560PA (zh) |
TW (1) | TWI684892B (zh) |
WO (1) | WO2019100864A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171494A (zh) | 2017-11-23 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
JP7364238B2 (ja) * | 2018-03-29 | 2023-10-18 | 日本電気株式会社 | 電子取引システム、取引サーバ、検証サーバ、電子取引方法及びプログラム |
CN108830107B (zh) * | 2018-06-25 | 2021-10-26 | 北京奇虎科技有限公司 | 保护隐私信息的方法、装置、电子设备及计算机可读存储介质 |
CN108985933A (zh) * | 2018-06-29 | 2018-12-11 | 联动优势科技有限公司 | 一种记账方法及装置 |
CN109035029A (zh) * | 2018-07-27 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 基于区块链的资产转移方法及装置、电子设备 |
CN109242685B (zh) * | 2018-08-29 | 2020-05-12 | 众安信息技术服务有限公司 | 基于区块链的共识和验证方法及装置 |
CN109272316B (zh) * | 2018-09-25 | 2021-05-25 | 广州智慧城市发展研究院 | 一种基于区块链网络下的区块实现方法及系统 |
CN110197433B (zh) * | 2018-10-25 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 数值转移方法、装置及系统 |
CN110011800B (zh) | 2018-11-07 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 一种区块链数据读取方法及装置 |
CN110046517B (zh) * | 2018-11-07 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 一种对写入区块链的交易进行隐匿的方法及装置 |
CN109636388B (zh) * | 2018-12-07 | 2024-02-23 | 深圳市智税链科技有限公司 | 区块链网络中的数据处理方法、装置、介质及电子设备 |
CN109685665B (zh) * | 2018-12-20 | 2020-09-29 | 姚前 | 一种链下资产托管转让的系统和方法 |
CN110020548B (zh) * | 2019-01-31 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种对写入块链的交易进行隐匿的方法及装置 |
CN110009341B (zh) * | 2019-01-31 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 一种对写入块链的交易进行隐匿的方法及装置 |
CN110046509B (zh) * | 2019-01-31 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 一种对写入块链的交易进行隐匿的方法及装置 |
US11115188B2 (en) | 2019-04-29 | 2021-09-07 | Advanced New Technologies Co., Ltd. | Blockchain-based data processing method, apparatus, and blockchain node |
CN110263580B (zh) * | 2019-04-29 | 2021-03-23 | 创新先进技术有限公司 | 基于区块链的数据处理方法、装置和区块链节点 |
CN110266644B (zh) * | 2019-05-20 | 2021-04-06 | 创新先进技术有限公司 | 结合代码标注与交易类型的收据存储方法和节点 |
WO2020241995A1 (ko) * | 2019-05-24 | 2020-12-03 | 광주과학기술원 | 블록체인의 거래검증시스템, 및 블록체인의 거래검증방법 |
CN110535639A (zh) * | 2019-08-20 | 2019-12-03 | 深圳市网心科技有限公司 | 基于多资产模型的区块链资产处理方法及相关设备 |
US10969431B1 (en) * | 2019-12-23 | 2021-04-06 | Intel Corporation | Error-tolerant architecture for power-efficient computing |
CN111932234B (zh) * | 2020-09-24 | 2024-07-12 | 国网数字科技控股有限公司 | 交易数据处理方法及装置 |
CN112101944A (zh) * | 2020-09-28 | 2020-12-18 | 平安壹钱包电子商务有限公司 | 一种高效隐私支付实现方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160358165A1 (en) * | 2015-06-08 | 2016-12-08 | Blockstream Corporation | Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction |
CN106487801A (zh) * | 2016-11-03 | 2017-03-08 | 江苏通付盾科技有限公司 | 基于区块链的信息验证方法及装置 |
CN106503994A (zh) * | 2016-11-02 | 2017-03-15 | 西安电子科技大学 | 基于属性加密的区块链隐私数据访问控制方法 |
CN107294709A (zh) * | 2017-06-27 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种区块链数据处理方法、装置及系统 |
CN108171494A (zh) * | 2017-11-23 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071640A1 (en) | 2003-09-25 | 2005-03-31 | General Instrument Corporation | Method and apparatus for authenticating data |
TWI340354B (en) * | 2006-12-14 | 2011-04-11 | Inst Information Industry | System, method, and computer readable medium for micropayment with varying denomination |
US20080230600A1 (en) | 2007-03-19 | 2008-09-25 | Cynthia Wills Black | Method, system, and apparatus for conducting a purchase transaction |
EP1986146A1 (en) * | 2007-04-27 | 2008-10-29 | Gemplus | Transaction method between two entities providing anonymity revocation for tree-based schemes without trusted party |
US9858401B2 (en) * | 2011-08-09 | 2018-01-02 | Biogy, Inc. | Securing transactions against cyberattacks |
CN108701276B (zh) | 2015-10-14 | 2022-04-12 | 剑桥区块链有限责任公司 | 用于管理数字身份的系统和方法 |
US20180331832A1 (en) | 2015-11-05 | 2018-11-15 | Allen Pulsifer | Cryptographic Transactions System |
US11562353B2 (en) * | 2015-11-24 | 2023-01-24 | Mastercard International Incorporated | Method and system for gross settlement by use of an opaque blockchain |
WO2017090041A1 (en) | 2015-11-24 | 2017-06-01 | Ben-Ari Adi | A system and method for blockchain smart contract data privacy |
US9849364B2 (en) | 2016-02-02 | 2017-12-26 | Bao Tran | Smart device |
JP6833861B2 (ja) * | 2016-02-23 | 2021-02-24 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ブロックチェーンシステム内におけるフィードバックを統合したエージェントベースチューリング完全なトランザクション |
EP3424177B1 (en) | 2016-02-29 | 2021-10-13 | SecureKey Technologies Inc. | Systems and methods for distributed identity verification |
EP3424179B1 (en) | 2016-03-04 | 2022-02-16 | Ping Identity Corporation | Method and system for authenticated login using static or dynamic codes |
US9985964B2 (en) | 2016-03-28 | 2018-05-29 | Black Gold Coin, Inc. | Systems and methods for providing block chain-based multifactor personal identity verification |
US10046228B2 (en) | 2016-05-02 | 2018-08-14 | Bao Tran | Smart device |
US10022613B2 (en) | 2016-05-02 | 2018-07-17 | Bao Tran | Smart device |
KR102050129B1 (ko) * | 2016-05-03 | 2019-11-28 | 안규태 | 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인 |
US9774578B1 (en) | 2016-05-23 | 2017-09-26 | Accenture Global Solutions Limited | Distributed key secret for rewritable blockchain |
US9635000B1 (en) | 2016-05-25 | 2017-04-25 | Sead Muftic | Blockchain identity management system based on public identities ledger |
US20180220278A1 (en) * | 2017-02-01 | 2018-08-02 | BriefTrace Ltd. | System and method for securing and verifying information from transportation monitors |
CN106934619B (zh) | 2017-03-13 | 2021-07-06 | 杭州复杂美科技有限公司 | 一种交易记录的方法及系统 |
CN107274184A (zh) * | 2017-05-11 | 2017-10-20 | 上海点融信息科技有限责任公司 | 基于零知识证明的区块链数据处理 |
US10438198B1 (en) * | 2017-05-19 | 2019-10-08 | Wells Fargo Bank, N.A. | Derived unique token per transaction |
CN107292621B (zh) * | 2017-06-22 | 2020-10-27 | 丁江 | 海量数据确权存证方法和节点 |
CN107360001B (zh) * | 2017-07-26 | 2021-12-14 | 创新先进技术有限公司 | 一种数字证书管理方法、装置和系统 |
US11316696B2 (en) * | 2017-09-29 | 2022-04-26 | R3 Ltd. | Hash subtrees for grouping components by component type |
US10567168B2 (en) * | 2017-11-16 | 2020-02-18 | International Business Machines Corporation | Blockchain transaction privacy enhancement through broadcast encryption |
-
2017
- 2017-11-23 CN CN201711185796.2A patent/CN108171494A/zh active Pending
-
2018
- 2018-09-19 TW TW107132935A patent/TWI684892B/zh active
- 2018-10-12 EP EP18881760.5A patent/EP3678079A4/en not_active Withdrawn
- 2018-10-12 WO PCT/CN2018/109984 patent/WO2019100864A1/zh unknown
- 2018-10-12 SG SG11202002560PA patent/SG11202002560PA/en unknown
-
2020
- 2020-02-03 US US16/780,819 patent/US10931684B2/en active Active
-
2021
- 2021-02-06 US US17/169,410 patent/US11108786B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160358165A1 (en) * | 2015-06-08 | 2016-12-08 | Blockstream Corporation | Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction |
CN106503994A (zh) * | 2016-11-02 | 2017-03-15 | 西安电子科技大学 | 基于属性加密的区块链隐私数据访问控制方法 |
CN106487801A (zh) * | 2016-11-03 | 2017-03-08 | 江苏通付盾科技有限公司 | 基于区块链的信息验证方法及装置 |
CN107294709A (zh) * | 2017-06-27 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种区块链数据处理方法、装置及系统 |
CN108171494A (zh) * | 2017-11-23 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3678079A4 * |
Also Published As
Publication number | Publication date |
---|---|
US11108786B2 (en) | 2021-08-31 |
SG11202002560PA (en) | 2020-04-29 |
US20210203669A1 (en) | 2021-07-01 |
EP3678079A1 (en) | 2020-07-08 |
TW201926115A (zh) | 2019-07-01 |
CN108171494A (zh) | 2018-06-15 |
US20200177603A1 (en) | 2020-06-04 |
US10931684B2 (en) | 2021-02-23 |
TWI684892B (zh) | 2020-02-11 |
EP3678079A4 (en) | 2020-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019100864A1 (zh) | 一种数据处理方法和装置 | |
CN109359971B (zh) | 区块链交易方法及装置、电子设备 | |
US11443368B2 (en) | Resource transfer and capital transfer method and apparatus | |
TWI727292B (zh) | 區塊鏈交易方法及裝置、電子設備 | |
TWI685240B (zh) | 區塊鏈交易方法及裝置、電子設備 | |
US11226952B2 (en) | Method, apparatus and electronic device for blockchain-based asset issuance | |
CN109559224B (zh) | 征信评估方法及装置、电子设备 | |
CN109359974B (zh) | 区块链交易方法及装置、电子设备 | |
CN109544129B (zh) | 区块链交易方法及装置、电子设备 | |
JP2020508593A (ja) | コンセンサス検証方法およびデバイス | |
WO2020037927A1 (zh) | 可协商的区块链交易方法、装置、设备及存储介质 | |
US20210334809A1 (en) | Transaction method and apparatus based on blind signature | |
CN113902440A (zh) | 一种基于分布式密钥的联盟链跨链交易方法和装置 | |
US20140337239A1 (en) | Method and system for obtaining offers from sellers using privacy-preserving verifiable statements | |
CN110349021B (zh) | 区块链中实现机密交易的方法及装置 | |
CN113902439A (zh) | 一种基于门限签名的联盟链跨链交易方法和装置 | |
CN113507432B (zh) | 一种联盟链权限管理方法和装置 | |
CN111383008B (zh) | 基于账户模型的区块链转账方法及装置 | |
CN111953773B (zh) | 去中心化地址映射方法及装置 | |
CN115442123B (zh) | 实名制认证方法、装置、电子设备及计算机可读介质 | |
CN114254345A (zh) | 一种基于区块链的秘密承诺生成与验证方法及装置 |
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: 18881760 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2018881760 Country of ref document: EP Effective date: 20200402 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |