CN108764874B - Anonymous transfer method, system and storage medium based on block chain - Google Patents

Anonymous transfer method, system and storage medium based on block chain Download PDF

Info

Publication number
CN108764874B
CN108764874B CN201810477299.8A CN201810477299A CN108764874B CN 108764874 B CN108764874 B CN 108764874B CN 201810477299 A CN201810477299 A CN 201810477299A CN 108764874 B CN108764874 B CN 108764874B
Authority
CN
China
Prior art keywords
node
transaction
currency
public key
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810477299.8A
Other languages
Chinese (zh)
Other versions
CN108764874A (en
Inventor
李辉忠
石翔
张开翔
范瑞彬
马国俊
刘雪峰
裴庆祺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201810477299.8A priority Critical patent/CN108764874B/en
Publication of CN108764874A publication Critical patent/CN108764874A/en
Application granted granted Critical
Publication of CN108764874B publication Critical patent/CN108764874B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The invention discloses an anonymous transfer method based on a block chain, which comprises the following steps: the first node initiates a transfer transaction request to the second node and receives public key information returned by the second node; the first node generates transaction information of the transaction and sends the transaction information to the second node, wherein the transaction information comprises a new currency commitment generated based on public key information, a transaction amount encrypted based on the public key information and a zero knowledge certificate; the second node verifies the transaction amount encrypted based on the public key information, and if the transaction amount is verified, the transaction information is published in the block chain network so that the miner can verify and book the transaction; and verifying the certification content in the zero knowledge certification by the miner node, and if the certification is passed, determining that the transaction is valid and recording the transaction information into the block chain. The invention also discloses an anonymous transfer system based on the block chain and a computer readable storage medium. The invention realizes anonymous transfer and ensures the privacy of information of both sides of the transaction based on block chain transfer.

Description

Anonymous transfer method, system and storage medium based on block chain
Technical Field
The invention relates to the technical field of blockchain finance, in particular to a method and a system for anonymous transfer based on blockchain and a computer readable storage medium.
Background
The existing blockchain network is a distributed network consisting of a plurality of participating organizations. Every transaction that occurs between any of the institutions is published over the network and all participating institutions receive and record the transaction, thereby generating an account book. This ledger exists in one copy at each institution and is identical, it is composed in transaction time order and is not tamperproof.
Because the existing transaction information based on the blockchain technology is in a clear text form, and each transfer transaction has a complete information record in each node, the risk of transaction information leakage in non-transaction related parties exists, for example, the transfer transaction information between AB and C is not necessarily leaked to AB.
Disclosure of Invention
The invention mainly aims to provide a block chain-based anonymous transfer method, a block chain-based anonymous transfer system and a computer-readable storage medium, and aims to solve the technical problem of how to avoid non-transaction related parties from obtaining transaction information in block chain-based transfer transactions.
In order to achieve the above purpose, the invention provides an anonymous transfer method based on a block chain, which comprises the following steps:
the first node initiates a transfer transaction request to the second node and receives public key information returned by the second node;
the first node generates transaction information of the transaction and sends the transaction information to the second node, wherein the transaction information comprises a new currency commitment generated based on the public key information, a transaction amount encrypted based on the public key information and a zero knowledge proof;
the second node verifies the transaction amount encrypted based on the public key information, and if the transaction amount is verified, the second node publishes the transaction information in the block chain network so that a miner can verify and book the transaction;
and the miner node verifies the certification content in the zero knowledge certification, if the certification is passed, the transaction is determined to be valid, and the transaction information is recorded into the block chain.
Optionally, the transaction information further comprises: the old currency serial number, the commitment of the change currency generated for the self by using the self address public key, the first ciphertext obtained by encrypting the random number generating the new currency serial number by using the second node encryption public key, and the second ciphertext obtained by encrypting the transaction amount and the public keys of both parties of the transaction by using the supervision node public key.
Optionally, the verifying, by the second node, the transaction amount encrypted based on the public key information specifically includes:
the second node decrypts the transaction amount encrypted based on the second node encryption public key by using the own decryption private key, decrypts a new coin commitment generated for the second node by using the second node address public key by using the own address private key, and respectively obtains the transaction amount and the new coin denomination;
and verifying whether the current transaction amount is consistent with the new currency denomination, and if so, passing the verification.
Optionally, the verifying content corresponding to the verifying of the proof content in the zero-knowledge proof by the miner node includes:
A. verifying whether the data formats of the old currency and the new currency contain a promise, and if so, determining that the formats of the old currency and the new currency are complete;
B. verifying whether the address public key of the first node corresponds to the address private key one by one, and if so, determining that the identity information of the payer is real;
C. verifying whether the old coin serial number is in one-to-one correspondence with the first node address private key, and if so, determining that the old coin serial number is correctly calculated;
D. verifying whether the old currency promise of the first node exists in the promise Merkle tree or not, and if so, determining that the old currency promise is valid;
E. and verifying whether the sum of the old money sum in the whole block chain network is equal to the sum of the new money sum, and if so, determining that the transaction sum is valid.
Optionally, the anonymous transfer method based on the blockchain further includes:
and the supervision node decrypts the second ciphertext by using the private key of the own party to obtain the transaction amount and the address public keys of the two transaction parties so as to supervise the anonymous transfer transaction.
Optionally, the anonymous transfer method based on the blockchain further includes:
the first node sends a money purchasing transaction request to a money issuing node, and receives confirmed purchasing information returned by the money issuing node after the money purchasing transaction request is checked;
after receiving the purchase confirmation information, the first node respectively generates a currency serial number and a currency acceptance corresponding to the current currency purchase transaction by using an address private key and an address public key of the first node, and sends the currency serial number, the currency acceptance and a cast currency denomination required by the currency acceptance to a currency issuing node for verification;
the currency issuing node verifies whether the transaction denomination of the current currency purchasing transaction is consistent with the cast currency denomination, if so, cast currency transaction information is generated, and the cast currency transaction information is published in the blockchain network so that a miner can verify and account the current transaction;
wherein the coinage transaction information comprises: the transaction ID generated by the currency issuing node for the current transaction, the currency commitment and the digital signature generated by the currency issuing node for the current transaction.
Further, in order to achieve the above object, the present invention further provides an anonymous transfer method based on a block chain, where the anonymous transfer method based on a block chain includes the following steps:
the first node initiates a transfer transaction request to the second node and receives public key information returned by the second node;
generating transaction information of the transaction, and sending the transaction information to a second node so that the second node can verify the transaction amount encrypted based on the public key information, wherein the transaction information comprises a new currency commitment generated based on the public key information, the transaction amount encrypted based on the public key information and a zero knowledge certificate;
and if the transaction amount passes the verification, the second node publishes the transaction information in the blockchain network so that the mineworker node verifies the certification content in the zero knowledge certification, and if the zero knowledge certification passes the verification, the mineworker node determines that the transaction is valid and records the transaction information in the blockchain.
Optionally, the public key information includes: the second node address public key and the second node encryption public key;
the transaction information further includes: the old currency serial number, the commitment of the change currency generated for the self by using the self address public key, the first ciphertext obtained by encrypting the random number generating the new currency serial number by using the second node encryption public key, and the second ciphertext obtained by encrypting the transaction amount and the public keys of both parties of the transaction by using the supervision node public key.
Optionally, the anonymous transfer method based on the blockchain further includes:
and the supervision node decrypts the second ciphertext by using the private key of the own party to obtain the transaction amount and the address public keys of the two transaction parties so as to supervise the anonymous transfer transaction.
Optionally, the anonymous transfer method based on the blockchain further includes:
the first node sends a money purchasing transaction request to a money issuing node, and receives confirmed purchasing information returned by the money issuing node after the money purchasing transaction request is checked;
after the confirmed purchasing information is received, the address private key and the address public key of the own party are used for respectively generating a currency serial number and a currency acceptance corresponding to the current currency purchasing transaction, and the currency serial number, the currency acceptance and the cast currency denomination required by the currency acceptance are sent to a currency issuing node for verifying whether the transaction denomination and the cast currency denomination of the current currency purchasing transaction are consistent;
if the verification is consistent, the currency issuing node generates coinage transaction information, and publishes the coinage transaction information in the block chain network so that a miner can verify and account the transaction, wherein the coinage transaction information comprises: the transaction ID generated by the currency issuing node for the current transaction, the currency commitment and the digital signature generated by the currency issuing node for the current transaction.
Further, in order to achieve the above object, the present invention further provides an anonymous transfer method based on a block chain, where the anonymous transfer method based on a block chain includes the following steps:
the second node receives the transfer transaction request initiated by the first node and returns public key information to the first node;
receiving transaction information of the transaction generated and sent by a first node, wherein the transaction information comprises a new currency commitment generated based on the public key information, a transaction amount encrypted based on the public key information and a zero knowledge certificate;
verifying the transaction amount encrypted based on the public key information;
if the transaction amount passes the verification, the transaction information is published in the block chain network so that the mineworker node can verify the certification content in the zero knowledge certification, and if the zero knowledge certification passes the verification, the mineworker node determines that the transaction is valid and records the transaction information into the block chain.
Optionally, the public key information includes: the second node address public key and the second node encryption public key;
the transaction information further includes: the old currency serial number, the commitment of the change currency generated for the self by using the self address public key, the first ciphertext obtained by encrypting the random number generating the new currency serial number by using the second node encryption public key, and the second ciphertext obtained by encrypting the transaction amount and the public keys of both parties of the transaction by using the supervision node public key.
Optionally, the verifying the transaction amount encrypted based on the public key information includes:
the second node decrypts the transaction amount encrypted based on the second node encryption public key by using the own decryption private key, decrypts a new coin commitment generated for the second node by using the second node address public key by using the own address private key, and respectively obtains the transaction amount and the new coin denomination;
and verifying whether the current transaction amount is consistent with the new currency denomination, and if so, passing the verification.
Optionally, the anonymous transfer method based on the blockchain further includes:
and the supervision node decrypts the second ciphertext by using the private key of the own party to obtain the transaction amount and the address public keys of the two transaction parties so as to supervise the anonymous transfer transaction.
Further, to achieve the above object, the present invention further provides an anonymous transfer system based on a blockchain, where the anonymous transfer system includes: a blockchain network, a blockchain, wherein the blockchain network comprises: the system comprises a first node, a second node and a miner node;
the first node is used for initiating a transfer transaction request to the second node and receiving public key information returned by the second node; generating transaction information of the transaction; sending the transaction information to a second node, wherein the transaction information comprises a new currency commitment generated based on the public key information, a transaction amount encrypted based on the public key information and a zero knowledge proof;
the second node is used for verifying the transaction amount encrypted based on the public key information, and if the transaction amount is verified, the second node publishes the transaction information in the block chain network so that a miner can verify and book the transaction;
and the miner node is used for verifying the certification content in the zero-knowledge certification, and if the certification is passed, the transaction is determined to be valid and the transaction information is recorded into the block chain.
Optionally, the block chain network further includes: a supervisory node; the public key information includes: the second node address public key and the second node encryption public key;
the transaction information further includes: the old currency serial number, the commitment of the change currency generated for the self by using the self address public key, the first ciphertext obtained by encrypting the random number generating the new currency serial number by using the second node encryption public key, and the second ciphertext obtained by encrypting the transaction amount and the public keys of both parties of the transaction by using the supervision node public key.
Optionally, the second node is further configured to:
decrypting the transaction amount encrypted based on the second node encryption public key by using the own decryption private key, decrypting a new currency commitment generated for the second node by using the second node address public key by using the own address private key, and respectively obtaining the transaction amount and the new currency denomination; and verifying whether the current transaction amount is consistent with the new currency denomination, and if so, passing the verification.
Optionally, the verifying content corresponding to the verifying of the proof content in the zero-knowledge proof by the miner node includes:
A. verifying whether the data formats of the old currency and the new currency contain a promise, and if so, determining that the formats of the old currency and the new currency are complete;
B. verifying whether the address public key of the first node corresponds to the address private key one by one, and if so, determining that the identity information of the payer is real;
C. verifying whether the old coin serial number is in one-to-one correspondence with the first node address private key, and if so, determining that the old coin serial number is correctly calculated;
D. verifying whether the old currency promise of the first node exists in the promise Merkle tree or not, and if so, determining that the old currency promise is valid;
E. and verifying whether the sum of the old money sum in the whole block chain network is equal to the sum of the new money sum, and if so, determining that the transaction sum is valid.
Optionally, the supervising node is configured to:
and decrypting the second ciphertext by using the private key of the own party to obtain the transaction amount and the public keys of the addresses of the two parties of the transaction so as to supervise the anonymous transfer transaction.
Optionally, the block chain network further includes: a currency-issuing node;
the first node is further configured to: initiating a money purchase transaction request to a money issuing node; after the confirmed purchase information is received, respectively generating a currency serial number and a currency acceptance corresponding to the current currency purchase transaction by using an address private key and an address public key of the own party, and sending the currency serial number, the currency acceptance and the cast currency denomination required by the currency acceptance to a currency issuing node for verification;
the currency-issuing node is for: returning confirmation purchase information to the first node after the currency purchase transaction request is audited; verifying whether the transaction denomination of the current money purchasing transaction is consistent with the cast money denomination, if so, generating cast money transaction information, and publishing the cast money transaction information in a block chain network so that a miner can verify and book the transaction;
wherein the coinage transaction information comprises: the transaction ID generated by the currency issuing node for the current transaction, the currency commitment and the digital signature generated by the currency issuing node for the current transaction.
Further, to achieve the above object, the present invention also provides a computer readable storage medium storing thereon a block chain-based anonymous transfer program, which when executed by a processor, implements the steps of the block chain-based anonymous transfer method as described in any one of the above.
In the invention, when a first node initiates a transfer transaction to a second node, transaction information of the transaction is generated, the transaction information comprises encrypted transaction amount and zero knowledge proof, and the second node is allowed to decrypt the transaction information for amount verification but not allowed to decrypt the transaction information by a miner node; the miners' nodes can only verify the validity of the transaction by verifying the zero-knowledge proof provided by the first node, so that the transfer transaction on the block chain can be only known by the two parties of the transaction and cannot be decrypted and obtained by other parties, the anonymous transfer is realized, and the privacy of the information of the two parties of the transaction based on the block chain transfer is ensured.
Drawings
FIG. 1 is a functional block architecture diagram of an embodiment of an anonymous transfer system of the present invention;
FIG. 2 is a schematic diagram of an entity structure corresponding to a system model of the anonymous transfer system of the present invention;
FIG. 3 is a schematic flow chart of a first embodiment of the anonymous transfer method based on a blockchain according to the present invention;
FIG. 4 is a flowchart illustrating a second embodiment of a blockchain-based anonymous transfer method according to the present invention;
FIG. 5 is a schematic representation of a coinage flow of an embodiment of the anonymous transfer method under the physical structure shown in FIG. 2;
FIG. 6 is a transfer flow diagram of an embodiment of an anonymous transfer method under the entity structure shown in FIG. 2;
FIG. 7 is a flowchart illustrating a third embodiment of a blockchain-based anonymous transfer method according to the present invention;
FIG. 8 is a schematic flow chart of a fourth embodiment of the anonymous transfer method based on a blockchain according to the present invention;
fig. 9 is a flowchart illustrating a fifth embodiment of the anonymous transfer method based on a blockchain according to the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The invention provides an anonymous transfer system based on a block chain.
Referring to fig. 1, fig. 1 is a functional module architecture diagram of an embodiment of an anonymous transfer system according to the present invention.
In this embodiment, the anonymous transfer system includes a blockchain network and a blockchain, where the blockchain network includes a plurality of nodes, and different nodes correspond to different blockchain participation mechanisms. For example, nodes A, B are each distinct user nodes, while node C is a currency-issuing node, node D is a mineworker node, and node E is a supervising node.
In this embodiment, the anonymous transfer system may implement anonymous transfer between different nodes, and ensure that the transfer transaction on the block chain is only known by both parties of the transaction, and cannot be decrypted and obtained by other parties. The following is an example of the transfer of money from a first node to a second node.
In this embodiment, the first node is configured to initiate a transfer transaction request to the second node, and receive public key information returned by the second node; generating transaction information of the transaction; sending the transaction information to a second node, wherein the transaction information comprises a new currency commitment generated based on the public key information, a transaction amount encrypted based on the public key information and a zero knowledge proof;
the second node is used for verifying the transaction amount encrypted based on the public key information, and if the transaction amount is verified, the second node publishes the transaction information in the block chain network so that a miner can verify and book the transaction;
and the miner node is used for verifying the certification content in the zero-knowledge certification, and if the certification is passed, the transaction is determined to be valid and the transaction information is recorded into the block chain.
Further, in an embodiment, the public key information includes: the second node address public key and the second node encryption public key;
in this embodiment, the transaction information generated by the first node includes:
A. the first node uses the second node address public key to generate a new currency commitment for the second node;
B. the first node uses the own address public key to generate a change commitment for the own party;
C. the old currency serial number of the old currency promise related to the new currency promise and the change currency promise in the transaction;
D. the first node encrypts a transaction amount and a random number used for generating a new currency serial number by using a second node encryption public key to obtain a first ciphertext;
E. and the first node encrypts the transaction amount and the public keys of the addresses of the two parties of the transaction by using the public key of the monitoring node to obtain a second ciphertext.
In order to ensure that the anonymous transfer meets the financial regulation requirement, in this embodiment, a regulation node may be further accessed in the blockchain network, so as to perform financial regulation on all transactions in the blockchain network.
Optionally, the supervisory node is configured to: and decrypting the second ciphertext by using the private key of the own party to obtain the transaction amount and the public keys of the addresses of the two parties of the transaction so as to supervise the anonymous transfer transaction.
Further, in an embodiment, the second node is further configured to: decrypting the first ciphertext by using a private key of own decryption, and decrypting the promise of the new currency by using a private key of own address to respectively obtain the current transaction amount and the new currency denomination; and verifying whether the current transaction amount is consistent with the new currency denomination, and if so, passing the verification.
Further, in an embodiment, the verifying content corresponding to the verifying of the proof content in the zero-knowledge proof by the miner node includes:
A. verifying whether the data formats of the old currency and the new currency contain a promise, and if so, determining that the formats of the old currency and the new currency are complete;
B. verifying whether the address public key of the first node corresponds to the address private key one by one, and if so, determining that the identity information of the payer is real;
C. verifying whether the old coin serial number is in one-to-one correspondence with the first node address private key, and if so, determining that the old coin serial number is correctly calculated;
D. verifying whether the old currency promise of the first node exists in the promise Merkle tree or not, and if so, determining that the old currency promise is valid;
E. and verifying whether the sum of the old money sum in the whole block chain network is equal to the sum of the new money sum, and if so, determining that the transaction sum is valid.
Further, in an embodiment, to implement the management of the money in the blockchain network, the blockchain network further includes: a currency-issuing node;
the first node is further configured to: initiating a money purchase transaction request to a money issuing node; after the confirmed purchase information is received, respectively generating a currency serial number and a currency acceptance corresponding to the current currency purchase transaction by using an address private key and an address public key of the own party, and sending the currency serial number, the currency acceptance and the cast currency denomination required by the currency acceptance to a currency issuing node for verification;
the currency-issuing node is for: returning confirmation purchase information to the first node after the currency purchase transaction request is audited; verifying whether the transaction denomination of the current money purchasing transaction is consistent with the cast money denomination, if so, generating cast money transaction information, and publishing the cast money transaction information in a block chain network so that a miner can verify and book the transaction;
wherein the coinage transaction information comprises: the transaction ID generated by the currency issuing node for the current transaction, the currency commitment and the digital signature generated by the currency issuing node for the current transaction.
In order to facilitate understanding of the invention, the relevant basic content of the anonymous transfer of the invention is explained below based on a system model corresponding to the anonymous transfer system of the invention.
In the invention, each node in the block chain network can be divided into three types of users, supervisors and issuers based on different roles. The entity structure corresponding to the system model of the anonymous transfer system of the present invention is shown in fig. 2.
(1) The supervisor supervises all the transactions of the whole system and can see the amount and the flow direction of each transaction clearly.
(2) An issuer is responsible for issuing digital currency to users.
(3) The user, the user in the system conducting a digital currency transaction.
(4) And the user information base stores the information of all users in the system and is independently maintained by a supervisor.
(5) The coinage information base stores information on digital money purchased by all users (assuming that the users purchase digital money from the issuer and then perform transactions in the system), and is maintained by the issuer.
(6) The wallet stores digital currency owned by the user and is independently maintained by the user.
The structural elements of the wallet include < SN, CM, V, ρ, >, where SN denotes a digital currency serial number, CM denotes a commitment: is a series of cryptograms representing a private fund, which may be understood as an encrypted fund. Other nodes cannot deduce the transferor and the transfer amount by commitment. Commitments belong to only one user and can only be spent once, avoiding the double-spending problem by spending the money sequence number that is generated. Other nodes also cannot deduce the corresponding monetary commitments from the currency serial number, V denotes the digital currency denomination, ρ denotes a 256-bit random number: for generating digital currency serial numbers, as well as other information.
(7) And the user public key pool stores public keys of all current legal users of the system.
The structure of the user public key pool is similar to the commitment pool, and a Merkle tree structure is adopted: each user public key is a leaf node in the user public key, and the value of the root node is stored in the block chain.
(8) The commitment pool is used for storing all commitments of the system.
The commitment pool is a Merkle tree structure, each commitment is a leaf node in the commitment pool, and the value of a root node is stored in a block chain.
(9) And the block chain is used for storing the transaction information of the system and the hash values of the commitment pool and the user public key pool.
Each block structure in the block chain comprises: the block sequence number of this block, the hash value of the previous block, the root value of the user public key pool, the root value of the commitment pool, the transaction type and the transaction information, wherein the transaction type comprises: the method comprises the steps of coin casting, whole coin transfer, zero coin transfer and public key pool updating.
(10) Structure of promise of coinage
CMmint=(k,gv+ρV), wherein k ═ H)256(apk||ρ||v),apkThe user address public key is 256bits, ρ represents a random number of 256bits, and v represents the denomination of the digital currency cast. g is Z* pP is a prime number of 160 or more bits.
(11) Structure of transaction commitments
CMpour=(k,gv+ρV), wherein k ═ H)256(apk||ρ||v),apkA user address public key of 256bits, ρ represents a random number of 256bits, and v represents the denomination of digital currency being traded. g is Z* pP is a prime number of 160 or more bits.
(12) Key description
The public key of the supervisor is used for encrypting the transaction amount and the user identity in the transaction information and verifying the signature when the user public key pool is updated;
the private key of the supervisor is used for decrypting the transaction amount and the user identity in the transaction information and signing when the user public key pool is updated;
the address public key of the user is used for generating coin commitment in coin casting and transaction;
the address private key of the user is used for generating the address public key and the coin serial number;
encrypted public key of user: the public key is used for encrypting and transmitting the secret information of the coin during the transaction of the user;
decryption private key of user: and the private key is used for decrypting the coin secret information ciphertext during the transaction of the user.
Based on the functional module architecture and the system model of the anonymous transfer system based on the block chain, the following embodiments of the anonymous transfer method based on the block chain are provided.
Referring to fig. 3, fig. 3 is a flowchart illustrating a first embodiment of an anonymous transfer method based on a blockchain according to the present invention. In this embodiment, the anonymous transfer method based on the blockchain includes the following steps:
step S110, the first node sends a transfer transaction request to the second node and receives public key information returned by the second node;
in this embodiment, after initiating the transfer transaction request, the first node discloses the second node for the anonymous transfer transaction content, so that the public key information provided by the second node is required to be used to encrypt the relevant transaction information, and the second node can decrypt the relevant transaction information, such as the transaction amount.
Step S120, the first node generates transaction information of the transaction, and sends the transaction information to the second node, wherein the transaction information comprises a new currency commitment generated based on the public key information, a transaction amount encrypted based on the public key information and a zero knowledge proof;
zero knowledge proves that: a proof concept of cryptography. The prover and the verifier negotiate a rule together, in the rule, the prover provides a series of ciphertext to the verifier under the condition that the prover does not expose own private evidence, and the verifier can trust that the prover has corresponding private evidence through verifying the ciphertext, but the verifier cannot know the content of the private evidence.
In this embodiment, to implement anonymous transfer and prevent transaction information from being leaked, the first node generates transaction information and a zero knowledge proof of the current transaction, where the first node may selectively encrypt the relevant transaction information based on a transfer flow requirement in a blockchain to form the transaction information. For example, based on the payee's validation requirements for the transaction amount, the transaction amount is encrypted; and based on the supervision requirements of the supervisor, encrypting the identity information of the two transaction parties and the transaction amount.
In this embodiment, the transaction information generated by the first node includes a commitment of a new currency generated based on the public key information, a transaction amount encrypted based on the public key information, and a zero knowledge proof. The zero-knowledge proof is also a cipher text and is used for verifying the validity of the transaction by the miner node.
Step S130, the second node verifies the transaction amount encrypted based on the public key information, and if the transaction amount is verified, the second node publishes the transaction information in the block chain network so that the miner can verify and book the transaction;
in this embodiment, before publishing the transaction information for the miner node to verify and account, the first node needs to send the generated transaction information and the zero knowledge certificate to the second node to verify the transaction amount, that is, verify whether the transaction amount initiated by the first node is consistent with the currency denomination obtained by the second node, and if so, the verification is passed.
In order to ensure that the second node can successfully decrypt the transaction information, in this embodiment, the first node preferably encrypts the relevant content in the transaction information by using the second node address public key and the encryption public key.
In this embodiment, after the transaction amount is verified, the second node publishes the transaction information and the zero-knowledge certificate to the block chain network, so that each miner node in the network verifies and accounts the transaction.
And step S140, the miner node verifies the certification content in the zero knowledge certification, if the verification is passed, the transaction is determined to be valid, and the transaction information is recorded in the block chain.
The specific content of the zero knowledge proof is not limited in this embodiment, and each mining node verifies the proof content in the zero knowledge proof to verify the validity of the transaction, and after the proof content of the zero knowledge proof is verified, determines that the transaction is valid, and accounts the transaction information in the block chain. Because the miners 'node can not obtain the plaintext contents of the transaction information, such as the identity information and the transaction amount of both transaction parties, and the transaction contents are not exposed to the miners' node in the zero-knowledge proof, the effect that the transaction between the first node and the second node is anonymous relative to other nodes is realized, and the privacy of the transaction information between the first node and the second node is ensured.
In this embodiment, when initiating a transfer transaction to a second node, a first node generates transaction information of the transaction, where the transaction information includes an encrypted transaction amount and a zero knowledge certificate, and allows the second node to decrypt the transaction information for amount verification but not allow a mineworker node to decrypt the transaction information; the miners' nodes can only verify the validity of the transaction by verifying the zero-knowledge proof provided by the first node, so that the transfer transaction on the block chain can be only known by the two parties of the transaction and cannot be decrypted and obtained by other parties, the anonymous transfer is realized, and the privacy of the information of the two parties of the transaction based on the block chain transfer is ensured.
Further, in an embodiment of the anonymous transfer method based on the block chain, in order to ensure that the second node can successfully decrypt the transaction information, in this embodiment, the first node preferably encrypts relevant content in the transaction information by using the second node address public key and the second node encryption public key, and specifically, when a transfer transaction request is initiated to the second node, the second node returns the own address public key and the encryption public key to the first node.
In this embodiment, the transaction information generated by the first node includes:
A. the first node uses the second node address public key to generate a new currency commitment for the second node;
B. the first node uses the own address public key to generate a change commitment for the own party;
C. the old currency serial number of the old currency promise related to the new currency promise and the change currency promise in the transaction;
in this embodiment, the old currency commitment, the new currency commitment and the change currency commitment are all one commitment. The commitment is a series of cryptograms representing a private fund, which may be understood as an encrypted fund. Other nodes cannot deduce the transferor and the transfer amount by commitment. Commitments belong to only one user and can only be spent once, avoiding the double-spending problem by spending the money sequence number that is generated. Other nodes may not be able to deduce the corresponding monetary commitment based on the monetary serial number.
In this embodiment, when the first node spends the old coin commitment, it will generate a new coin commitment for the second node and a change coin commitment for itself. Wherein, if the old coin commitment is completely spent, the change coin commitment does not need to be generated.
D. The first node encrypts a transaction amount and a random number used for generating a new currency serial number by using a second node encryption public key to obtain a first ciphertext;
in this embodiment, the first node encrypts the transaction amount using the encryption public key of the second node, and since only the second node in the whole blockchain network has the corresponding decryption private key, other nodes cannot obtain the private transaction information in the first ciphertext.
Wherein the random number is used for generating a new currency sequence number to avoid double-spending when the second node spends the new currency commitment.
E. And the first node encrypts the transaction amount and the public keys of the addresses of the two parties of the transaction by using the public key of the monitoring node to obtain a second ciphertext.
In this embodiment, the first node encrypts the transaction amount using the public key of the supervision node, and since only the supervision node in the whole blockchain network has the corresponding private key, other nodes cannot obtain the private transaction information in the second ciphertext. In addition, the supervision node decrypts the second ciphertext by using the private key of the own party to obtain the transaction amount and the address public keys of the two transaction parties, so that the anonymous transfer transaction can be supervised.
Further, based on the foregoing embodiment, in another embodiment of the present invention, the verifying, by the second node, the transaction amount encrypted based on the public key information includes:
the second node decrypts the transaction amount encrypted based on the second node encryption public key by using the own decryption private key, decrypts a new coin commitment generated for the second node by using the second node address public key by using the own address private key, and respectively obtains the transaction amount and the new coin denomination; and verifying whether the current transaction amount is consistent with the new currency denomination, and if so, passing the verification.
In this embodiment, in order to avoid fraud in the transfer transaction, the second node needs to verify the amount of money of the transaction and the denomination of the new money obtained by the second node, and if the amount of money of the transaction and the denomination of the new money are consistent, the transaction is determined to be valid.
Because the first ciphertext is encrypted by the encryption private key provided by the second node, the second node can decrypt the first ciphertext by using the private key decrypted by the own party to obtain the transaction amount; because the new currency commitment adopts the encryption of the encryption public key provided by the second node, the second node can decrypt the new currency commitment by using the private key of the own address to obtain the new currency denomination.
Further, in another embodiment of the anonymous transfer method based on the blockchain, the verification content corresponding to the miner node corresponds to the certification content in the zero-knowledge certification in a one-to-one manner. In this embodiment, the verification content corresponding to the preferable miner node includes:
A. verifying whether the data formats of the old currency and the new currency contain a promise, and if so, determining that the formats of the old currency and the new currency are complete;
in this embodiment, the commitment represents an encrypted private fund, so the data format of the old currency and the new currency must include the commitment, and if the format is incomplete, the transaction is not allowed to be successful.
B. Verifying whether the address public key of the first node corresponds to the address private key one by one, and if so, determining that the identity information of the payer is real;
in this embodiment, the address public key may uniquely identify one node in the whole blockchain network, and therefore, it is only necessary to verify whether the address public key corresponds to the address private key one to one, and it is possible to determine whether the identity information of the payer is real.
In this embodiment, the blockchain network further includes a user public key pool, where the user public key pool adopts a Merkle tree structure and is used to store user public keys in the entire network, each user public key is a leaf node of the Merkle tree, and a value of a root node is stored in the blockchain.
C. Verifying whether the old coin serial number is in one-to-one correspondence with the first node address private key, and if so, determining that the old coin serial number is correctly calculated;
in this embodiment, the currency serial number of the first node is generated by the private key of the own address, and therefore, whether the old currency serial number is correctly calculated can be determined by verifying whether the old currency serial number corresponds to the private key of the first node address one by one.
D. Verifying whether the old currency promise of the first node exists in the promise Merkle tree or not, and if so, determining that the old currency promise is valid;
in this embodiment, the blockchain network further includes a commitment pool, where the commitment pool adopts a Merkle tree structure and is used to store commitments in the entire network, each commitment is a leaf node of the Merkle tree, and a value of the root node is stored in the blockchain. Thus, if the old coin commitment of the first node exists in the commitment Merkle tree, the old coin commitment is determined to be valid.
E. And verifying whether the sum of the old money sum in the whole block chain network is equal to the sum of the new money sum, and if so, determining that the transaction sum is valid.
In this embodiment, new coins can only be generated by consuming old coins without considering new released coins, so if the transaction amount is valid, the sum of the old coins in the entire blockchain network should be equal to the sum of the new coins in the entire blockchain network.
Further, in this embodiment, when the supervisory node participates in the bookkeeping as a miner node, the supervisory node further verifies whether the address public key encrypted by the supervisory public key is the address public key of both the payment parties and whether the amount encrypted by the supervisory public key is the transaction amount, and when the supervisory node and other miner nodes pass the verification, the current transaction can be confirmed to be valid and the block chain bookkeeping is performed.
Referring to fig. 4, fig. 4 is a flowchart illustrating a second embodiment of the anonymous transfer method based on a block chain according to the present invention. In this embodiment, the anonymous transfer method based on the blockchain further includes:
step S210, a first node sends a money purchasing transaction request to a money issuing node, and receives confirmed purchasing information returned by the money issuing node after the money purchasing transaction request is checked;
in this embodiment, the blockchain network further includes a currency issuing node configured to issue digital currency to nodes in the blockchain network.
In this embodiment, after the first node issues the money purchasing transaction request to the money issuing node, the money issuing node needs to verify the money purchasing transaction request, for example, whether the identity of the purchaser is legal, whether the purchase denomination meets the regulatory requirement, and the like, and when the verification is passed, information for confirming the purchase is returned to the first node.
Step S220, after receiving the confirmed purchase information, the first node respectively generates a currency serial number and a currency acceptance corresponding to the current currency purchase transaction by using an address private key and an address public key of the first node, and sends the currency serial number, the currency acceptance and the cast currency denomination required by the currency acceptance to the currency issuing node for verification;
after receiving the confirmed purchase information returned by the currency issuing node, the first node generates a currency serial number corresponding to the current currency purchase transaction by using the address private key of the first node, generates a currency acceptance corresponding to the current currency purchase transaction by using the address public key of the first node, and then sends the currency acceptance to the currency issuing node.
Step S230, the currency issuing node verifies whether the transaction denomination of the current currency purchase transaction is consistent with the cast currency denomination, if so, cast currency transaction information is generated, and the cast currency transaction information is published in the blockchain network, so that a miner can verify and account the current transaction;
wherein the coinage transaction information comprises: the transaction ID generated by the currency issuing node for the current transaction, the currency commitment and the digital signature generated by the currency issuing node for the current transaction.
In this embodiment, before the current coin purchasing transaction is subjected to accounting, the currency issuing node further needs to verify whether the transaction denomination of the current coin purchasing transaction is consistent with the cast coin denomination, and if so, generates the cast coin transaction information and publishes the same to the blockchain network, so that the miners can verify and account the current transaction.
In order to better understand the anonymous transfer process of the present invention, the following description exemplifies the coinage process and the transfer process involved in the anonymous transfer based on the entity structure diagram corresponding to the system model of the anonymous transfer system shown in fig. 2.
One, coin casting process
As shown in fig. 5, a node user initiates a coinage transaction to an issuer node, and a miner node performs accounting, and the specific implementation flow is as follows:
(1) a user initiates a money purchasing request to an issuer, wherein the request comprises the denomination of all money purchased;
(2) the issuer checks the money purchasing request of the user;
(3) after the audit is passed, the issuer saves the money purchasing information of the user;
(4) the issuer returns confirmation purchase information to the user;
(5) after receiving the confirmed purchasing information, the user generates a promise of purchasing money, and sends the promise and the related information of the promise to the issuer;
(6) the issuer verifies commitments and denominations;
(7) after the verification is passed, the issuer generates the coinage transaction information of the current coin purchase, which comprises the following steps: the issuer is the transaction ID generated by the transaction, the user is the commitment generated by the currency purchase, and the issuer is the signature generated by the currency purchase, wherein the signature objects are the transaction ID generated by the transaction, the serial number of the currency cast at this time and the commitment generated by the currency purchase at this time.
(8) The issuer publishes the current coinage transaction information to the blockchain network;
(9) the miner node verifies whether the transaction is valid;
(10) if the transaction is valid, the miner node records the coin casting transaction information into the block chain.
Second, transfer process
As shown in fig. 6, the node user a performs anonymous transfer to the node user B, and the miner node performs accounting, and the specific implementation flow is as follows:
(1) a user A firstly initiates a transaction request to a user B;
(2) the user B returns the own address public key and the encrypted public key to the user A;
(3) user a generates transaction information, including: the old currency serial number of the new currency, the new currency commitment generated for the user B by using the address public key of the user B, the change currency commitment generated for the user B, a cipher text obtained by encrypting the transaction amount and the random number used for generating the new currency serial number by using the encryption public key of the user B, the cipher text obtained by encrypting the transaction amount by using the public key of a supervisor and the address public keys of both transaction parties, and a zero knowledge certificate;
(4) the user A sends the transaction information to the user B;
(5) the user B verifies the transaction amount in the transaction information;
(6) after the transaction amount passes the verification, the user B publishes the transaction information to the blockchain network;
(7) the miner node verifies whether the transaction is valid or not based on zero knowledge in the transaction information;
(8) if the transaction is valid, the miner node records the transaction information into the block chain.
Referring to fig. 7, fig. 7 is a flowchart illustrating a third embodiment of the anonymous transfer method based on a blockchain according to the present invention. In this embodiment, the anonymous transfer method based on the blockchain includes the following steps:
step S310, the first node sends a transfer transaction request to the second node and receives public key information returned by the second node;
in this embodiment, after initiating the transfer transaction request, the first node discloses the second node for the anonymous transfer transaction content, so that the public key information provided by the second node is required to be used to encrypt the relevant transaction information, and the second node can decrypt the relevant transaction information, such as the transaction amount.
Step S320, generating transaction information of the transaction, and sending the transaction information to a second node to verify the transaction amount encrypted based on the public key information by the second node, wherein the transaction information comprises a new currency commitment generated based on the public key information, the transaction amount encrypted based on the public key information and a zero knowledge proof;
before publishing the transaction information for the miner node to verify and account, the first node needs to send the generated transaction information and the zero knowledge certificate to the second node to verify the transaction amount, namely, whether the transaction amount initiated by the first node is consistent with the currency denomination obtained by the second node is verified, and if so, the verification is passed.
In this embodiment, to implement anonymous transfer and prevent transaction information from being leaked, the first node generates transaction information of the transaction, where the first node may selectively encrypt related transaction information based on a transfer flow requirement in a block chain to form transaction information. For example, based on the payee's validation requirements for the transaction amount, the transaction amount is encrypted; and based on the supervision requirements of the supervisor, encrypting the identity information of the two transaction parties and the transaction amount.
In this embodiment, if the transaction amount passes the verification, the second node publishes the transaction information and the zero knowledge certificate in the blockchain network, so that the mineworker node verifies the certificate content in the zero knowledge certificate, and if the zero knowledge certificate passes the verification, the mineworker node determines that the transaction is valid and records the transaction information in the blockchain.
In order to ensure that the second node can successfully decrypt the transaction information, in this embodiment, the first node preferably encrypts the relevant content in the transaction information by using the second node address public key and the encryption public key.
In this embodiment, after the transaction amount is verified, the second node publishes the transaction information to the block chain network, so that each miner node in the network verifies and accounts the transaction.
The specific content of the zero knowledge proof is not limited in this embodiment, and each mining node verifies the proof content in the zero knowledge proof to verify the validity of the transaction, and after the proof content of the zero knowledge proof is verified, determines that the transaction is valid, and accounts the transaction information in the block chain. Because the miners 'node can not obtain the plaintext contents of the transaction information, such as the identity information and the transaction amount of both transaction parties, and the transaction contents are not exposed to the miners' node in the zero-knowledge proof, the effect that the transaction between the first node and the second node is anonymous relative to other nodes is realized, and the privacy of the transaction information between the first node and the second node is ensured.
In this embodiment, when initiating a transfer transaction to a second node, a first node generates transaction information of the transaction, where the transaction information includes an encrypted transaction amount and a zero knowledge certificate, and allows the second node to decrypt the transaction information for amount verification but not allow a mineworker node to decrypt the transaction information; the miners' nodes can only verify the validity of the transaction by verifying the zero-knowledge proof provided by the first node, so that the transfer transaction on the block chain can be only known by the two parties of the transaction and cannot be decrypted and obtained by other parties, the anonymous transfer is realized, and the privacy of the information of the two parties of the transaction based on the block chain transfer is ensured.
Further, in an embodiment of the anonymous transfer method based on the blockchain, in order to ensure that the second node can successfully decrypt the transaction information, in this embodiment, the first node preferably encrypts relevant content in the transaction information by using the second node address public key and the encryption public key, and specifically, when a transfer transaction request is initiated to the second node, the second node returns the own address public key and the encryption public key to the first node.
In this embodiment, the transaction information generated by the first node includes:
A. the first node uses the second node address public key to generate a new currency commitment for the second node;
B. the first node uses the own address public key to generate a change commitment for the own party;
C. the old currency serial number of the old currency promise related to the new currency promise and the change currency promise in the transaction;
in this embodiment, the old currency commitment, the new currency commitment and the change currency commitment are all one commitment. The commitment is a series of cryptograms representing a private fund, which may be understood as an encrypted fund. Other nodes cannot deduce the transferor and the transfer amount by commitment. Commitments belong to only one user and can only be spent once, avoiding the double-spending problem by spending the money sequence number that is generated. Other nodes may not be able to deduce the corresponding monetary commitment based on the monetary serial number.
In this embodiment, when the first node spends the old coin commitment, it will generate a new coin commitment for the second node and a change coin commitment for itself. Wherein, if the old coin commitment is completely spent, the change coin commitment does not need to be generated.
D. The first node encrypts a transaction amount and a random number used for generating a new currency serial number by using a second node encryption public key to obtain a first ciphertext;
in this embodiment, the first node encrypts the transaction amount using the encryption public key of the second node, and since only the second node in the whole blockchain network has the corresponding decryption private key, other nodes cannot obtain the private transaction information in the first ciphertext.
Wherein the random number is used for generating a new currency sequence number to avoid double-spending when the second node spends the new currency commitment.
E. And the first node encrypts the transaction amount and the public keys of the addresses of the two parties of the transaction by using the public key of the monitoring node to obtain a second ciphertext.
In this embodiment, the first node encrypts the transaction amount using the public key of the supervision node, and since only the supervision node in the whole blockchain network has the corresponding private key, other nodes cannot obtain the private transaction information in the second ciphertext. In addition, the supervision node decrypts the second ciphertext by using the private key of the own party to obtain the transaction amount and the address public keys of the two transaction parties, so that the anonymous transfer transaction can be supervised.
Referring to fig. 8, fig. 8 is a flowchart illustrating a fourth embodiment of the anonymous transfer method based on a blockchain according to the present invention. In this embodiment, the anonymous transfer method based on the blockchain further includes:
step S410, the first node sends out a money purchasing transaction request to a money issuing node, and receives confirmed purchasing information returned after the money issuing node verifies the money purchasing transaction request;
in this embodiment, the blockchain network further includes a currency issuing node configured to issue digital currency to nodes in the blockchain network.
In this embodiment, after the first node issues the money purchasing transaction request to the money issuing node, the money issuing node needs to verify the money purchasing transaction request, for example, whether the identity of the purchaser is legal, whether the purchase denomination meets the regulatory requirement, and the like, and when the verification is passed, information for confirming the purchase is returned to the first node.
Step S420, after the confirmed purchase information is received, the address private key and the address public key of the own party are used for respectively generating a currency serial number and a currency acceptance corresponding to the current currency purchase transaction, and the currency serial number, the currency acceptance and the cast currency denomination required by the currency acceptance are sent to a currency issuing node for verifying whether the transaction denomination and the cast currency denomination of the current currency purchase transaction are consistent;
if the verification is consistent, the currency issuing node generates coinage transaction information, and publishes the coinage transaction information in the block chain network so that a miner can verify and account the transaction, wherein the coinage transaction information comprises: the transaction ID generated by the currency issuing node for the current transaction, the currency commitment and the digital signature generated by the currency issuing node for the current transaction.
In this embodiment, after receiving the confirmed purchase information returned by the currency issuing node, the first node generates a currency serial number corresponding to the current currency purchase transaction by using its own address private key, and generates a currency acceptance corresponding to the current currency purchase transaction by using its own address public key, and then sends the currency acceptance to the currency issuing node. Before the money issuing node performs accounting on the current money purchasing transaction, whether the transaction denomination of the current money purchasing transaction is consistent with the cast money denomination is verified, if so, cast money transaction information is generated and published to the block chain network, so that a miner can verify and account the current transaction.
Referring to fig. 9, fig. 9 is a flowchart illustrating a block chain-based anonymous transfer method according to a fifth embodiment of the present invention. In this embodiment, the anonymous transfer method based on the blockchain further includes:
step S510, the second node receives a transfer transaction request initiated by the first node and returns public key information to the first node;
in this embodiment, after receiving the transfer transaction request initiated by the first node, the second node returns public key information to the first node for use in encrypting the relevant transaction information generated by the first node, so that the second node can use the corresponding private key to decrypt and obtain the relevant transaction information, such as the transaction amount, and privacy of the transfer transaction information is ensured.
Step S520, receiving transaction information of the transaction generated and sent by the first node, wherein the transaction information comprises a new currency commitment generated based on the public key information, a transaction amount encrypted based on the public key information and a zero knowledge proof;
in this embodiment, to implement anonymous transfer and prevent transaction information from being leaked, the first node generates transaction information of the transaction, where the first node may selectively encrypt related transaction information based on a transfer flow requirement in a block chain to form transaction information. For example, based on the payee's validation requirements for the transaction amount, the transaction amount is encrypted; and based on the supervision requirements of the supervisor, encrypting the identity information of the two transaction parties and the transaction amount. In this embodiment, the transaction information generated by the first node includes the new currency information and the transaction amount encrypted based on the public key information provided by the second node.
Step S530, verifying the transaction amount encrypted based on the public key information;
before the second node publishes the transaction information for the miner node to verify and account, transaction amount verification is needed, namely whether the transaction amount initiated by the first node is consistent with the currency denomination obtained by the second node is verified, and if so, the verification is passed.
And S540, if the transaction amount passes the verification, the transaction information is published in the block chain network so that the miners can verify the certification content in the zero knowledge certification, and if the zero knowledge certification passes the verification, the miners determine that the transaction is valid and record the transaction information into the block chain.
In this embodiment, after the transaction amount is verified, the second node publishes the transaction information to the block chain network, so that each miner node in the network verifies and accounts the transaction. And each miner node verifies the verification content in the zero-knowledge proof to verify the validity of the transaction, determines that the transaction is valid after the verification content of the zero-knowledge proof is verified, and accounts the transaction information into the block chain. Because the miners 'node can not obtain the plaintext contents of the transaction information, such as the identity information and the transaction amount of both transaction parties, and the transaction contents are not exposed to the miners' node in the zero-knowledge proof, the effect that the transaction between the first node and the second node is anonymous relative to other nodes is realized, and the privacy of the transaction information between the first node and the second node is ensured.
In this embodiment, when initiating a transfer transaction to a second node, a first node generates transaction information of the transaction, where the transaction information includes an encrypted transaction amount and a zero knowledge certificate, and allows the second node to decrypt the transaction information for amount verification but not allow a mineworker node to decrypt the transaction information; the miners' nodes can only verify the validity of the transaction by verifying the zero-knowledge proof provided by the first node, so that the transfer transaction on the block chain can be only known by the two parties of the transaction and cannot be decrypted and obtained by other parties, the anonymous transfer is realized, and the privacy of the information of the two parties of the transaction based on the block chain transfer is ensured.
Further, in an embodiment of the anonymous transfer method based on the blockchain, in order to ensure that the second node can successfully decrypt the transaction information, in this embodiment, the first node preferably encrypts relevant content in the transaction information by using the second node address public key and the encryption public key, and specifically, when a transfer transaction request is initiated to the second node, the second node returns the own address public key and the encryption public key to the first node.
In this embodiment, the transaction information generated by the first node includes:
A. the first node uses the second node address public key to generate a new currency commitment for the second node;
B. the first node uses the own address public key to generate a change commitment for the own party;
C. the old currency serial number of the old currency promise related to the new currency promise and the change currency promise in the transaction;
in this embodiment, the old currency commitment, the new currency commitment and the change currency commitment are all one commitment. The commitment is a series of cryptograms representing a private fund, which may be understood as an encrypted fund. Other nodes cannot deduce the transferor and the transfer amount by commitment. Commitments belong to only one user and can only be spent once, avoiding the double-spending problem by spending the money sequence number that is generated. Other nodes may not be able to deduce the corresponding monetary commitment based on the monetary serial number.
In this embodiment, when the first node spends the old coin commitment, it will generate a new coin commitment for the second node and a change coin commitment for itself. Wherein, if the old coin commitment is completely spent, the change coin commitment does not need to be generated.
D. The first node encrypts a transaction amount and a random number used for generating a new currency serial number by using a second node encryption public key to obtain a first ciphertext;
in this embodiment, the first node encrypts the transaction amount using the encryption public key of the second node, and since only the second node in the whole blockchain network has the corresponding decryption private key, other nodes cannot obtain the private transaction information in the first ciphertext.
Wherein the random number is used for generating a new currency sequence number to avoid double-spending when the second node spends the new currency commitment.
E. And the first node encrypts the transaction amount and the public keys of the addresses of the two parties of the transaction by using the public key of the monitoring node to obtain a second ciphertext.
In this embodiment, the first node encrypts the transaction amount using the public key of the supervision node, and since only the supervision node in the whole blockchain network has the corresponding private key, other nodes cannot obtain the private transaction information in the second ciphertext. In addition, the supervision node decrypts the second ciphertext by using the private key of the own party to obtain the transaction amount and the address public keys of the two transaction parties, so that the anonymous transfer transaction can be supervised.
Further, based on the foregoing embodiment, in another embodiment of the present invention, the verifying, by the second node, the transaction amount encrypted based on the public key information includes:
the second node decrypts the first ciphertext by using the own private decryption key and decrypts the new currency commitment by using the own private decryption key to respectively obtain the current transaction amount and the new currency denomination; and verifying whether the current transaction amount is consistent with the new currency denomination, and if so, passing the verification.
In this embodiment, in order to avoid fraud in the transfer transaction, the second node needs to verify the amount of money of the transaction and the denomination of the new money obtained by the second node, and if the amount of money of the transaction and the denomination of the new money are consistent, the transaction is determined to be valid.
Because the first ciphertext is encrypted by the encryption private key provided by the second node, the second node can decrypt the first ciphertext by using the private key decrypted by the own party to obtain the transaction amount; because the new currency commitment adopts the encryption of the encryption public key provided by the second node, the second node can decrypt the new currency commitment by using the private key of the own address to obtain the new currency denomination.
The invention also provides a computer readable storage medium.
In this embodiment, the computer-readable storage medium has stored thereon a block chain-based anonymous transfer program, which when executed by a processor implements the steps of the block chain-based anonymous transfer method as described in any of the above embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM), and includes instructions for causing a terminal (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
The present invention is described in connection with the accompanying drawings, but the present invention is not limited to the above embodiments, which are only illustrative and not restrictive, and those skilled in the art can make various changes without departing from the spirit and scope of the invention as defined by the appended claims, and all changes that come within the meaning and range of equivalency of the specification and drawings that are obvious from the description and the attached claims are intended to be embraced therein.

Claims (21)

1. An anonymous transfer method based on a block chain is characterized by comprising the following steps:
the method comprises the steps that a first node initiates a transfer transaction request to a second node and receives public key information returned by the second node, wherein the public key information comprises a second node encryption public key and a second node address public key;
the first node generates transaction information of the transaction based on the public key information and sends the transaction information to a second node, wherein the transaction information comprises a new currency commitment generated based on an address public key of the second node, a transaction amount encrypted based on an encryption public key of the second node and a zero knowledge certificate, and the new currency commitment refers to encrypted funds;
the second node verifies the transaction amount encrypted based on the encrypted public key of the second node, and if the transaction amount is verified, the second node publishes the transaction information in the block chain network so that the miner can verify and book the transaction;
and the miner node verifies the certification content in the zero knowledge certification, if the certification is passed, the transaction is determined to be valid, and the transaction information is recorded into the block chain.
2. A blockchain-based anonymous transfer method as recited in claim 1 wherein said transaction information further comprises: the old currency serial number, the commitment of the change currency generated for the self by using the self address public key, the first ciphertext obtained by encrypting the random number generating the new currency serial number by using the second node encryption public key, and the second ciphertext obtained by encrypting the transaction amount and the public keys of both parties of the transaction by using the supervision node public key.
3. A blockchain-based anonymous transfer method as recited in claim 2, wherein the second node verifies the transaction amount encrypted based on the second node public encryption key, including:
the second node decrypts the transaction amount encrypted based on the second node encryption public key by using the own decryption private key, decrypts a new coin commitment generated for the second node by using the second node address public key by using the own address private key, and respectively obtains the transaction amount and the new coin denomination;
and verifying whether the current transaction amount is consistent with the new currency denomination, and if so, passing the verification.
4. A blockchain-based anonymous transfer method as recited in claim 2, wherein the verifying the verification content corresponding to the proof content in the zero-knowledge proof by the mineworker node comprises:
A. verifying whether the data formats of the old currency and the new currency contain a promise, and if so, determining that the formats of the old currency and the new currency are complete;
B. verifying whether the address public key of the first node corresponds to the address private key one by one, and if so, determining that the identity information of the payer is real;
C. verifying whether the old coin serial number is in one-to-one correspondence with the first node address private key, and if so, determining that the old coin serial number is correctly calculated;
D. verifying whether the old currency promise of the first node exists in the promise Merkle tree or not, and if so, determining that the old currency promise is valid;
E. and verifying whether the sum of the old money sum in the whole block chain network is equal to the sum of the new money sum, and if so, determining that the transaction sum is valid.
5. A blockchain-based anonymous transfer method as set forth in claim 2 wherein the blockchain-based anonymous transfer method further comprises:
and the supervision node decrypts the second ciphertext by using the private key of the own party to obtain the transaction amount and the address public keys of the two transaction parties so as to supervise the anonymous transfer transaction.
6. A blockchain-based anonymous transfer method as set forth in claim 1, wherein the blockchain-based anonymous transfer method further comprises:
the first node sends a money purchasing transaction request to a money issuing node, and receives confirmed purchasing information returned by the money issuing node after the money purchasing transaction request is checked;
after receiving the purchase confirmation information, the first node respectively generates a currency serial number and a currency acceptance corresponding to the current currency purchase transaction by using an address private key and an address public key of the first node, and sends the currency serial number, the currency acceptance and a cast currency denomination required by the currency acceptance to a currency issuing node for verification;
the currency issuing node verifies whether the transaction denomination of the current currency purchasing transaction is consistent with the cast currency denomination, if so, cast currency transaction information is generated, and the cast currency transaction information is published in the blockchain network so that a miner can verify and account the current transaction;
wherein the coinage transaction information comprises: the transaction ID generated by the currency issuing node for the current transaction, the currency commitment and the digital signature generated by the currency issuing node for the current transaction.
7. An anonymous transfer method based on a block chain is characterized by comprising the following steps:
the method comprises the steps that a first node initiates a transfer transaction request to a second node and receives public key information returned by the second node, wherein the public key information comprises a second node encryption public key and a second node address public key;
generating transaction information of the transaction based on the public key information, and sending the transaction information to a second node so that the second node can verify the transaction amount encrypted based on the public key information, wherein the transaction information comprises a new currency commitment generated based on the public key encrypted by the second node, the transaction amount encrypted based on the public key information and a zero knowledge certificate, and the new currency commitment refers to encrypted funds;
and if the transaction amount passes the verification, the second node publishes the transaction information in the blockchain network so that the mineworker node verifies the certification content in the zero knowledge certification, and if the zero knowledge certification passes the verification, the mineworker node determines that the transaction is valid and records the transaction information in the blockchain.
8. A blockchain-based anonymous transfer method as recited in claim 7 wherein said transaction information further comprises: the old currency serial number, the commitment of the change currency generated for the self by using the self address public key, the first ciphertext obtained by encrypting the random number generating the new currency serial number by using the second node encryption public key, and the second ciphertext obtained by encrypting the transaction amount and the public keys of both parties of the transaction by using the supervision node public key.
9. A blockchain-based anonymous transfer method as set forth in claim 8 wherein the blockchain-based anonymous transfer method further comprises:
and the supervision node decrypts the second ciphertext by using the private key of the own party to obtain the transaction amount and the address public keys of the two transaction parties so as to supervise the anonymous transfer transaction.
10. A blockchain-based anonymous transfer method as set forth in claim 7 wherein the blockchain-based anonymous transfer method further comprises:
the first node sends a money purchasing transaction request to a money issuing node, and receives confirmed purchasing information returned by the money issuing node after the money purchasing transaction request is checked;
after the confirmed purchasing information is received, the address private key and the address public key of the own party are used for respectively generating a currency serial number and a currency acceptance corresponding to the current currency purchasing transaction, and the currency serial number, the currency acceptance and the cast currency denomination required by the currency acceptance are sent to a currency issuing node for verifying whether the transaction denomination and the cast currency denomination of the current currency purchasing transaction are consistent;
if the verification is consistent, the currency issuing node generates coinage transaction information, and publishes the coinage transaction information in the block chain network so that a miner can verify and account the transaction, wherein the coinage transaction information comprises: the transaction ID generated by the currency issuing node for the current transaction, the currency commitment and the digital signature generated by the currency issuing node for the current transaction.
11. An anonymous transfer method based on a block chain is characterized by comprising the following steps:
the second node receives a transfer transaction request initiated by the first node and returns public key information to the first node, wherein the public key information comprises a second node encryption public key and a second node address public key;
receiving transaction information of the transaction generated and sent by a first node based on the public key information, wherein the transaction information comprises a new currency commitment generated based on the address public key of a second node, a transaction amount encrypted based on the encryption public key of the second node and a zero knowledge proof, and the new currency commitment refers to encrypted funds;
verifying the transaction amount encrypted based on the second node encryption public key;
if the transaction amount passes the verification, the transaction information is published in the block chain network so that the mineworker node can verify the certification content in the zero knowledge certification, and if the zero knowledge certification passes the verification, the mineworker node determines that the transaction is valid and records the transaction information into the block chain.
12. A blockchain-based anonymous transfer method as recited in claim 11 wherein said transaction information further comprises: the old currency serial number, the commitment of the change currency generated for the self by using the self address public key, the first ciphertext obtained by encrypting the random number generating the new currency serial number by using the second node encryption public key, and the second ciphertext obtained by encrypting the transaction amount and the public keys of both parties of the transaction by using the supervision node public key.
13. A blockchain-based anonymous transfer method as set forth in claim 12 wherein said verifying the transaction amount encrypted based on said second node cryptographic public key comprises:
the second node decrypts the transaction amount encrypted based on the second node encryption public key by using the own decryption private key, decrypts a new coin commitment generated for the second node by using the second node address public key by using the own address private key, and respectively obtains the transaction amount and the new coin denomination;
and verifying whether the current transaction amount is consistent with the new currency denomination, and if so, passing the verification.
14. A blockchain-based anonymous transfer method as set forth in claim 12 wherein the blockchain-based anonymous transfer method further comprises:
and the supervision node decrypts the second ciphertext by using the private key of the own party to obtain the transaction amount and the address public keys of the two transaction parties so as to supervise the anonymous transfer transaction.
15. An anonymous transfer system based on blockchains, the anonymous transfer system comprising: a blockchain network, a blockchain, wherein the blockchain network comprises: the system comprises a first node, a second node and a miner node;
the first node is used for initiating a transfer transaction request to the second node and receiving public key information returned by the second node, wherein the public key information comprises a second node encryption public key and a second node address public key; generating transaction information of the transaction based on the public key information; sending the transaction information to a second node, wherein the transaction information comprises a new currency commitment generated based on the address public key of the second node, a transaction amount encrypted based on the encryption public key of the second node and a zero knowledge proof, and the new currency commitment refers to encrypted funds;
the second node is used for verifying the transaction amount encrypted based on the second node encryption public key, and if the transaction amount is verified, the second node publishes the transaction information in the block chain network so that a miner can verify and book the transaction;
and the miner node is used for verifying the certification content in the zero-knowledge certification, and if the certification is passed, the transaction is determined to be valid and the transaction information is recorded into the block chain.
16. A blockchain-based anonymous transfer system as recited in claim 15 wherein said blockchain network further comprises: a supervisory node;
the transaction information further includes: the old currency serial number, the commitment of the change currency generated for the self by using the self address public key, the first ciphertext obtained by encrypting the random number generating the new currency serial number by using the second node encryption public key, and the second ciphertext obtained by encrypting the transaction amount and the public keys of both parties of the transaction by using the supervision node public key.
17. A blockchain-based anonymous transfer system as recited in claim 16, wherein said second node is further configured to:
decrypting the transaction amount encrypted based on the second node encryption public key by using the own decryption private key, decrypting a new currency commitment generated for the second node by using the second node address public key by using the own address private key, and respectively obtaining the transaction amount and the new currency denomination; and verifying whether the current transaction amount is consistent with the new currency denomination, and if so, passing the verification.
18. A blockchain-based anonymous transfer system as recited in claim 15, wherein said miner's verification of proof content in said zero-knowledge proof with corresponding verification content comprises:
A. verifying whether the data formats of the old currency and the new currency contain a promise, and if so, determining that the formats of the old currency and the new currency are complete;
B. verifying whether the address public key of the first node corresponds to the address private key one by one, and if so, determining that the identity information of the payer is real;
C. verifying whether the old coin serial number is in one-to-one correspondence with the first node address private key, and if so, determining that the old coin serial number is correctly calculated;
D. verifying whether the old currency promise of the first node exists in the promise Merkle tree or not, and if so, determining that the old currency promise is valid;
E. and verifying whether the sum of the old money sum in the whole block chain network is equal to the sum of the new money sum, and if so, determining that the transaction sum is valid.
19. A blockchain-based anonymous transfer system as recited in claim 16 wherein said supervisory node is operative to:
and decrypting the second ciphertext by using the private key of the own party to obtain the transaction amount and the public keys of the addresses of the two parties of the transaction so as to supervise the anonymous transfer transaction.
20. A blockchain-based anonymous transfer system as recited in claim 15 wherein said blockchain network further comprises: a currency-issuing node;
the first node is further configured to: initiating a money purchase transaction request to a money issuing node; after the confirmed purchase information is received, respectively generating a currency serial number and a currency acceptance corresponding to the current currency purchase transaction by using an address private key and an address public key of the own party, and sending the currency serial number, the currency acceptance and the cast currency denomination required by the currency acceptance to a currency issuing node for verification;
the currency-issuing node is for: returning confirmation purchase information to the first node after the currency purchase transaction request is audited; verifying whether the transaction denomination of the current money purchasing transaction is consistent with the cast money denomination, if so, generating cast money transaction information, and publishing the cast money transaction information in a block chain network so that a miner can verify and book the transaction;
wherein the coinage transaction information comprises: the transaction ID generated by the currency issuing node for the current transaction, the currency commitment and the digital signature generated by the currency issuing node for the current transaction.
21. A computer readable storage medium having stored thereon a blockchain-based anonymous transfer program, which when executed by a processor performs the steps of the blockchain-based anonymous transfer method of any of claims 1-14.
CN201810477299.8A 2018-05-17 2018-05-17 Anonymous transfer method, system and storage medium based on block chain Active CN108764874B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810477299.8A CN108764874B (en) 2018-05-17 2018-05-17 Anonymous transfer method, system and storage medium based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810477299.8A CN108764874B (en) 2018-05-17 2018-05-17 Anonymous transfer method, system and storage medium based on block chain

Publications (2)

Publication Number Publication Date
CN108764874A CN108764874A (en) 2018-11-06
CN108764874B true CN108764874B (en) 2021-09-07

Family

ID=64007322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810477299.8A Active CN108764874B (en) 2018-05-17 2018-05-17 Anonymous transfer method, system and storage medium based on block chain

Country Status (1)

Country Link
CN (1) CN108764874B (en)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109377215B (en) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 Block chain transaction method and device and electronic equipment
CN109359971B (en) 2018-08-06 2020-05-05 阿里巴巴集团控股有限公司 Block chain transaction method and device and electronic equipment
CN112651740A (en) 2018-08-30 2021-04-13 创新先进技术有限公司 Block chain transaction method and device and electronic equipment
CN111833186A (en) 2018-09-20 2020-10-27 创新先进技术有限公司 Transaction method and device based on block chain and node equipment
CN109583886B (en) 2018-09-30 2020-07-03 阿里巴巴集团控股有限公司 Transaction method and device based on block chain and remittance side equipment
ES2876926T3 (en) * 2018-11-07 2021-11-15 Advanced New Technologies Co Ltd Blockchain data protection using homomorphic encryption
EP3829104B1 (en) * 2018-11-07 2022-07-06 Advanced New Technologies Co., Ltd. Blockchain data protection based on account note model with zero-knowledge proof
WO2019072264A2 (en) * 2018-11-07 2019-04-18 Alibaba Group Holding Limited Blockchain data protection using homomorphic encryption
CA3041157C (en) * 2018-11-07 2020-09-08 Alibaba Group Holding Limited Blockchain system supporting public and private transactions under account models
WO2019072262A2 (en) 2018-11-07 2019-04-18 Alibaba Group Holding Limited Recovering encrypted transaction information in blockchain confidential transactions
WO2019072261A2 (en) * 2018-11-07 2019-04-18 Alibaba Group Holding Limited Regulating blockchain confidential transactions
CN109447791B (en) * 2018-11-09 2021-07-16 北京邮电大学 Block chain-based fund transaction method and device
CN109493053A (en) * 2018-11-22 2019-03-19 质数链网科技成都有限公司 A kind of anonymous deal method for alliance's block catenary system
WO2019072275A2 (en) 2018-11-27 2019-04-18 Alibaba Group Holding Limited System and method for information protection
MX2019004543A (en) 2018-11-27 2019-11-11 Alibaba Group Holding Ltd System and method for information protection.
US11218455B2 (en) 2018-11-27 2022-01-04 Advanced New Technologies Co., Ltd. System and method for information protection
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
US11127002B2 (en) * 2018-11-27 2021-09-21 Advanced New Technologies Co., Ltd. System and method for information protection
EP3866382B1 (en) * 2018-11-27 2023-06-21 Advanced New Technologies Co., Ltd. System and method for information protection
CN109670827B (en) * 2018-11-29 2020-11-17 如般量子科技有限公司 Anti-quantum computation blockchain transaction method based on symmetric key pool
CN109670826B (en) * 2018-11-29 2020-11-17 如般量子科技有限公司 Anti-quantum computation block chain transaction method based on asymmetric key pool
CN109903026A (en) 2018-12-14 2019-06-18 阿里巴巴集团控股有限公司 Event-handling method and device, electronic equipment based on block chain
CN109903027A (en) 2018-12-14 2019-06-18 阿里巴巴集团控股有限公司 Event-handling method and device, electronic equipment based on block chain
KR102213414B1 (en) 2018-12-21 2021-02-09 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. Blockchain data protection based on general account model and homogeneous encryption
SG11201906751YA (en) * 2018-12-21 2019-08-27 Alibaba Group Holding Ltd Blockchain data protection based on generic account model and homomorphic encryption
EP3568826B1 (en) 2018-12-29 2021-09-29 Advanced New Technologies Co., Ltd. System and method for information protection
CN109784928B (en) * 2019-01-23 2024-04-12 众安信息技术服务有限公司 Information processing method and information processing device based on block chain
EP3602956B1 (en) * 2019-01-31 2021-01-27 Advanced New Technologies Co., Ltd. Cross-asset trading within blockchain networks
CN109815722B (en) * 2019-01-31 2021-04-27 上海易点时空网络有限公司 Private data transaction method and device
CN109858281B (en) * 2019-02-01 2020-09-18 杭州云象网络技术有限公司 Block chain account model privacy protection method based on zero knowledge proof
CN109756582B (en) * 2019-03-15 2022-08-12 腾讯科技(深圳)有限公司 Information recording method, device, node and storage medium in block chain network
CN110009318A (en) * 2019-03-22 2019-07-12 陕西师范大学 A kind of digital cash method for tracing based on door sieve coin
CN110070443B (en) * 2019-04-23 2023-07-11 深圳前海微众银行股份有限公司 Bill processing method and device based on blockchain
CN112016118B (en) * 2019-05-31 2024-05-24 国际商业机器公司 Method and system for anonymous database rating update
CN110278266B (en) * 2019-06-20 2021-09-17 深圳前海微众银行股份有限公司 Resource processing method and device based on block chain
CN110363528B (en) * 2019-06-27 2022-06-24 矩阵元技术(深圳)有限公司 Collaborative address generation method, collaborative address generation device, transaction signature method, transaction signature device and storage medium
CN110348837A (en) * 2019-06-28 2019-10-18 阿里巴巴集团控股有限公司 A kind of transfer account method and system based on block chain intelligence contract
US20200175509A1 (en) 2019-06-28 2020-06-04 Alibaba Group Holding Limited Transferring method and system based on blockchain smart contract
CN110636050B (en) * 2019-08-28 2021-10-22 如般量子科技有限公司 Anonymous identity recognition method and system based on alliance chain and resisting quantum computation
US10652019B1 (en) 2019-08-28 2020-05-12 Qed-It Systems Ltd. Atomic swap using zero-knowledge proofs, and applications thereof
CN110545279A (en) * 2019-09-05 2019-12-06 国网区块链科技(北京)有限公司 block chain transaction method, device and system with privacy and supervision functions
CN110555772B (en) * 2019-09-06 2023-03-21 深圳前海微众银行股份有限公司 Certificate verification method, device, equipment and readable storage medium
CN110855631B (en) * 2019-10-24 2022-05-17 南京可信区块链与算法经济研究院有限公司 Method, system and storage medium for verifying supervision-capable zero knowledge in block chain
CN111091380B (en) * 2019-10-25 2023-05-09 趣派(海南)信息科技有限公司 Block chain asset management method based on friend hidden verification
CN110942316A (en) * 2019-12-04 2020-03-31 趣派(海南)信息科技有限公司 Transfer verification method and system based on multi-party verification
CN111126988B (en) * 2019-12-24 2024-04-19 深圳前海微众银行股份有限公司 Block chain-based transfer method, device, equipment and computer medium
CN111241586B (en) * 2020-01-20 2023-02-07 布比(北京)网络技术有限公司 Anonymous processing method and system for block link address, terminal and storage medium
CN111433798B (en) * 2020-02-03 2022-05-31 支付宝(杭州)信息技术有限公司 Credible insurance letter based on block chain
CN111369251B (en) * 2020-03-07 2021-09-28 中国人民解放军国防科技大学 Block chain transaction supervision method based on user secondary identity structure
CN111639923B (en) * 2020-05-07 2023-09-29 杭州云象网络技术有限公司 Digital currency transaction accounting method and system based on zero knowledge proof
CN111737748B (en) * 2020-06-24 2021-09-07 深圳前海微众银行股份有限公司 Data decryption method and device applied to block chain and storage medium
CN111756743B (en) * 2020-06-24 2021-12-14 腾讯科技(深圳)有限公司 Resource transfer method and device based on block chain, computer equipment and storage medium
CN111783151A (en) * 2020-06-30 2020-10-16 平安科技(深圳)有限公司 Management method and device of block chain account book and computer equipment
CN111932251A (en) * 2020-07-03 2020-11-13 杭州云象网络技术有限公司 Block chain-based digital currency transaction visualization method and system
CN112115201B (en) * 2020-09-16 2021-11-16 建信金融科技有限责任公司 Transaction processing method and device based on block chain and transaction tracking method and device
CN112418857B (en) * 2020-11-30 2023-06-30 北京八分量信息科技有限公司 Hidden transaction method and device based on UTXO model and related products
CN112561701A (en) * 2020-12-15 2021-03-26 长沙理工大学 Transaction creating method, verification method and transaction equipment of blockchain system
CN112633890B (en) * 2020-12-22 2024-04-05 深圳前海微众银行股份有限公司 Verification method and device for hidden rights and interests evidence based on blockchain
CN112734423A (en) * 2020-12-31 2021-04-30 杭州趣链科技有限公司 Transaction method based on block chain and terminal equipment
CN112766943A (en) * 2021-01-18 2021-05-07 西安电子科技大学 Anonymous computing block chain data processing method, system, medium, device and application
CN113592469A (en) * 2021-08-02 2021-11-02 杭州复杂美科技有限公司 Red packet processing method based on zero knowledge proof, computer equipment and storage medium
CN113691361A (en) * 2021-08-25 2021-11-23 上海万向区块链股份公司 Alliance chain privacy protection method and system based on homomorphic encryption and zero knowledge proof
CN115550073A (en) * 2022-11-30 2022-12-30 安徽中科晶格技术有限公司 Construction method capable of monitoring stealth address

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506505A (en) * 2016-11-15 2017-03-15 深圳银链科技有限公司 A kind of list based on block chain is close to be chatted and group close merely method and its system
CN106549749A (en) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 A kind of block chain method for secret protection encrypted based on additive homomorphism
CN106911470A (en) * 2017-01-23 2017-06-30 北京航空航天大学 A kind of bit coin transaction privacy Enhancement Method
CN107077675A (en) * 2016-12-30 2017-08-18 深圳前海达闼云端智能科技有限公司 Block chain based currency management method and system
CN107545414A (en) * 2017-07-17 2018-01-05 招商银行股份有限公司 Anonymous deal method, apparatus and computer-readable recording medium
CN107612973A (en) * 2017-08-18 2018-01-19 暨南大学 Block chain structure, generation method and transaction verification method for intelligent sliding moved end

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017218983A1 (en) * 2016-06-16 2017-12-21 The Bank Of New York Mellon Distributed, centrally authored block chain network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506505A (en) * 2016-11-15 2017-03-15 深圳银链科技有限公司 A kind of list based on block chain is close to be chatted and group close merely method and its system
CN106549749A (en) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 A kind of block chain method for secret protection encrypted based on additive homomorphism
CN107077675A (en) * 2016-12-30 2017-08-18 深圳前海达闼云端智能科技有限公司 Block chain based currency management method and system
CN106911470A (en) * 2017-01-23 2017-06-30 北京航空航天大学 A kind of bit coin transaction privacy Enhancement Method
CN107545414A (en) * 2017-07-17 2018-01-05 招商银行股份有限公司 Anonymous deal method, apparatus and computer-readable recording medium
CN107612973A (en) * 2017-08-18 2018-01-19 暨南大学 Block chain structure, generation method and transaction verification method for intelligent sliding moved end

Also Published As

Publication number Publication date
CN108764874A (en) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108764874B (en) Anonymous transfer method, system and storage medium based on block chain
CN109359974B (en) Block chain transaction method and device and electronic equipment
TWI706275B (en) System and method for information protection
CN110337665B (en) System and method for information protection
TWI716034B (en) System and method for information protection
CN108389047B (en) Method for trading between parent chain and child chain in block chain and block chain network
Franco Understanding Bitcoin: Cryptography, engineering and economics
AU751404B2 (en) Symmetrically-secured electronic communication system
US20190108517A1 (en) Digital currency for performing cash-equivalent transactions
CN110612547A (en) System and method for information protection
CN110648229B (en) Semi-public block chain system and transaction method
CN107666388A (en) Block chain information encryption method based on complete homomorphic cryptography method
CN111160909B (en) Hidden static supervision system and method for blockchain supply chain transaction
US20230093581A1 (en) Method for directly transferring electronic coin data sets between terminals, payment system, currency system and monitoring unit
CN111429138A (en) Block link point data safety interaction method and first interaction node
CN111815322A (en) Distributed payment method with selectable privacy service based on Ether house
CN108805574B (en) Transaction method and system based on privacy protection
CN111738857B (en) Generation and verification method and device of concealed payment certificate applied to block chain
WO2021134897A1 (en) Blockchain supply chain transaction hidden dynamic supervision system and method
CN111062717B (en) Data transfer processing method, device and computer readable storage medium
CN114270780A (en) Gateway agnostic tokenization
WO2022154789A1 (en) Token-based off-chain interaction authorization
CN111523892B (en) Block chain cross-chain transaction method and device
CN113269649A (en) System and method for tracking digital currency
CN114742656A (en) Financing evaluation system, method, device, equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant