CN112132578A - Efficient transaction processing method, tracking method and device based on block chain - Google Patents

Efficient transaction processing method, tracking method and device based on block chain Download PDF

Info

Publication number
CN112132578A
CN112132578A CN202010974508.7A CN202010974508A CN112132578A CN 112132578 A CN112132578 A CN 112132578A CN 202010974508 A CN202010974508 A CN 202010974508A CN 112132578 A CN112132578 A CN 112132578A
Authority
CN
China
Prior art keywords
transaction
public key
parameter
random number
address
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.)
Granted
Application number
CN202010974508.7A
Other languages
Chinese (zh)
Other versions
CN112132578B (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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202010974508.7A priority Critical patent/CN112132578B/en
Publication of CN112132578A publication Critical patent/CN112132578A/en
Application granted granted Critical
Publication of CN112132578B publication Critical patent/CN112132578B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The invention provides a block chain-based efficient transaction processing method, a tracking method and a device, wherein the method comprises the following steps: constructing an address list according to the address of the transaction receiver and the n-1 other addresses; obtaining a temporary public key of the transaction fund held by the transaction initiator, obtaining a first parameter, obtaining a second parameter and obtaining an intermediate parameter of each supervisor; obtaining a first public key set and a second public key set; encrypting to obtain a random number ciphertext; performing double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; generating and issuing a bill of transaction to the blockchain. The device is used for executing the method. The efficient transaction processing method, the efficient transaction tracking method and the efficient transaction tracking device based on the block chain improve the transaction efficiency.

Description

Efficient transaction processing method, tracking method and device based on block chain
Technical Field
The invention relates to the technical field of block chains, in particular to a block chain-based efficient transaction processing method, a block chain-based efficient transaction tracking method and a block chain-based efficient transaction tracking device.
Background
In the prior art, a privacy protection block chain is mainly represented by a menuo currency, a zero currency and the like, the menuo currency uses a method of receiving addresses which are changed once, and a transaction initiator generates a new receiving address for a receiver by using a key negotiation protocol to protect the privacy of the receiver. While the coin adopts an encryption method to protect the privacy of the receiver.
For the Menlo money system, the long-term address of each user comprises a view key and a consumption key, and a transaction initiator generates a temporary public key of a new UTXO (open transaction output) by using address information of a transaction receiver, so that the generation of the temporary public key of the new UTXO in a privacy mode, the inquiry of the transaction receiver and the recovery requirement of a private key of the new UTXO are met. However, in the process of determining whether there is a transaction for the transaction receiver, the transaction receiver needs to use the private key of the transaction receiver to perform analysis calculation on all transactions on the chain, which results in a large calculation amount for searching by the transaction receiver, a long time for searching the transaction process, and low transaction efficiency.
Disclosure of Invention
For solving the problems in the prior art, embodiments of the present invention provide an efficient transaction processing method, tracking method and apparatus based on a blockchain, which can at least partially solve the problems in the prior art.
In a first aspect, the present invention provides a block chain-based efficient transaction processing method, including:
constructing an address list according to the address of the transaction receiver and the n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key;
obtaining a temporary public key of the transaction fund held by a transaction initiator according to a random number corresponding to the transaction fund held by the transaction initiator and a consumption public key of a transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a query public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a trap public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor;
obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
encrypting a random number corresponding to a transaction fund held by the transaction initiator through a shared key of the transaction initiator and a shared key of the transaction receiver to obtain a random number ciphertext;
performing double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the double-ring signature result comprises the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, a shared key parameter, intermediate parameters of each supervisor, the address list, a random number ciphertext and other transaction related information;
generating and issuing a transaction bill onto a blockchain, the transaction bill including a temporary public key of transaction funds held by the transaction initiator, the first parameter, the second parameter, intermediate parameters of respective supervisors, the shared key parameter, the address list, the nonce cryptogram, the dual ring signature result, and the other transaction related information.
In a second aspect, the present invention further provides a block chain-based efficient transaction processing method, including:
acquiring a transaction bill which is linked from a blockchain, wherein the transaction bill comprises an address list, a first parameter, a temporary public key of transaction funds held by a transaction initiator and a random number ciphertext;
if the local address exists in the address list, obtaining a public key to be matched according to the first parameter, the local query private key and the local consumption public key;
if the public key to be matched is judged to be equal to the temporary public key of the transaction fund held by the transaction initiator, decrypting the random number ciphertext through the shared secret keys of the transaction initiator and the transaction receiver to obtain a random number corresponding to the transaction fund held by the transaction initiator;
obtaining a temporary private key according to a random number corresponding to the transaction fund held by the transaction initiator and a local consumption private key;
and if the temporary private key is judged to be matched with the temporary public key of the transaction fund held by the transaction initiator, performing collection operation.
In a third aspect, the present invention further provides a block chain-based efficient transaction processing method, including:
acquiring a issued transaction bill from a block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, a first parameter, a second parameter, intermediate parameters of each supervisor, an address list and a double-ring signature result;
obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
and verifying the double-ring signature result based on the first public key set and the second public key set.
In a fourth aspect, the present invention provides a transaction tracking method based on a blockchain, including:
acquiring a transaction bill which is linked up from a blockchain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, intermediate parameters and an address list of each supervisor;
obtaining a temporary address according to a temporary public key of transaction funds held by the transaction initiator, intermediate parameters of a local supervisor and a local supervision private key;
and if judging that the address list has the address matched with the temporary address, outputting the address matched with the temporary address.
In a fifth aspect, the present invention provides a blockchain-based efficient transaction processing apparatus, comprising:
the construction unit is used for constructing an address list according to the address of the transaction receiver and the n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key;
the first obtaining unit is used for obtaining a temporary public key of the transaction fund held by the transaction initiator according to the random number corresponding to the transaction fund held by the transaction initiator and the consumption public key of the transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the inquiry public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the trap public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor;
a second obtaining unit, configured to obtain a first public key set according to a temporary public key of a transaction fund held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set, and the first random number, and obtain a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, a supervision public key of each supervisor, the random number set, and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
the encryption unit is used for encrypting the random number corresponding to the transaction fund held by the transaction initiator through the shared secret key of the transaction initiator and the transaction receiver to obtain a random number ciphertext;
the signature unit is used for carrying out position-keeping double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the double-ring signature result comprises the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, a shared key parameter, intermediate parameters of each supervisor, the address list, a random number ciphertext and other transaction related information;
an issuing unit, configured to generate and issue a transaction bill onto a blockchain, where the transaction bill includes a temporary public key of a transaction fund held by the transaction initiator, the first parameter, the second parameter, an intermediate parameter of each supervisor, the shared key parameter, the address list, the random number ciphertext, the double-ring signature result, and the other transaction-related information.
In a sixth aspect, the present invention further provides a block chain-based efficient transaction processing apparatus, including:
the system comprises a first acquisition unit, a second acquisition unit and a third acquisition unit, wherein the first acquisition unit is used for acquiring a transaction bill which is linked from a block chain, and the transaction bill comprises an address list, a first parameter, a temporary public key of transaction funds held by a transaction initiator and a random number ciphertext;
the first judging unit is used for obtaining a public key to be matched according to the first parameter, the local query private key and the local consumption public key after judging that the local address exists in the address list;
the decryption unit is used for decrypting the random number ciphertext through the shared key of the transaction initiator and the transaction receiver after judging that the public key to be matched is equal to the temporary public key of the transaction fund held by the transaction initiator, so as to obtain a random number corresponding to the transaction fund held by the transaction initiator;
a third obtaining unit, configured to obtain a temporary private key according to the random number corresponding to the transaction fund held by the transaction initiator and the local consumption private key;
and the second judgment unit is used for performing money collection operation after judging and knowing that the temporary private key is matched with the temporary public key of the transaction fund held by the transaction initiator.
In a seventh aspect, the present invention further provides a blockchain-based efficient transaction processing apparatus, including:
the second acquisition unit is used for acquiring the issued transaction bill from the block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, a first parameter, a second parameter, intermediate parameters of each supervisor, an address list and a double-ring signature result;
a fourth obtaining unit, configured to obtain a first public key set according to a temporary public key of a transaction fund held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set, and the first random number, and obtain a second public key set according to an inquiry public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set, and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
and the verification unit is used for verifying the double-ring signature result based on the first public key set and the second public key set.
In an eighth aspect, the present invention provides a blockchain-based transaction tracking device, including:
the third acquisition unit is used for acquiring the transaction bill which is linked from the block chain, wherein the transaction bill comprises the temporary public key of the transaction fund held by the transaction initiator, the intermediate parameters of each supervisor and the address list;
a fifth obtaining unit, configured to obtain a temporary address according to the temporary public key of the transaction fund held by the transaction initiator, the intermediate parameter of the local supervisor, and the local supervision private key;
and the output unit is used for outputting the address matched with the temporary address after judging and knowing that the address matched with the temporary address exists in the address list.
In a ninth aspect, the present invention provides an electronic device, including a first memory, a first processor, and a first computer program stored in the first memory and executable on the first processor, wherein the first processor, when executing the first computer program, implements the following block-chain-based efficient transaction processing method:
constructing an address list according to the address of the transaction receiver and the n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key;
obtaining a temporary public key of the transaction fund held by a transaction initiator according to a random number corresponding to the transaction fund held by the transaction initiator and a consumption public key of a transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a query public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a trap public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor;
obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
encrypting a random number corresponding to a transaction fund held by the transaction initiator through a shared key of the transaction initiator and a shared key of the transaction receiver to obtain a random number ciphertext;
performing double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the double-ring signature result comprises the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, a shared key parameter, intermediate parameters of each supervisor, the address list, a random number ciphertext and other transaction related information;
generating and issuing a transaction bill onto a blockchain, the transaction bill including a temporary public key of transaction funds held by the transaction initiator, the first parameter, the second parameter, intermediate parameters of respective supervisors, the shared key parameter, the address list, the nonce cryptogram, the dual ring signature result, and the other transaction related information. Or
Acquiring a transaction bill which is linked from a blockchain, wherein the transaction bill comprises an address list, a first parameter, a temporary public key of transaction funds held by a transaction initiator and a random number ciphertext;
if the local address exists in the address list, obtaining a public key to be matched according to the first parameter, the local query private key and the local consumption public key;
if the public key to be matched is judged to be equal to the temporary public key of the transaction fund held by the transaction initiator, decrypting the random number ciphertext through the shared secret keys of the transaction initiator and the transaction receiver to obtain a random number corresponding to the transaction fund held by the transaction initiator;
obtaining a temporary private key according to a random number corresponding to the transaction fund held by the transaction initiator and a local consumption private key;
and if the temporary private key is judged to be matched with the temporary public key of the transaction fund held by the transaction initiator, performing collection operation. Or
Acquiring a issued transaction bill from a block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, a first parameter, a second parameter, intermediate parameters of each supervisor, an address list and a double-ring signature result;
obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
and verifying the double-ring signature result based on the first public key set and the second public key set.
In a tenth aspect, the present invention provides a computer readable storage medium having stored thereon a first computer program which, when executed by a first processor, implements a blockchain based efficient transaction processing method as follows:
constructing an address list according to the address of the transaction receiver and the n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key;
obtaining a temporary public key of the transaction fund held by a transaction initiator according to a random number corresponding to the transaction fund held by the transaction initiator and a consumption public key of a transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a query public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a trap public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor;
obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
encrypting a random number corresponding to a transaction fund held by the transaction initiator through a shared key of the transaction initiator and a shared key of the transaction receiver to obtain a random number ciphertext;
performing double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the double-ring signature result comprises the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, a shared key parameter, intermediate parameters of each supervisor, the address list, a random number ciphertext and other transaction related information;
generating and issuing a transaction bill onto a blockchain, the transaction bill including a temporary public key of transaction funds held by the transaction initiator, the first parameter, the second parameter, intermediate parameters of respective supervisors, the shared key parameter, the address list, the nonce cryptogram, the dual ring signature result, and the other transaction related information. Or
Acquiring a transaction bill which is linked from a blockchain, wherein the transaction bill comprises an address list, a first parameter, a temporary public key of transaction funds held by a transaction initiator and a random number ciphertext;
if the local address exists in the address list, obtaining a public key to be matched according to the first parameter, the local query private key and the local consumption public key;
if the public key to be matched is judged to be equal to the temporary public key of the transaction fund held by the transaction initiator, decrypting the random number ciphertext through the shared secret keys of the transaction initiator and the transaction receiver to obtain a random number corresponding to the transaction fund held by the transaction initiator;
obtaining a temporary private key according to a random number corresponding to the transaction fund held by the transaction initiator and a local consumption private key;
and if the temporary private key is judged to be matched with the temporary public key of the transaction fund held by the transaction initiator, performing collection operation. Or
Acquiring a issued transaction bill from a block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, a first parameter, a second parameter, intermediate parameters of each supervisor, an address list and a double-ring signature result;
obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
and verifying the double-ring signature result based on the first public key set and the second public key set.
In an eleventh aspect, the present invention further provides an electronic device, including a second memory, a second processor, and a second computer program stored on the second memory and executable on the second processor, wherein the second processor, when executing the second computer program, implements the following method for tracking transactions based on a blockchain:
acquiring a transaction bill which is linked up from a blockchain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, intermediate parameters and an address list of each supervisor;
obtaining a temporary address according to a temporary public key of transaction funds held by the transaction initiator, intermediate parameters of a local supervisor and a local supervision private key;
and if judging that the address list has the address matched with the temporary address, outputting the address matched with the temporary address.
In a twelfth aspect, the present invention also provides a computer-readable storage medium having stored thereon a second computer program which, when executed by a second processor, implements a blockchain-based transaction tracking method as follows:
acquiring a transaction bill which is linked up from a blockchain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, intermediate parameters and an address list of each supervisor;
obtaining a temporary address according to a temporary public key of transaction funds held by the transaction initiator, intermediate parameters of a local supervisor and a local supervision private key;
and if judging that the address list has the address matched with the temporary address, outputting the address matched with the temporary address.
According to the efficient transaction processing method, the efficient transaction tracking method and the efficient transaction tracking device based on the block chain, provided by the embodiment of the invention, an address list is constructed according to the address of a transaction receiver and n-1 other addresses; obtaining a temporary public key of the transaction fund held by the transaction initiator according to the random number corresponding to the transaction fund held by the transaction initiator and the consumption public key of the transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the inquiry public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the trap door public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor; obtaining a first public key set according to a temporary public key of transaction funds held by a transaction initiator, a consumption public key of each address in an address list, a second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to an inquiry public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; encrypting a random number corresponding to a transaction fund held by a transaction initiator through a shared key of the transaction initiator and a shared key of a transaction receiver to obtain a random number ciphertext; performing position-keeping double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the transaction bill is generated and issued to the blockchain, and the transaction search calculation amount of the transaction receiver can be reduced while the transaction safety is ensured through the temporary public key of the transaction fund held by the transaction initiator, so that the transaction efficiency is improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts. In the drawings:
fig. 1 is a schematic structural diagram of a blockchain-based efficient transaction processing system according to a first embodiment of the present invention.
Fig. 2 is a flowchart illustrating a method for processing efficient transactions based on blockchains according to a second embodiment of the present invention.
Fig. 3 is a flowchart illustrating a method for efficient transaction processing based on blockchain according to a third embodiment of the present invention.
Fig. 4 is a flowchart illustrating a method for processing efficient transactions based on blockchains according to a fourth embodiment of the present invention.
Fig. 5 is a flowchart illustrating a transaction tracking method based on blockchain according to a fifth embodiment of the present invention.
Fig. 6 is a schematic structural diagram of a block chain-based efficient transaction processing device according to a sixth embodiment of the present invention.
Fig. 7 is a schematic structural diagram of a block chain-based efficient transaction processing device according to a seventh embodiment of the present invention.
Fig. 8 is a schematic structural diagram of a block chain-based efficient transaction processing device according to an eighth embodiment of the present invention.
Fig. 9 is a schematic structural diagram of a transaction tracking device based on a blockchain according to a ninth embodiment of the present invention.
Fig. 10 is a schematic physical structure diagram of an electronic device according to a tenth embodiment of the present invention.
Fig. 11 is a schematic physical structure diagram of an electronic device according to an eleventh embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the embodiments of the present invention are further described in detail below with reference to the accompanying drawings. The exemplary embodiments and descriptions of the present invention are provided to explain the present invention, but not to limit the present invention. It should be noted that the embodiments and features of the embodiments in the present application may be arbitrarily combined with each other without conflict.
In order to facilitate understanding of the technical solutions provided in the present application, the following first describes relevant contents of the technical solutions in the present application. For the menuo currency, in the process of searching local related transactions, the whole block chain data needs to be stored for query, the searching efficiency is low, the data storage capacity is large, and the practicability is not high especially on equipment with limited resources such as a mobile terminal. Therefore, a UTXO key generation and transaction search method with higher efficiency needs to be supported, privacy and security are maintained, and the method has a higher application prospect in devices with limited resources, such as a mobile terminal. Furthermore, in the menuo system, if the temporary public key PK of UTXO is usednewIs not provided with
Figure BDA0002685290290000101
In a form that cannot be detected by the verifier, and also presents a potential risk of an irregular transaction to some extent, such as random PK calculation by the transaction initiatornew=gzB, and z is sent to the recipient separately, the recipient can recover SKnewHowever, such transaction that does not conform to the standard format of the menuo currency cannot be verified by the verifier, and unstable factors such as transaction revocation and repudiation are caused. Therefore, there is also a need for a verifier to verify the validity of the temporal public key generation process for a new UTXO, avoiding the potential risk of incorrect transaction formats. For supervision and audit, the menuo coin system does not have a traceable function and cannot adapt to supervision, so a transaction system with a long-term address tracking function is also needed, and a stronger multi-supervision and audit function is supported. Where UTXO is an identified but uneaten digital currency, i.e., an uneaten amount of money, on the current blockchain.
According to the technical scheme provided by the embodiment of the invention, as the newly generated temporary public and private key of the UTXO needs to be generated in each transaction process, the account information of the transaction receiver cannot be reversely deduced by the common node on the block chain through the new temporary public key, but each supervisor on the block chain can respectively track the account information of the transaction receiver without extra communication and calculation, so that supervision and audit on the fund flow are realized.
Fig. 1 is a schematic structural diagram of a block chain-based efficient transaction processing system according to a first embodiment of the present invention, as shown in fig. 1, the block chain-based efficient transaction processing system according to the first embodiment of the present invention includes a transaction initiating node 1, a transaction receiving node 2, a verification node 3, and at least one supervision node 4, where:
the transaction initiating node 1, the transaction receiving node 2, the verifying node 3 and each monitoring node 4 are in communication connection with each other, namely, the transaction initiating node 1 is in communication connection with the transaction receiving node 2, the verifying node 3 and each monitoring node 4 respectively, the transaction receiving node 2 is in communication connection with the verifying node 3 and each monitoring node 4 respectively, and the verifying node 3 is in communication connection with each monitoring node 4.
The transaction initiation node 1 generates and issues a transaction bill onto the blockchain. The verification node 3 verifies the transaction bill issued to the blockchain and links the transaction bill up after the transaction bill is verified. The transaction receiving node 2 obtains the transaction bill related to the local from the transaction bills which are linked up and processes the transaction bills. The supervision node 4 performs tracking audit on the transaction bill, can restore the address of the transaction receiver of the transaction bill, and realizes supervision on the address of the transaction receiver.
One node in the efficient transaction processing system based on the block chain may be set as a transaction initiating node 1 and a transaction receiving node 2, or may be set as a verification node 3 according to actual needs, which is not limited in the embodiment of the present invention. In the efficient transaction processing system based on the block chain, at least one monitoring node 4 exists for auditing the transaction bill, when the number of the monitoring nodes 4 is more than or equal to 2, the multiple auditing of the transaction bill can be realized, the number of the monitoring nodes 4 is set according to actual needs, and the embodiment of the invention is not limited.
It is noted that in the block chain based multi-supervised transaction processing system, common parameters are disclosed
Figure BDA0002685290290000111
Wherein the content of the first and second substances,
Figure BDA0002685290290000112
g is a common generator for the set elliptic curve group,
Figure BDA0002685290290000113
setting m supervisors in the system, each supervisor can independently supervise the privacy data on the chain, and each supervisor is QjJ is 1, …, m is a positive integer, and each supervisor Q is a masterjRandom selection
Figure BDA0002685290290000114
As supervisor QjSupervision of private Key, computation
Figure BDA0002685290290000115
h1,…,hmRandomly selecting trap door public parameters for supervising public keys
Figure BDA0002685290290000116
So that anyone cannot obtain the discrete logarithm relation between g and H, optionally using random Hash to generate H, namely calculating H-H by using Hash-to-Pointp(g,h1,…,hm),HpIs preset, HpIs a hash function that can generate random elliptic curve group elements.
Figure BDA0002685290290000117
The representation represents a modulo q non-zero integer ring.
Fig. 2 is a schematic flow chart of a block chain-based efficient transaction processing method according to a second embodiment of the present invention, and as shown in fig. 2, the block chain-based efficient transaction processing method according to the embodiment of the present invention includes:
s201, constructing an address list according to the address of the transaction receiver and n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key;
specifically, the transaction initiating node may obtain the address of the transaction recipient, and obtain n-1 other addresses from the blockchain, and construct an address list according to the address of the transaction recipient and the n-1 other addresses. The other addresses are addresses irrelevant to the transaction, namely n-1 other addresses are not addresses of the receiver of the transaction, and the privacy protection effect on the address of the receiver of the transaction is achieved. Each address in the address list includes a query public key and a consumption public key.
For example, the address of the recipient of the transaction and n-1 other addresses form an address list, denoted LAdd={Add1,…,AddnAnd (c) the step of (c) in which,
Figure BDA0002685290290000121
Addirepresents an address list LAddAt the ith address of (1)iIs AddiQuery public key of, BiIs AddiConsumption public key of aiIs AddiQuerying private key of biIs AddiI ═ 1, …, n. Wherein the address of the transaction recipient can be represented as Addγ
Figure BDA0002685290290000122
Figure BDA0002685290290000123
Gamma is 1, …, a specific value of n, AγFor inquiring public keys of transaction recipients, BγIs a consumption public key of a transaction receiver, aγA private key for the inquiry of the transaction receiver, bγIs the consumption private key of the transaction recipient.
S202, obtaining a temporary public key of the transaction fund held by the transaction initiator according to a random number corresponding to the transaction fund held by the transaction initiator and a consumption public key of the transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a query public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a trap public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor;
specifically, the transaction initiating node randomly generates a random number as a random number corresponding to the transaction fund held by the transaction initiating party, and then obtains the temporary public key of the transaction fund held by the transaction initiating party according to the random number corresponding to the transaction fund held by the transaction initiating party and the consumption public key of the transaction receiving party. And the transaction initiating node acquires a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the inquiry public key of the transaction receiver. And the transaction initiating node acquires a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the trap door common parameter. And the transaction initiating node acquires the intermediate parameters of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiating node and the supervision public key of each supervisor.
For example, the transaction funds held by the transaction initiator may be a UTXO, randomly generated by the transaction initiator node I
Figure BDA0002685290290000124
Figure BDA0002685290290000125
Taking r as a random number corresponding to a transaction fund held by a transaction initiator, and calculating PK by a transaction initiating node Inew=gr·Bγ,PKnewTemporary public key of transaction fund held by transaction initiator, g is public generator, BγIs the public key of the transaction recipient's consumption. Transaction initiating node I calculates R1=Aγ r,R1As a first parameter, AγA query public key for the transaction recipient. Transaction initiating node I calculates R2=hr,R2H is a second parameter and h is a trapdoor common parameter. Transaction initiating node I computation
Figure BDA0002685290290000126
SjIs an intermediate parameter of the jth supervisor, hjFor the supervision public key of the jth supervisor, the intermediate parameters S of the m supervisors can be obtained1,…,Sm,j=1,…,m。
S203, obtaining a first public key set according to a temporary public key of a transaction fund held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
specifically, the transaction initiation node obtains a random number set and a first random number, then obtains a first public key set from a temporary public key of a transaction fund held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and the first random number, and obtains a second public key set from a query public key of each address in the address list, the trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number. Wherein the set of random numbers and the first random number are obtained in advance.
For example, the transaction initiating node I is based on the formula
Figure BDA0002685290290000131
Calculate and obtain the address list LAddThe ith address Add ofiCorresponding first public key Li,PKnewTemporary public key of transaction funds held by the transaction initiator, BiIs an address list LAddThe ith address Add ofiOf consumption public key, R2Is a second parameter, em+1Is a first random number, SjAs an intermediate parameter for the jth supervisor, ejIs j-th random number in the random number set, i is 1, …, n, j is 1, …, m. The transaction initiating node I obtains n first public keys through calculation, and the n first public keys form a first public key set L.
For example, the transaction initiating node I is based on the formula
Figure BDA0002685290290000132
Calculate and obtain the address list LAddThe ith address Add ofiCorresponding second public key L'i,AiIs an address list LAddThe ith address Add ofiH is a trap door public parameter, em+1Is a first random number, hjIs the supervision public key of the jth supervisor, ejIs j-th random number in the random number set, i is 1, …, n, j is 1, …, m. The transaction initiating node I calculates and obtains n second public keys, and the n second public keys form a second public key set L'.
Wherein the transaction initiating node I may be according to formula ek=H(LAdd,PKnew,R1,R2,S1,…,SmK) calculating to obtain each random number e in the random number set1,…,emAnd a first random number em+1,LAddIndicating said address list, PKnewTemporary public key, R, representing transaction funds held by the transaction initiator1Denotes a first parameter, R2Represents the second parameter, S1,…,SmAn intermediate parameter representing m supervisors, m representing the number of said supervisors, H () representing a hash function, k being 1, …, m + 1.
S204, encrypting a random number corresponding to the transaction fund held by the transaction initiator through the shared secret key of the transaction initiator and the transaction receiver to obtain a random number ciphertext;
specifically, the transaction initiating node may obtain the shared key of the transaction initiator and the transaction receiver, and then encrypt the random number corresponding to the transaction fund held by the transaction initiator through the shared key of the transaction initiator and the transaction receiver to obtain a random number ciphertext.
For example, the transaction initiating node I is based on the formula
Figure BDA0002685290290000141
Calculating to obtain the shared secret key alpha, B of the transaction initiator and the transaction receiverγIs the consumption public key of the transaction receiver, w is the random number corresponding to the shared secret key alpha,
Figure BDA0002685290290000142
the transaction initiating node I will also calculate a shared key parameter R3=gw. The random number ciphertext may be denoted as ct ═ Enck(r), r is a random number corresponding to the transaction fund held by the transaction initiator, Enck() The encryption algorithm is shown, and the encryption algorithm is set according to actual needs, which is not limited in the embodiment of the present invention.
S205, performing position-keeping double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; wherein the double-ring signature result includes the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, the shared key parameter, an intermediate parameter of each supervisor, the address list, the random number ciphertext and other transaction related information;
specifically, the transaction initiation node performs double-ring signature on the holding positions of the first public key set and the second public key set, so as to obtain a double-ring signature result, where the double-ring signature result may include the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, the shared key parameter, an intermediate parameter of each supervisor, the address list, the random number ciphertext, and other transaction-related information. The signature algorithm used by the dual-ring signature is set according to actual needs, and the embodiment of the invention is not limited. The other transaction related information includes, but is not limited to, a transaction fund commitment set, a traceable interval certification, a traceable linkable ring signature, a first public key set, a second public key set, and the like, and is set according to actual needs, which is not limited in the embodiment of the present invention.
For example, the transaction initiating node i performs a double-ring signature of the holding position to sign the first public key set L and the second public key set L ', and obtains a double-ring signature result σ ═ Rsign (L, L', R)1,R2,R3,S1,…,Sm,LAddCt, mu), R is a random number corresponding to the transaction fund held by the transaction initiator, R1Is a first parameter, R2Is a second parameter, R3For sharing key parameters, S1,…,SmIntermediate parameters for m supervisors, LAddAnd the address list is ct, the random number ciphertext is ct, and the related information of other transactions is μ. Wherein, in the process of signing the first public key set L, the first public key set L can be used
Figure BDA0002685290290000143
As the generator for signing, in the process of signing the second public key set L', the use of
Figure BDA0002685290290000144
The signature is generated as a generator.
S206, generating and issuing a transaction bill to a blockchain, wherein the transaction bill comprises a temporary public key of transaction funds held by the transaction initiator, the first parameter, the second parameter, the shared key parameter, intermediate parameters of each supervisor, the address list, the random number ciphertext, the double-ring signature result and other transaction related information.
Specifically, the transaction initiation node may generate a transaction bill according to the temporary public key of the transaction fund held by the transaction initiator, the first parameter, the second parameter, the shared key parameter, the intermediate parameters of each supervisor, the address list, the random number ciphertext, the double-ring signature result, and the other transaction-related information, and then issue the transaction bill onto a blockchain. The verification node acquires the transaction bill issued by the transaction initiating node, then verifies the transaction bill, and after the transaction bill passes the verification, the transaction bill is linked up and can be acquired by the transaction receiving node.
According to the efficient transaction processing method based on the block chain, provided by the embodiment of the invention, an address list is constructed according to the address of a transaction receiver and n-1 other addresses; obtaining a temporary public key of the transaction fund held by the transaction initiator according to the random number corresponding to the transaction fund held by the transaction initiator and the consumption public key of the transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the inquiry public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the trap door public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor; obtaining a first public key set according to a temporary public key of transaction funds held by a transaction initiator, a consumption public key of each address in an address list, a second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to an inquiry public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; encrypting a random number corresponding to a transaction fund held by a transaction initiator through a shared key of the transaction initiator and a shared key of a transaction receiver to obtain a random number ciphertext; performing position-keeping double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the transaction bill is generated and issued to the blockchain, and the transaction search calculation amount of the transaction receiver can be reduced while the transaction safety is ensured through the temporary public key of the transaction fund held by the transaction initiator, so that the transaction efficiency is improved. In addition, recipient account identity privacy and multi-monitoring auditing can be achieved through the dual-ring signature.
On the basis of the foregoing embodiments, further, the double-ring signature for holding the first set of public keys and the second set of public keys includes:
taking a third parameter as a generator to sign the first public key set, and taking a fourth parameter as a generator to sign the second public key set; wherein the third parameter is obtained according to a common generator, the trapdoor common parameter, the first random number, the set of random numbers, and intermediate parameters of each supervisor; the fourth parameter is obtained according to the first parameter, the second parameter, the first random number, the set of random numbers, and intermediate parameters of each supervisor.
Specifically, the transaction initiation node may obtain a third parameter according to a common generator, the trapdoor common parameter, the first random number, the random number set, and intermediate parameters of each supervisor, and obtain a fourth parameter according to the first parameter, the second parameter, the first random number, the random number set, and intermediate parameters of each supervisor. And when double-ring signature is carried out, signing the first public key set by taking the third parameter as a generator, and signing the second public key set by taking the fourth parameter as a generator.
For example, the transaction initiating node I is based on the formula
Figure BDA0002685290290000161
Calculating to obtain a generator p of a first public key set L1G is a common generator, h is a trap door common parameter, hjIs the supervision public key of the jth supervisor, em+1Is a first random number, ejJ is 1, …, m, which is the jth random number in the random number set.
For example, the transaction initiating node I is based on the formula
Figure BDA0002685290290000162
Calculating to obtain a generator p of a second public key set L2,R1Is a first parameter, R2Is a second parameter, em+1Is a first random number, SjIntermediate parameter for jth supervisor,ejJ is 1, …, m, which is the jth random number in the random number set.
On the basis of the foregoing embodiments, further, the obtaining a first public key set according to the temporary public key of the transaction fund held by the transaction initiator, the consumption public key of each address in the address list, the second parameter, the intermediate parameter of each supervisor, a random number set, and a first random number includes:
according to the formula
Figure BDA0002685290290000163
Calculating the ith first public key PK of the first public key setiWherein, PKnewTemporary public key representing transaction funds held by the transaction initiator, BiA consumption public key, R, representing the ith address in the address list2Represents said second parameter, em+1Representing said first random number, ejRepresents the jth random number, S, in the set of random numbersjRepresenting the intermediate parameter of the jth supervisor.
Specifically, the transaction initiation node acquires a temporary public key PK of transaction funds held by the transaction initiatornewConsumption public key B of ith address in the address listiSaid second parameter R2The first random number em+1The set of random numbers, and intermediate parameters of the respective supervisors, then according to a formula
Figure BDA0002685290290000164
Figure BDA0002685290290000165
Calculating the ith first public key PK of the first public key setiN first public keys may be computed, forming a first public key set L,
Figure BDA0002685290290000166
Figure BDA0002685290290000167
on the basis of the foregoing embodiments, further, the obtaining a second public key set according to the query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set, and the first random number includes:
according to the formula
Figure BDA0002685290290000168
Calculating to obtain ith second public key PK 'of the second public key set'iWherein, PKnewTemporary public key representing transaction funds held by the transaction initiator, AiA query public key representing the ith address in the address list, h represents the trapdoor public parameter, em+1Representing said first random number, ejRepresents the jth random number, S, in the set of random numbersjRepresenting the intermediate parameter of the jth supervisor.
Specifically, the transaction initiation node acquires a temporary public key PK of transaction funds held by the transaction initiatornewQuery public key A of ith address in the address listiThe trapdoor common parameter h, the first random number em+1The set of random numbers and intermediate parameters of the respective supervisor, then according to a formula
Figure BDA0002685290290000171
Calculating to obtain ith second public key PK 'of second public key set'iN second public keys can be obtained through calculation to form a second public key set L',
Figure BDA0002685290290000172
on the basis of the foregoing embodiments, further, the formula for obtaining the random number set and the first random number is as follows:
ek=H(LAdd,PKnew,R1,R2,S1,…,Sm,k)
wherein L isAddIndicating said address list, PKnewTemporary public key, R, representing transaction funds held by the transaction initiator1Denotes a first parameter, R2Represents the second parameter, S1,…,SmIntermediate parameters representing m supervisors, em+1Representing said first random number, e1,…,emAnd (c) forming the random number set, wherein m represents the number of the supervisors, H () represents a hash function, and k is 1, …, and m + 1.
In particular, the transaction initiating node may be in accordance with formula ek=H(LAdd,PKnew,R1,R2,S1,…,SmK) generating each random number e of the set of random numbers1,…,emAnd a first random number em+1,LAddIndicating said address list, PKnewTemporary public key, R, representing transaction funds held by the transaction initiator1Denotes a first parameter, R2Represents the second parameter, S1,…,SmAn intermediate parameter representing m supervisors, m representing the number of said supervisors, H () representing a hash function, k being 1, …, m + 1.
Fig. 3 is a schematic flow chart of a method for processing efficient transactions based on a blockchain according to a third embodiment of the present invention, and as shown in fig. 3, the method for processing efficient transactions based on a blockchain according to the present invention includes:
s301, acquiring a linked transaction bill from a block chain, wherein the transaction bill comprises an address list, a first parameter, a shared key parameter, a temporary public key of transaction funds held by a transaction initiator and a random number ciphertext;
specifically, the transaction receiving node may obtain the transaction bill that has been linked from the blockchain, where the transaction bill may include the temporary public key of the transaction funds held by the transaction initiator, the first parameter, the second parameter, the shared key parameter, the intermediate parameters of each supervisor, the address list, the random number ciphertext, the double ring signature result, and other transaction related information.
S302, if judging that the local address exists in the address list, obtaining a public key to be matched according to the first parameter, the local query private key and the local consumption public key;
specifically, after obtaining the transaction bill, the transaction receiving node compares a local address with each address in the address list, and if one address in the address list is the same as the local address, the local address exists in the address list, and the transaction receiving node is a potential payee and needs to further verify whether the transaction bill is a transaction bill transferred to a local account. And the transaction receiving node obtains a public key to be matched according to the first parameter, the local consumption public key and the local inquiry private key.
For example, the transaction receiving node II traverses the address list LAdd={Add1,…,AddnInquiring whether the local address Add exists or notγ=(Aγ,Bγ) The same address if the address list LAddIn which there is an address Add8And local address Addγ=(Aγ,Bγ) If the first parameter R is the same as the first parameter R, the transaction receiving node II obtains the first parameter R from the transaction bill1And obtaining a local query private key aγAnd local consumption public key BγThen calculate
Figure BDA0002685290290000181
Is the public key to be matched.
S303, if the public key to be matched is judged to be equal to the temporary public key of the transaction fund held by the transaction initiator, decrypting the random number ciphertext through the shared secret keys of the transaction initiator and the transaction receiver to obtain a random number corresponding to the transaction fund held by the transaction initiator;
specifically, after obtaining the public key to be matched, the transaction receiving node compares the public key to be matched with the temporary public key of the transaction fund held by the transaction initiator, and if the public key to be matched is equal to the temporary public key of the transaction fund held by the transaction initiator, the transaction bill is the transaction bill transferred to local. And the transaction receiving node decrypts the random number ciphertext through the shared key of the transaction initiator and the transaction receiver to obtain the random number corresponding to the transaction fund held by the transaction initiator.
For example, the transaction receiving node II calculates
Figure BDA0002685290290000182
According to
Figure BDA0002685290290000183
Figure BDA0002685290290000184
PKnew=gr·BγCan deduce
Figure BDA0002685290290000185
Thereby ensuring that the recipient of the transaction bill can correctly receive the money.
For example, the transaction receiving node II may calculate
Figure BDA0002685290290000186
Due to the value of R3=gw
Figure BDA0002685290290000187
Then
Figure BDA0002685290290000188
Figure BDA0002685290290000189
Thus, the transaction receiving node II can obtain the shared secret key alpha of the transaction initiator and the transaction receiving node, and then decrypt the random number ciphertext ct by using the shared secret key alpha, and then Deck(ct)=Deck(r) capable of obtaining a random number r corresponding to a transaction fund held by the transaction initiator.
S304, obtaining a temporary private key according to the random number corresponding to the transaction fund held by the transaction initiator and the local consumption private key;
specifically, after obtaining the random number corresponding to the transaction fund held by the transaction initiator, the transaction receiving node obtains the temporary private key according to the random number corresponding to the transaction fund held by the transaction initiator and the local consumption private key.
For example, the transaction receiving node II is based on formula SKnew=r+bγComputing the temporal private key SKnewR is a random number corresponding to the transaction fund held by the transaction initiator, bγThe private key is consumed locally.
S305, if the temporary private key is judged to be matched with the temporary public key of the transaction fund held by the transaction initiator, performing collection operation.
Specifically, after obtaining the temporary private key, the transaction receiving node checks whether the temporary private key matches the temporary public key of the transaction fund held by the transaction initiator, and if the temporary private key matches the temporary public key of the transaction fund held by the transaction initiator, a money receiving operation can be performed. If the temporary private key does not match the temporary public key of the transaction funds held by the transaction initiator, then a cash-up operation cannot be performed.
For example, the transaction receiving node II calculates
Figure BDA0002685290290000191
Therefore, the temporary private key can be judged to be matched with the temporary public key of the transaction fund held by the transaction initiator, and the collection operation can be carried out.
The efficient transaction processing method based on the block chain can search related transaction bills based on the address list in the transaction bills, reduce the calculation amount of transaction bill search and improve the processing efficiency of the transaction bills.
On the basis of the foregoing embodiments, further, the efficient transaction processing method based on the blockchain according to the embodiment of the present invention further includes:
and if the local address does not exist in the address list, ignoring the transaction bill corresponding to the address list.
Specifically, the transaction receiving node compares a local address with each address in the address list, if the address list does not have an address identical to the local address, then the address list does not have a local address, which indicates that the transaction bill does not transfer locally in the transaction bill, and the transaction receiving node can ignore the transaction bill corresponding to the address list and does not need to process the transaction bill.
Fig. 4 is a schematic flow chart of a method for processing efficient transactions based on a blockchain according to a fourth embodiment of the present invention, and as shown in fig. 4, the method for processing efficient transactions based on a blockchain according to the embodiment of the present invention includes:
s401, obtaining a issued transaction bill from a block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, a first parameter, a second parameter, intermediate parameters of each supervisor, an address list and a double-ring signature result;
specifically, after the transaction initiation node issues the transaction bill onto the blockchain, the verification node may obtain the transaction bill from the blockchain, where the transaction bill may include a temporary public key of transaction funds held by the transaction initiation node, a first parameter, a second parameter, a shared key parameter, intermediate parameters of each supervisor, an address list, a random number ciphertext, a double-ring signature result, and other transaction related information.
S402, obtaining a first public key set according to a temporary public key of a transaction fund held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
specifically, the verification node obtains a random number set and a first random number, obtains a temporary public key of the transaction fund held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, and an intermediate parameter of each supervisor from the transaction bill, and then obtains a first public key set according to the temporary public key of the transaction fund held by the transaction initiator, the consumption public key of each address in the address list, the second parameter, the intermediate parameter of each supervisor, the random number set, and the first random number. The verification node acquires the inquiry public key of each address in the address list and the supervision public key of each supervisor from the transaction bill, and then acquires a second public key set according to the inquiry public key, the trapdoor public parameter, the supervision public key of each supervisor, the random number set and the first random number of each address in the address list.
For example, verification node III is based on the formula
Figure BDA0002685290290000201
Calculating to obtain the ith first public key L of the first public key set Li,PKnewTemporary public key of transaction funds held by the transaction initiator, BiIs an address list LAddThe ith address Add ofiOf consumption public key, R2Is a second parameter, em+1Is a first random number, SjAs an intermediate parameter for the jth supervisor, ejIs j-th random number in the random number set, i is 1, …, n, j is 1, …, m. The verification node III can obtain n first public keys by calculation.
For example, verification node III is based on the formula
Figure BDA0002685290290000202
Calculating to obtain ith second public key L 'of second public key set L'i,AiIs an address list LAddThe ith address Add ofiH is a trap door public parameter, e,+1Is a first random number, hjIs the supervision public key of the jth supervisor, ejIs j-th random number in the random number set, i is 1, …, n, j is 1, …, m. And the verification node III can obtain n second public keys by calculation.
S403, verifying the double-ring signature result based on the first public key set and the second public key set.
Specifically, after obtaining the first public key set and the second public key set, the verification node may verify the double-ring signature result based on the first public key set and the second public key set. Wherein, in the process of signature verification of the first public key set L, the first public key set L can be used
Figure BDA0002685290290000203
As the generator for signature verification, the signature verification of the second public key set L' may use
Figure BDA0002685290290000211
And performing signature verification as a generator.
On the basis of the foregoing embodiments, further, the verifying the double-ring signature result based on the first set of public keys and the second set of public keys includes:
taking a third parameter as a generator to perform signature verification on the first public key set, and taking a fourth parameter as a generator to perform signature verification on the second public key set; wherein the third parameter is obtained according to a common generator, the trapdoor common parameter, the first random number, the set of random numbers, and intermediate parameters of each supervisor; the fourth parameter is obtained according to the first parameter, the second parameter, the first random number, the set of random numbers, and intermediate parameters of each supervisor.
Specifically, the verification node may obtain a third parameter according to a common generator, the trapdoor common parameter, the first random number, the random number set, and intermediate parameters of each supervisor, and obtain a fourth parameter according to the first parameter, the second parameter, the first random number, the random number set, and intermediate parameters of each supervisor. And when double-ring signature verification is carried out, signature verification is carried out on the first public key set by taking the third parameter as a generator, and signature verification is carried out on the second public key set by taking the fourth parameter as a generator.
For example, verification node III may be rootAccording to the formula
Figure BDA0002685290290000212
Calculating to obtain a generator p of a first public key set L1G is a common generator, h is a trap door common parameter, hjIs the supervision public key of the jth supervisor, em+1Is a first random number, ejJ is 1, …, m, which is the jth random number in the random number set.
For example, verification node III may be according to the formula
Figure BDA0002685290290000213
Calculating to obtain a generator p of a second public key set L2,R1Is a first parameter, R2Is a second parameter, em+1Is a first random number, SjAs an intermediate parameter for the jth supervisor, ejJ is 1, …, m, which is the jth random number in the random number set.
On the basis of the foregoing embodiments, further, the formula for obtaining the random number set and the first random number is as follows:
ek=H(LAdd,PKnew,R1,R2,S1,…,Sm,k)
wherein L isAddIndicating said address list, PKnewTemporary public key, R, representing transaction funds held by the transaction initiator1Denotes a first parameter, R2Represents the second parameter, S1,…,SmIntermediate parameters representing m supervisors, em+1Representing said first random number, e1,…,emAnd (c) forming the random number set, wherein m represents the number of the supervisors, H () represents a hash function, and k is 1, …, and m + 1.
In particular, the verification node may be according to formula ek=H(LAdd,PKnew,R1,R2,S1,…,SmK) obtaining each random number e in the set of random numbers1,…,emAnd a first random number em+1,LAddIndicating said address list, PKnewTemporary public key, R, representing transaction funds held by the transaction initiator1Denotes a first parameter, R2Represents the second parameter, S1,…,SmAn intermediate parameter representing m supervisors, m representing the number of said supervisors, H () representing a hash function, k being 1, …, m + 1.
Fig. 5 is a schematic flow chart of a transaction tracking method based on a blockchain according to a fifth embodiment of the present invention, and as shown in fig. 5, the transaction tracking method based on a blockchain according to the present invention includes:
s501, acquiring a linked transaction bill from a block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, and intermediate parameters and an address list of each supervisor;
specifically, after the chain is linked to the transaction bill, the monitoring node may obtain the transaction bill from the block chain, where the transaction bill may include the temporary public key of the transaction funds held by the transaction initiator, the first parameter, the second parameter, the shared key parameter, the intermediate parameters of each monitor, the address list, the random number ciphertext, the double ring signature result, and the other transaction related information.
S502, obtaining a temporary address according to the temporary public key of the transaction fund held by the transaction initiator, the intermediate parameter of the local supervisor and the local supervision private key;
specifically, the monitoring node may obtain the temporary public key of the transaction fund held by the transaction initiator and the intermediate parameters of each monitor from the transaction bill, then obtain the intermediate parameters of the local monitor from the intermediate parameters of each monitor, and then obtain the temporary address according to the temporary public key of the transaction fund held by the transaction initiator, the intermediate parameters of the local monitor and the local monitoring private key.
For example, the supervision node IV is based on the formula
Figure BDA0002685290290000221
Calculating to obtain a temporary address B*,PKnewImminence of transaction funds held by transaction initiatorTime public key, SγAs an intermediate parameter of the local supervisor, yγFor local supervision of private keys, since PKnew=gr·Bγ
Figure BDA0002685290290000222
Figure BDA0002685290290000223
Brought into temporary address B*The formula for the calculation of (a) is,
Figure BDA0002685290290000224
Figure BDA0002685290290000225
s503, if the address matched with the temporary address exists in the address list, outputting the address matched with the temporary address.
Specifically, after obtaining the temporary address, the supervisory node compares the temporary address with the consumption public key of each address in the address list, and if the temporary address matches with the consumption public key of one address in the address list, it indicates that an address matching the temporary address exists in the address list, and the address of the transaction receiver of the transaction bill is tracked, and the supervisory node may output an address matching the temporary address, that is, the address of the transaction receiver of the transaction bill is output.
Each supervisor can track the address of the transaction receiver through steps S501, S502, and S503, so that the transaction initiator only needs to initiate a transaction once, and each supervisor can independently track and audit the position of the address of the transaction receiver in the address list. When the number of the supervisors is multiple, the supervisors do not need to communicate with each other or calculate together, and therefore supervision efficiency is improved.
Compared with a menuo currency system, the efficient transaction processing method and the efficient transaction tracking method based on the block chain provided by the embodiment of the invention have the advantages that the accuracy and the verifiability of the temporary public key can be ensured by the temporary public key generation algorithm of the temporary public key of the transaction fund held by the transaction initiator according to the technical scheme of the embodiment of the invention; compared with the supervision scheme in the prior art, the technical scheme of the embodiment of the invention can support multi-party supervision audit, and multiple supervisors which are not trusted with each other can track the address of the transaction receiver without extra communication and calculation.
The correctness of the technical scheme provided by the embodiment of the invention comes from
Figure BDA0002685290290000231
Figure BDA0002685290290000232
The correct collection of money by the transaction receiver of the transaction bill can be ensured. The security of the technical scheme is derived from computing the SK of the private keynewR + b, a consumption private key using the address of the transaction recipient is required, other addresses cannot compute SKnew. The privacy of the technical scheme is derived from the anonymity of the double-ring signature, namely, any other node cannot know the address Add of the real transaction receiverγAt LAdd={Add1,…,AddnSpecific position in.
The binding property of the technical scheme is derived from double-ring signature binding property of a holding position, and the position of a first public key corresponding to the temporary public key of the transaction fund held by the transaction initiator in a first public key set is required to be the same as the position of a second public key corresponding to the temporary public key of the transaction fund held by the transaction initiator in a second public key set, namely, Add is assumedγ∈LAddIn the gamma position, then AddγCorresponding first public key Lγe.L in the gamma-th position of the first public key set L, AddγCorresponding second public key L'γE L 'is in the gamma-th position of the second set of public keys L', so a double ring signature can be completed using the third and fourth parameters, respectively. Binding is required because the generation of a new UTXO public key must be done simultaneously with Addγ=(Aγ,Bγ) A in (A)γAnd Bγ. If AddγLocation and transaction issuance of corresponding first public key in first public key setThe second public keys corresponding to the temporary public keys of the transaction funds held by the initiator are different in position in the second public key set, so that any receiver cannot identify own transaction according to a preset method and cannot normally collect money, and the bill risk with a wrong format is caused.
The format correctness of the technical scheme is derived from a plurality of random numbers ekUnder the cryptographic guarantee, the transaction initiator must follow
Figure BDA0002685290290000233
The format generation transaction can pass the verification, thus ensuring the format correctness of the technical scheme. The traceability of the technical scheme comes from
Figure BDA0002685290290000234
Therefore, the supervisor can calculate the address of the real transaction receiver, and the supervision of the address of the transaction receiver is realized.
Fig. 6 is a schematic structural diagram of a block chain-based efficient transaction processing apparatus according to a sixth embodiment of the present invention, and as shown in fig. 6, the block chain-based efficient transaction processing apparatus according to the embodiment of the present invention includes a building unit 601, a first obtaining unit 602, a second obtaining unit 603, an encrypting unit 604, a signing unit 605, and an issuing unit 606, where:
the construction unit 601 is used for constructing an address list according to the address of the transaction receiver and n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key; the first obtaining unit 602 is configured to obtain a temporary public key of the transaction fund held by the transaction initiator according to the random number corresponding to the transaction fund held by the transaction initiator and the consumption public key of the transaction receiver, obtain a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the inquiry public key of the transaction receiver, obtain a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the trap public parameter, and obtain an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor; the second obtaining unit 603 is configured to obtain a first public key set according to the temporary public key of the transaction fund held by the transaction initiator, the consumption public key of each address in the address list, the second parameter, the intermediate parameter of each supervisor, the random number set, and the first random number, and obtain a second public key set according to the query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set, and the first random number; wherein the set of random numbers and the first random number are obtained in advance; the encrypting unit 604 is configured to encrypt a random number corresponding to a transaction fund held by the transaction initiator through a shared key of the transaction initiator and a shared key of the transaction receiver, so as to obtain a random number ciphertext; the signature unit 605 is configured to perform double-ring signature on the first public key set and the second public key set at the holding positions to obtain a double-ring signature result; the double-ring signature result comprises the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, a shared key parameter, intermediate parameters of each supervisor, the address list, a random number ciphertext and other transaction related information; the issuing unit 606 is configured to generate and issue a transaction bill onto a blockchain, where the transaction bill includes the temporary public key of the transaction funds held by the transaction initiator, the first parameter, the second parameter, the intermediate parameters of the respective supervisors, the shared key parameter, the address list, the random number ciphertext, the double-ring signature result, and the other transaction-related information.
Specifically, the building unit 601 may obtain the address of the transaction receiver, and obtain n-1 other addresses from the blockchain, and build the address list according to the address of the transaction receiver and the n-1 other addresses. The other addresses are addresses irrelevant to the transaction, namely n-1 other addresses are not addresses of the receiver of the transaction, and the privacy protection effect on the address of the receiver of the transaction is achieved. Each address in the address list includes a query public key and a consumption public key.
The first obtaining unit 602 randomly generates a random number as a random number corresponding to the transaction fund held by the transaction initiator, and then obtains the temporary public key of the transaction fund held by the transaction initiator according to the random number corresponding to the transaction fund held by the transaction initiator and the consumption public key of the transaction receiver. The first obtaining unit 602 obtains a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the inquiry public key of the transaction receiver. The first obtaining unit 602 obtains a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the trapdoor common parameter. The first obtaining unit 602 obtains the intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor.
The second obtaining unit 603 obtains a random number set and a first random number, then obtains a first public key set from a temporary public key of a transaction fund held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set, and the first random number, and obtains a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, a supervision public key of each supervisor, the random number set, and the first random number. Wherein the set of random numbers and the first random number are obtained in advance.
The encryption unit 604 may obtain the shared key of the transaction initiator and the transaction receiver, and then encrypt the random number corresponding to the transaction fund held by the transaction initiator through the shared key of the transaction initiator and the transaction receiver to obtain a random number ciphertext.
The signature unit 605 performs double-ring signature on the first public key set and the second public key set at the holding positions, so as to obtain a double-ring signature result, where the double-ring signature result may include the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, the shared key parameter, an intermediate parameter of each supervisor, the address list, the random number ciphertext, and other transaction related information. The signature algorithm used by the dual-ring signature is set according to actual needs, and the embodiment of the invention is not limited. The other transaction related information includes, but is not limited to, a transaction fund commitment set, a traceable interval certification, a traceable linkable ring signature, a first public key set, a second public key set, and the like, and is set according to actual needs, which is not limited in the embodiment of the present invention.
The issuing unit 606 may generate a transaction bill according to the temporary public key of the transaction fund held by the transaction initiator, the first parameter, the second parameter, the shared key parameter, the intermediate parameters of each supervisor, the address list, the random number cipher text, the double-ring signature result, and the other transaction-related information, and then issue the transaction bill onto a blockchain. The verification node acquires the transaction bill issued by the transaction initiating node, then verifies the transaction bill, and after the transaction bill passes the verification, the transaction bill is linked up and can be acquired by the transaction receiving node.
According to the efficient transaction processing device based on the block chain, provided by the embodiment of the invention, an address list is constructed according to the address of a transaction receiver and n-1 other addresses; obtaining a temporary public key of the transaction fund held by the transaction initiator according to the random number corresponding to the transaction fund held by the transaction initiator and the consumption public key of the transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the inquiry public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the trap door public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor; obtaining a first public key set according to a temporary public key of transaction funds held by a transaction initiator, a consumption public key of each address in an address list, a second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to an inquiry public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; encrypting a random number corresponding to a transaction fund held by a transaction initiator through a shared key of the transaction initiator and a shared key of a transaction receiver to obtain a random number ciphertext; performing position-keeping double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the transaction bill is generated and issued to the blockchain, and the transaction search calculation amount of the transaction receiver can be reduced while the transaction safety is ensured through the temporary public key of the transaction fund held by the transaction initiator, so that the transaction efficiency is improved. In addition, recipient account identity privacy and multi-monitoring auditing can be achieved through the dual-ring signature.
Fig. 7 is a schematic structural diagram of a block chain-based efficient transaction processing apparatus according to a seventh embodiment of the present invention, and as shown in fig. 7, the block chain-based efficient transaction processing apparatus according to the embodiment of the present invention includes a first obtaining unit 701, a first determining unit 702, a decrypting unit 703, a third obtaining unit 704, and a second determining unit 705, where:
the first obtaining unit 701 is configured to obtain a transaction bill that has been linked from a blockchain, where the transaction bill includes an address list, a first parameter, a temporary public key of a transaction fund held by a transaction initiator, and a random number ciphertext; the first judging unit 702 is configured to, after judging that a local address exists in the address list, obtain a public key to be matched according to the first parameter, the local query private key, and the local consumption public key; the decryption unit 703 is configured to decrypt the random number ciphertext through the shared key of the transaction initiator and the transaction receiver after it is determined that the to-be-matched public key is equal to the temporary public key of the transaction fund held by the transaction initiator, so as to obtain a random number corresponding to the transaction fund held by the transaction initiator; the third obtaining unit 704 is configured to obtain a temporary private key according to the random number corresponding to the transaction fund held by the transaction initiator and the local consumption private key; the second determining unit 705 is configured to perform a money receiving operation after determining that the temporary private key matches the temporary public key of the transaction fund held by the transaction initiator.
Specifically, the first obtaining unit 701 may obtain the transaction bill that is linked up from the blockchain, where the transaction bill may include a temporary public key of the transaction funds held by the transaction initiator, a first parameter, a second parameter, a shared key parameter, an intermediate parameter of each supervisor, an address list, a random number ciphertext, a double ring signature result, and other transaction related information.
After obtaining the transaction bill, the first determining unit 702 compares the local address with each address in the address list, and if there is an address in the address list that is the same as the local address, then there is a local address in the address list, which needs to further verify whether the transaction bill is a transaction bill for local transfer. And the transaction receiving node obtains a public key to be matched according to the first parameter, the local consumption public key and the local inquiry private key.
After obtaining the public key to be matched, the decryption unit 703 compares the public key to be matched with the temporary public key of the transaction fund held by the transaction initiator, and if the public key to be matched is equal to the temporary public key of the transaction fund held by the transaction initiator, it indicates that the transaction bill is a transaction bill transferred to local. The decryption unit 703 decrypts the random number cipher text by using the shared key of the transaction initiator and the transaction receiver, so as to obtain a random number corresponding to the transaction fund held by the transaction initiator.
After obtaining the random number corresponding to the transaction fund held by the transaction initiator, the third obtaining unit 704 obtains the temporary private key according to the random number corresponding to the transaction fund held by the transaction initiator and the local consumption private key.
After obtaining the temporary private key, the second determination unit 705 checks whether the temporary private key matches the temporary public key of the transaction fund held by the transaction initiator, and if the temporary private key matches the temporary public key of the transaction fund held by the transaction initiator, a money receiving operation may be performed. If the temporary private key does not match the temporary public key of the transaction funds held by the transaction initiator, then a cash-up operation cannot be performed.
The efficient transaction processing device based on the block chain can search related transaction bills based on the address list in the transaction bills, reduce the calculation amount of transaction bill search and improve the processing efficiency of the transaction bills.
Fig. 8 is a schematic structural diagram of a block chain-based efficient transaction processing apparatus according to an eighth embodiment of the present invention, and as shown in fig. 8, the block chain-based efficient transaction processing apparatus according to the embodiment of the present invention includes a second obtaining unit 801, a fourth obtaining unit 802, and a verification unit 803, where:
the second obtaining unit 801 is configured to obtain a released transaction bill from the blockchain, where the transaction bill includes a temporary public key of a transaction fund held by a transaction initiator, a first parameter, a second parameter, an intermediate parameter of each supervisor, an address list, and a double-ring signature result; the fourth obtaining unit 802 is configured to obtain a first public key set according to the temporary public key of the transaction fund held by the transaction initiator, the consumption public key of each address in the address list, the second parameter, the intermediate parameter of each administrator, the random number set, and the first random number, and obtain a second public key set according to the query public key of each address in the address list, the trapdoor public parameter, the administration public key of each administrator, the random number set, and the first random number; wherein the set of random numbers and the first random number are obtained in advance; the verifying unit 803 is configured to verify the double-ring signature result based on the first public key set and the second public key set.
Specifically, after the transaction initiation node issues the transaction bill onto the blockchain, the second obtaining unit 801 may obtain the transaction bill from the blockchain, where the transaction bill may include a temporary public key of the transaction fund held by the transaction initiation node, a first parameter, a second parameter, a shared key parameter, intermediate parameters of each supervisor, an address list, a random number ciphertext, a double-ring signature result, and other transaction related information.
The fourth obtaining unit 802 obtains the random number set and the first random number, and obtains the temporary public key of the transaction fund held by the transaction initiator, the consumption public key of each address in the address list, the second parameter, and the intermediate parameter of each supervisor from the transaction bill, and then obtains the first public key set according to the temporary public key of the transaction fund held by the transaction initiator, the consumption public key of each address in the address list, the second parameter, the intermediate parameter of each supervisor, the random number set, and the first random number. The fourth obtaining unit 802 obtains the query public key of each address in the address list and the supervision public key of each supervisor from the transaction bill, and then obtains a second public key set according to the query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set, and the first random number.
After obtaining the first set of public keys and the second set of public keys, the verification unit 803 may verify the double-ring signature result based on the first set of public keys and the second set of public keys. Wherein, in the process of signature verification of the first public key set L, the first public key set L can be used
Figure BDA0002685290290000281
As the generator for signature verification, the signature verification of the second public key set L' may use
Figure BDA0002685290290000282
And performing signature verification as a generator.
Fig. 9 is a schematic structural diagram of a transaction tracking device based on a blockchain according to a ninth embodiment of the present invention, and as shown in fig. 9, the transaction tracking device based on a blockchain according to an embodiment of the present invention includes a third obtaining unit 901, a fifth obtaining unit 902, and an output unit 903, where:
the third obtaining unit 901 is configured to obtain a transaction bill that has been linked from the blockchain, where the transaction bill includes the temporary public key of the transaction funds held by the transaction initiator, the intermediate parameters of each supervisor, and the address list; the fifth obtaining unit 902 is configured to obtain a temporary address according to the temporary public key of the transaction fund held by the transaction initiator, the intermediate parameter of the local administrator, and the local administration private key; the output unit 903 is configured to output an address matching the temporary address after judging that an address matching the temporary address exists in the address list.
Specifically, after the chain is linked to the transaction bill, the third obtaining unit 901 may obtain the transaction bill from the block chain, where the transaction bill may include the temporary public key of the transaction funds held by the transaction initiator, the first parameter, the second parameter, the shared key parameter, the intermediate parameters of each supervisor, the address list, the random number ciphertext, the double-ring signature result, and the other transaction related information.
The fifth obtaining unit 902 may obtain the temporary public key of the transaction fund held by the transaction initiator and the intermediate parameters of each supervisor from the transaction bill, then obtain the intermediate parameters of the local supervisor from the intermediate parameters of each supervisor, and then obtain the temporary address according to the temporary public key of the transaction fund held by the transaction initiator, the intermediate parameters of the local supervisor, and the local supervision private key.
After obtaining the temporary address, the output unit 903 compares the temporary address with the consumption public key of each address in the address list, if the temporary address matches with the consumption public key of one address in the address list, it indicates that there is an address matching with the temporary address in the address list, and the address of the transaction receiver of the transaction bill is tracked, and the supervisory node may output the address matching with the temporary address, that is, the address of the transaction receiver of the transaction bill is output.
The transaction tracking device based on the block chain provided by the embodiment of the invention realizes the tracking of the address of the transaction receiver, the transaction initiator only needs to initiate one transaction, and each supervisor can independently track and audit the position of the address of the transaction receiver in the address list. When the number of the supervisors is multiple, the supervisors do not need to communicate with each other or calculate together, and therefore supervision efficiency is improved.
The embodiment of the apparatus provided in the embodiment of the present invention may be specifically configured to execute the processing flows of the above method embodiments, and the functions of the apparatus are not described herein again, and refer to the detailed description of the above method embodiments.
Fig. 10 is a schematic physical structure diagram of an electronic device according to a tenth embodiment of the present invention, and as shown in fig. 10, the electronic device may include: a first Processor (Processor)1001, a first communication Interface (communication Interface)1002, a first Memory (Memory)1003 and a first communication bus 1004, wherein the first Processor 1001, the first communication Interface 1002 and the first Memory 1003 complete communication with each other through the first communication bus 1004. The first processor 1001 may call logic instructions in the first memory 1003 to perform methods, including, for example: constructing an address list according to the address of the transaction receiver and the n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key; obtaining a temporary public key of the transaction fund held by a transaction initiator according to a random number corresponding to the transaction fund held by the transaction initiator and a consumption public key of a transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a query public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a trap public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor; obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance; encrypting a random number corresponding to a transaction fund held by the transaction initiator through a shared key of the transaction initiator and a shared key of the transaction receiver to obtain a random number ciphertext; performing double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the double-ring signature result comprises the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, a shared key parameter, intermediate parameters of each supervisor, the address list, a random number ciphertext and other transaction related information; generating and issuing a transaction bill onto a blockchain, the transaction bill including a temporary public key of transaction funds held by the transaction initiator, the first parameter, the second parameter, intermediate parameters of respective supervisors, the shared key parameter, the address list, the nonce cryptogram, the dual ring signature result, and the other transaction related information. Or
Acquiring a transaction bill which is linked from a blockchain, wherein the transaction bill comprises an address list, a first parameter, a temporary public key of transaction funds held by a transaction initiator and a random number ciphertext; if the local address exists in the address list, obtaining a public key to be matched according to the first parameter, the local query private key and the local consumption public key; if the public key to be matched is judged to be equal to the temporary public key of the transaction fund held by the transaction initiator, decrypting the random number ciphertext through the shared secret keys of the transaction initiator and the transaction receiver to obtain a random number corresponding to the transaction fund held by the transaction initiator; obtaining a temporary private key according to a random number corresponding to the transaction fund held by the transaction initiator and a local consumption private key; and if the temporary private key is judged to be matched with the temporary public key of the transaction fund held by the transaction initiator, performing collection operation. Or
Acquiring a issued transaction bill from a block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, a first parameter, a second parameter, intermediate parameters of each supervisor, an address list and a double-ring signature result; obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance; and verifying the double-ring signature result based on the first public key set and the second public key set.
The present embodiments disclose a computer program product comprising a computer program stored on a computer readable storage medium, the computer program comprising program instructions which, when executed by a computer, the computer is capable of performing a method comprising, for example: constructing an address list according to the address of the transaction receiver and the n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key; obtaining a temporary public key of the transaction fund held by a transaction initiator according to a random number corresponding to the transaction fund held by the transaction initiator and a consumption public key of a transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a query public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a trap public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor; obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance; encrypting a random number corresponding to a transaction fund held by the transaction initiator through a shared key of the transaction initiator and a shared key of the transaction receiver to obtain a random number ciphertext; performing double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the double-ring signature result comprises the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, a shared key parameter, intermediate parameters of each supervisor, the address list, a random number ciphertext and other transaction related information; generating and issuing a transaction bill onto a blockchain, the transaction bill including a temporary public key of transaction funds held by the transaction initiator, the first parameter, the second parameter, intermediate parameters of respective supervisors, the shared key parameter, the address list, the nonce cryptogram, the dual ring signature result, and the other transaction related information. Or
Acquiring a transaction bill which is linked from a blockchain, wherein the transaction bill comprises an address list, a first parameter, a temporary public key of transaction funds held by a transaction initiator and a random number ciphertext; if the local address exists in the address list, obtaining a public key to be matched according to the first parameter, the local query private key and the local consumption public key; if the public key to be matched is judged to be equal to the temporary public key of the transaction fund held by the transaction initiator, decrypting the random number ciphertext through the shared secret keys of the transaction initiator and the transaction receiver to obtain a random number corresponding to the transaction fund held by the transaction initiator; obtaining a temporary private key according to a random number corresponding to the transaction fund held by the transaction initiator and a local consumption private key; and if the temporary private key is judged to be matched with the temporary public key of the transaction fund held by the transaction initiator, performing collection operation. Or
Acquiring a issued transaction bill from a block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, a first parameter, a second parameter, intermediate parameters of each supervisor, an address list and a double-ring signature result; obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance; and verifying the double-ring signature result based on the first public key set and the second public key set.
The present embodiments provide a computer-readable storage medium storing first computer instructions that cause a computer to perform a method, for example, comprising: constructing an address list according to the address of the transaction receiver and the n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key; obtaining a temporary public key of the transaction fund held by a transaction initiator according to a random number corresponding to the transaction fund held by the transaction initiator and a consumption public key of a transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a query public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a trap public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor; obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance; encrypting a random number corresponding to a transaction fund held by the transaction initiator through a shared key of the transaction initiator and a shared key of the transaction receiver to obtain a random number ciphertext; performing double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the double-ring signature result comprises the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, a shared key parameter, intermediate parameters of each supervisor, the address list, a random number ciphertext and other transaction related information; generating and issuing a transaction bill onto a blockchain, the transaction bill including a temporary public key of transaction funds held by the transaction initiator, the first parameter, the second parameter, intermediate parameters of respective supervisors, the shared key parameter, the address list, the nonce cryptogram, the dual ring signature result, and the other transaction related information. Or
Acquiring a transaction bill which is linked from a blockchain, wherein the transaction bill comprises an address list, a first parameter, a temporary public key of transaction funds held by a transaction initiator and a random number ciphertext; if the local address exists in the address list, obtaining a public key to be matched according to the first parameter, the local query private key and the local consumption public key; if the public key to be matched is judged to be equal to the temporary public key of the transaction fund held by the transaction initiator, decrypting the random number ciphertext through the shared secret keys of the transaction initiator and the transaction receiver to obtain a random number corresponding to the transaction fund held by the transaction initiator; obtaining a temporary private key according to a random number corresponding to the transaction fund held by the transaction initiator and a local consumption private key; and if the temporary private key is judged to be matched with the temporary public key of the transaction fund held by the transaction initiator, performing collection operation. Or
Acquiring a issued transaction bill from a block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, a first parameter, a second parameter, intermediate parameters of each supervisor, an address list and a double-ring signature result; obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance; and verifying the double-ring signature result based on the first public key set and the second public key set.
Fig. 11 is a schematic physical structure diagram of an electronic device according to an eleventh embodiment of the present invention, and as shown in fig. 11, the electronic device may include: a second Processor (Processor)1101, a second communication Interface (Communications Interface)1102, a second Memory (Memory)1103 and a second communication bus 1104, wherein the second Processor 1101, the second communication Interface 1102 and the second Memory 1103 complete communication with each other through the second communication bus 1104. The second processor 1101 may call logic instructions in the second memory 1103 to perform a method, for example, comprising: acquiring a transaction bill which is linked up from a blockchain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, intermediate parameters and an address list of each supervisor; obtaining a temporary address according to a temporary public key of transaction funds held by the transaction initiator, intermediate parameters of a local supervisor and a local supervision private key; and if judging that the address list has the address matched with the temporary address, outputting the address matched with the temporary address.
The present embodiments disclose a computer program product comprising a computer program stored on a computer readable storage medium, the computer program comprising program instructions which, when executed by a computer, the computer is capable of performing a method comprising, for example: acquiring a transaction bill which is linked up from a blockchain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, intermediate parameters and an address list of each supervisor; obtaining a temporary address according to a temporary public key of transaction funds held by the transaction initiator, intermediate parameters of a local supervisor and a local supervision private key; and if judging that the address list has the address matched with the temporary address, outputting the address matched with the temporary address.
The present embodiments provide a computer readable storage medium storing second computer instructions that cause the computer to perform a method, for example, comprising: acquiring a transaction bill which is linked up from a blockchain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, intermediate parameters and an address list of each supervisor; obtaining a temporary address according to a temporary public key of transaction funds held by the transaction initiator, intermediate parameters of a local supervisor and a local supervision private key; and if judging that the address list has the address matched with the temporary address, outputting the address matched with the temporary address.
In addition, the logic instructions in the first memory 1003 and the second memory 1103 can be implemented in the form of software functional units and stored in a computer readable storage medium when the logic instructions are sold or used as independent products. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer (which may be a personal computer, an apparatus, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In the description herein, reference to the description of the terms "one embodiment," "a particular embodiment," "some embodiments," "for example," "an example," "a particular example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
The above-mentioned embodiments are intended to illustrate the objects, technical solutions and advantages of the present invention in further detail, and it should be understood that the above-mentioned embodiments are only exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (19)

1. An efficient transaction processing method based on a blockchain is characterized by comprising the following steps:
constructing an address list according to the address of the transaction receiver and the n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key;
obtaining a temporary public key of the transaction fund held by a transaction initiator according to a random number corresponding to the transaction fund held by the transaction initiator and a consumption public key of a transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a query public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and a trap public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor;
obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, the supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
encrypting a random number corresponding to a transaction fund held by the transaction initiator through a shared key of the transaction initiator and a shared key of the transaction receiver to obtain a random number ciphertext;
performing double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the double-ring signature result comprises the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, a shared key parameter, intermediate parameters of each supervisor, the address list, a random number ciphertext and other transaction related information;
generating and issuing a transaction bill onto a blockchain, the transaction bill including a temporary public key of transaction funds held by the transaction initiator, the first parameter, the second parameter, intermediate parameters of respective supervisors, the shared key parameter, the address list, the nonce cryptogram, the dual ring signature result, and the other transaction related information.
2. The method of claim 1, wherein the dual-ring signature that holds the first set of public keys and the second set of public keys comprises:
taking a third parameter as a generator to sign the first public key set, and taking a fourth parameter as a generator to sign the second public key set; wherein the third parameter is obtained according to a common generator, the trapdoor common parameter, the first random number, the set of random numbers, and intermediate parameters of each supervisor; the fourth parameter is obtained according to the first parameter, the second parameter, the first random number, the set of random numbers, and intermediate parameters of each supervisor.
3. The method of claim 1, wherein obtaining a first set of public keys based on the temporary public key of the transaction funds held by the transaction initiator, the consumption public key of each address in the address list, the second parameter, the intermediate parameter of each supervisor, a set of random numbers, and a first random number comprises:
according to the formula
Figure FDA0002685290280000021
Calculating the ith first public key PK of the first public key setiWherein, PKnewTemporary public key representing transaction funds held by the transaction initiator, BiA consumption public key representing an ith address in the address list,R2represents said second parameter, em+1Representing said first random number, ejRepresents the jth random number, S, in the set of random numbersjRepresenting the intermediate parameter of the jth supervisor.
4. The method of claim 1, wherein obtaining a second set of public keys according to the query public key, the trapdoor public parameter, the supervision public key of each supervisor, the set of random numbers, and the first random number of each address in the list of addresses comprises:
according to the formula
Figure FDA0002685290280000022
Calculating to obtain ith second public key PK 'of the second public key set'iWherein, PKnewTemporary public key representing transaction funds held by the transaction initiator, AiA query public key representing the ith address in the address list, h represents the trapdoor public parameter, em+1Representing said first random number, ejRepresents the jth random number, S, in the set of random numbersjRepresenting the intermediate parameter of the jth supervisor.
5. The method according to any of claims 1 to 4, wherein the formula for obtaining the set of random numbers and the first random number is as follows:
ek=H(LAdd,PKnew,R1,R2,S1,…,Sm,k)
wherein L isAddIndicating said address list, PKnewTemporary public key, R, representing transaction funds held by the transaction initiator1Denotes a first parameter, R2Represents the second parameter, S1,…,SmIntermediate parameters representing m supervisors, em+1Representing said first random number, e1,…,emForming the random number set, m represents the number of the supervisors, H () represents a hash function, k is 1, …, m +1。
6. An efficient transaction processing method based on a blockchain is characterized by comprising the following steps:
acquiring a transaction bill which is linked from a blockchain, wherein the transaction bill comprises an address list, a first parameter, a temporary public key of transaction funds held by a transaction initiator and a random number ciphertext;
if the local address exists in the address list, obtaining a public key to be matched according to the first parameter, the local query private key and the local consumption public key;
if the public key to be matched is judged to be equal to the temporary public key of the transaction fund held by the transaction initiator, decrypting the random number ciphertext through the shared secret keys of the transaction initiator and the transaction receiver to obtain a random number corresponding to the transaction fund held by the transaction initiator;
obtaining a temporary private key according to a random number corresponding to the transaction fund held by the transaction initiator and a local consumption private key;
and if the temporary private key is judged to be matched with the temporary public key of the transaction fund held by the transaction initiator, performing collection operation.
7. The method of claim 6, further comprising:
and if the local address does not exist in the address list, ignoring the transaction bill corresponding to the address list.
8. An efficient transaction processing method based on a blockchain is characterized by comprising the following steps:
acquiring a issued transaction bill from a block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, a first parameter, a second parameter, intermediate parameters of each supervisor, an address list and a double-ring signature result;
obtaining a first public key set according to a temporary public key of transaction funds held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set and a first random number, and obtaining a second public key set according to a query public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
and verifying the double-ring signature result based on the first public key set and the second public key set.
9. The method of claim 8, wherein the verifying the double-ring signature result based on the first set of public keys and the second set of public keys comprises:
taking a third parameter as a generator to perform signature verification on the first public key set, and taking a fourth parameter as a generator to perform signature verification on the second public key set; wherein the third parameter is obtained according to a common generator, the trapdoor common parameter, the first random number, the set of random numbers, and intermediate parameters of each supervisor; the fourth parameter is obtained according to the first parameter, the second parameter, the first random number, the set of random numbers, and intermediate parameters of each supervisor.
10. The method according to claim 8 or 9, wherein the formula for obtaining the set of random numbers and the first random number is as follows:
ek=H(LAdd,PKnew,R1,R2,S1,…,Sm,k)
wherein L isAddIndicating said address list, PKnewTemporary public key, R, representing transaction funds held by the transaction initiator1Denotes a first parameter, R2Represents the second parameter, S1,…,SmIntermediate parameters representing m supervisors, em+1Representing said first random number, e1,…,emForm the set of random numbersM denotes the number of supervisors, H () denotes a hash function, k is 1, …, m + 1.
11. A transaction tracking method based on a blockchain is characterized by comprising the following steps:
acquiring a transaction bill which is linked up from a blockchain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, intermediate parameters and an address list of each supervisor;
obtaining a temporary address according to a temporary public key of transaction funds held by the transaction initiator, intermediate parameters of a local supervisor and a local supervision private key;
and if judging that the address list has the address matched with the temporary address, outputting the address matched with the temporary address.
12. An efficient transaction processing device based on blockchains, comprising:
the construction unit is used for constructing an address list according to the address of the transaction receiver and the n-1 other addresses; wherein, the other addresses are addresses irrelevant to the transaction; each address in the address list comprises a query public key and a consumption public key;
the first obtaining unit is used for obtaining a temporary public key of the transaction fund held by the transaction initiator according to the random number corresponding to the transaction fund held by the transaction initiator and the consumption public key of the transaction receiver, obtaining a first parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the inquiry public key of the transaction receiver, obtaining a second parameter according to the random number corresponding to the transaction fund held by the transaction initiator and the trap public parameter, and obtaining an intermediate parameter of each supervisor according to the random number corresponding to the transaction fund held by the transaction initiator and the supervision public key of each supervisor;
a second obtaining unit, configured to obtain a first public key set according to a temporary public key of a transaction fund held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set, and the first random number, and obtain a second public key set according to a query public key of each address in the address list, the trapdoor public parameter, a supervision public key of each supervisor, the random number set, and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
the encryption unit is used for encrypting the random number corresponding to the transaction fund held by the transaction initiator through the shared secret key of the transaction initiator and the transaction receiver to obtain a random number ciphertext;
the signature unit is used for carrying out position-keeping double-ring signature on the first public key set and the second public key set to obtain a double-ring signature result; the double-ring signature result comprises the first public key set, the second public key set, a random number corresponding to a transaction fund held by the transaction initiator, the first parameter, the second parameter, a shared key parameter, intermediate parameters of each supervisor, the address list, a random number ciphertext and other transaction related information;
an issuing unit, configured to generate and issue a transaction bill onto a blockchain, where the transaction bill includes a temporary public key of a transaction fund held by the transaction initiator, the first parameter, the second parameter, an intermediate parameter of each supervisor, the shared key parameter, the address list, the random number ciphertext, the double-ring signature result, and the other transaction-related information.
13. An efficient transaction processing device based on blockchains, comprising:
the system comprises a first acquisition unit, a second acquisition unit and a third acquisition unit, wherein the first acquisition unit is used for acquiring a transaction bill which is linked from a block chain, and the transaction bill comprises an address list, a first parameter, a temporary public key of transaction funds held by a transaction initiator and a random number ciphertext;
the first judging unit is used for obtaining a public key to be matched according to the first parameter, the local query private key and the local consumption public key after judging that the local address exists in the address list;
the decryption unit is used for decrypting the random number ciphertext through the shared key of the transaction initiator and the transaction receiver after judging that the public key to be matched is equal to the temporary public key of the transaction fund held by the transaction initiator, so as to obtain a random number corresponding to the transaction fund held by the transaction initiator;
a third obtaining unit, configured to obtain a temporary private key according to the random number corresponding to the transaction fund held by the transaction initiator and the local consumption private key;
and the second judgment unit is used for performing money collection operation after judging and knowing that the temporary private key is matched with the temporary public key of the transaction fund held by the transaction initiator.
14. An efficient transaction processing device based on blockchains, comprising:
the second acquisition unit is used for acquiring the issued transaction bill from the block chain, wherein the transaction bill comprises a temporary public key of transaction funds held by a transaction initiator, a first parameter, a second parameter, intermediate parameters of each supervisor, an address list and a double-ring signature result;
a fourth obtaining unit, configured to obtain a first public key set according to a temporary public key of a transaction fund held by the transaction initiator, a consumption public key of each address in the address list, the second parameter, an intermediate parameter of each supervisor, a random number set, and the first random number, and obtain a second public key set according to an inquiry public key of each address in the address list, a trapdoor public parameter, a supervision public key of each supervisor, the random number set, and the first random number; wherein the set of random numbers and the first random number are obtained in advance;
and the verification unit is used for verifying the double-ring signature result based on the first public key set and the second public key set.
15. A blockchain-based transaction tracking device, comprising:
the third acquisition unit is used for acquiring the transaction bill which is linked from the block chain, wherein the transaction bill comprises the temporary public key of the transaction fund held by the transaction initiator, the intermediate parameters of each supervisor and the address list;
a fifth obtaining unit, configured to obtain a temporary address according to the temporary public key of the transaction fund held by the transaction initiator, the intermediate parameter of the local supervisor, and the local supervision private key;
and the output unit is used for outputting the address matched with the temporary address after judging and knowing that the address matched with the temporary address exists in the address list.
16. An electronic device comprising a first memory, a first processor and a first computer program stored on the first memory and executable on the first processor, wherein the first processor implements the method of any one of claims 1 to 5, implements the method of claim 6 or 7, or implements the method of any one of claims 8 to 10 when executing the first computer program.
17. A computer-readable storage medium, on which a first computer program is stored, which, when being executed by a first processor, carries out the method of any one of claims 1 to 5, carries out the method of claim 6 or 7, or carries out the method of any one of claims 8 to 10.
18. An electronic device comprising a second memory, a second processor and a second computer program stored on the second memory and executable on the second processor, wherein the method of claim 11 is implemented when the second processor executes the second computer program.
19. A computer-readable storage medium, on which a second computer program is stored, which, when being executed by a second processor, carries out the method of claim 11.
CN202010974508.7A 2020-09-16 2020-09-16 Efficient transaction processing method, tracking method and device based on block chain Active CN112132578B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010974508.7A CN112132578B (en) 2020-09-16 2020-09-16 Efficient transaction processing method, tracking method and device based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010974508.7A CN112132578B (en) 2020-09-16 2020-09-16 Efficient transaction processing method, tracking method and device based on block chain

Publications (2)

Publication Number Publication Date
CN112132578A true CN112132578A (en) 2020-12-25
CN112132578B CN112132578B (en) 2022-05-06

Family

ID=73846923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010974508.7A Active CN112132578B (en) 2020-09-16 2020-09-16 Efficient transaction processing method, tracking method and device based on block chain

Country Status (1)

Country Link
CN (1) CN112132578B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389821A (en) * 2022-03-22 2022-04-22 北京百度网讯科技有限公司 Signature supervision method, device, equipment and storage medium based on block chain
CN115510504A (en) * 2022-10-20 2022-12-23 牛津(海南)区块链研究院有限公司 Data sharing method, system, device and medium based on ring signature and commitment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109919609A (en) * 2019-01-14 2019-06-21 如般量子科技有限公司 Anti- quantum calculation block chain secure transactions method and system based on public key pond
CN110335042A (en) * 2019-06-26 2019-10-15 阿里巴巴集团控股有限公司 Anonymous deal method and device based on ring signatures
US20200004973A1 (en) * 2018-06-29 2020-01-02 Alibaba Group Holding Limited Method and apparatus for obtaining input of secure multiparty computation protocol
CN111435518A (en) * 2019-01-11 2020-07-21 成都明文人科技有限公司 Trusted hardware-based block chain private transaction method, device and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200004973A1 (en) * 2018-06-29 2020-01-02 Alibaba Group Holding Limited Method and apparatus for obtaining input of secure multiparty computation protocol
CN111435518A (en) * 2019-01-11 2020-07-21 成都明文人科技有限公司 Trusted hardware-based block chain private transaction method, device and system
CN109919609A (en) * 2019-01-14 2019-06-21 如般量子科技有限公司 Anti- quantum calculation block chain secure transactions method and system based on public key pond
CN110335042A (en) * 2019-06-26 2019-10-15 阿里巴巴集团控股有限公司 Anonymous deal method and device based on ring signatures

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389821A (en) * 2022-03-22 2022-04-22 北京百度网讯科技有限公司 Signature supervision method, device, equipment and storage medium based on block chain
CN114389821B (en) * 2022-03-22 2022-06-17 北京百度网讯科技有限公司 Signature supervision method, device, equipment and storage medium based on block chain
CN115510504A (en) * 2022-10-20 2022-12-23 牛津(海南)区块链研究院有限公司 Data sharing method, system, device and medium based on ring signature and commitment

Also Published As

Publication number Publication date
CN112132578B (en) 2022-05-06

Similar Documents

Publication Publication Date Title
CN108418689B (en) Zero-knowledge proof method and medium suitable for block chain privacy protection
EP3563553B1 (en) Method for signing a new block in a decentralized blockchain consensus network
CN107392603B (en) Transaction method and apparatus using digital money
CN114586313B (en) System and method for signing information
US8122245B2 (en) Anonymity revocation
CN110545279A (en) block chain transaction method, device and system with privacy and supervision functions
CN101931529B (en) Data encryption method, data decryption method and nodes
CN111989891A (en) Data processing method, related device and block chain system
Shen et al. Blockchain-based lightweight certificate authority for efficient privacy-preserving location-based service in vehicular social networks
CN109919611B (en) Quantum computation resistant blockchain transaction method and system based on symmetric key pool server
CN109377229B (en) Transaction consensus method, node and block chain system
CN112115201B (en) Transaction processing method and device based on block chain and transaction tracking method and device
CN112132577B (en) Multi-supervision transaction processing method and device based on block chain
CN110599164B (en) Supervision-capable quick payment method for any payee under chain
CN112417489B (en) Digital signature generation method and device and server
CN107276752A (en) The methods, devices and systems that limitation key is decrypted are paid to cloud
CN112436938B (en) Digital signature generation method and device and server
CN112132578B (en) Efficient transaction processing method, tracking method and device based on block chain
CN110557246B (en) Quantum-resistant computing access control method and system based on disposable asymmetric key pair and movable identity recognition device
JPWO2017099117A1 (en) PRE-COMPUTER DEVICE, METHOD, AND COMPUTER-READABLE RECORDING MEDIUM, AND VECTOR MULTIPLY DEVICE, AND METHOD
CN113626852A (en) Safe and efficient method, system and application for anonymizing chain elements of unlicensed blocks
CN112733163A (en) Monitorable zero-knowledge proof method and device based on discrete logarithm equality proof
CN103227780A (en) Method for designing public auditable storage verifiable scheme for cloud data
CN108805574B (en) Transaction method and system based on privacy protection
CN115242553B (en) Data exchange method and system supporting safe multi-party calculation

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