IP Library Granted Patent US 10,951,417
Granted Patent B2
US 10,951,417 · App. 16/779,201 · Granted Mar 16, 2021

Blockchain-based transaction verification

Inventor: Pengtao Qi (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
H04L9/3247G06F16/2365H04L9/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,951,417
App. No.
16/779,201
Granted
Mar 16, 2021
Kind
B2
Abstract

This disclosure relates to blockchain-based transaction verification. Some aspects include receiving, by a blockchain system, transaction data to be verified. The transaction data includes plaintext transaction information and at least one piece of verifier signature data. The plaintext transaction information includes a designated-verifier information set that identifies verifiers that have been designated to verify the plaintext transaction information and that includes, for each of one or more verifiers, a piece of designated-verifier information. Each piece of signature data includes a digital signature generated by one of the verifiers. The blockchain system obtains an authenticated information set by verifying each digital signature. The authenticated information set includes the piece of designated-verifier information for each verifier for which the digital signature is successfully verified. The blockchain system determines that the transaction data is verified successfully when the authenticated information set includes a pre-determined quantity of pieces of designated-verifier information.

Claims (72)

1. A computer-implemented transaction verification method, comprising:

receiving, by a blockchain system, transaction data to be verified, wherein:

the transaction data comprises plaintext transaction information and a plurality of pieces of verifier signature data, wherein,

each piece of verifier signature data of the plurality of pieces of verifier signature data comprises a digital signature generated by a respective verifier using one of a plurality of private keys of the respective verifier;

each private key of each verifier corresponds to a public key of the verifier; and

each public key of each verifier comprises a weight and the weight of each public key of the verifier is different from the weight of each other public key of the verifier;

the plaintext transaction information comprises a designated-verifier information set that identifies designated verifiers that have been designated to verify the plaintext transaction information and comprises, for each of one or more of the designated verifiers, a piece of designated-verifier information;

obtaining, by the blockchain system, an authenticated information set by verifying each digital signature in the transaction data using the public key corresponding to the private key used to generate the digital signature, wherein the authenticated information set comprises the piece of designated-verifier information for each verifier for which the digital signature is successfully verified;

determining, for each verified digital signature, the weight of the public key used to verify the digital signature;

determining a sum of the weights of the public keys used to verify the digital signatures; and

determining, by the blockchain system, that the transaction data is verified successfully when the authenticated information set comprises a pre-determined quantity of pieces of designated-verifier information and the sum of the weights satisfies a pre-determined value.

2. The computer-implemented method of claim 1 , wherein:

the designated-verifier information set specifies, for each designated verifier, a verifier account of the designated verifier;

the method further comprises obtaining, from a blockchain of the blockchain system, the public key for each designated verifier using the verifier account for each designated verifier; and

determining that the transaction data is verified successfully when the authenticated information set comprises a pre-determined quantity of pieces of designated-verifier information comprises determining that the transaction data is verified successfully when a quantity of obtained public keys comprises a pre-determined quantity of public keys.

3. The computer-implemented method of claim 1 , wherein:

the transaction data further comprises transaction initiator signature data specific to the plaintext transaction information, the transaction initiator signature data comprising a transaction initiator signature;

the method further comprises verifying the transaction initiator signature data based on the plaintext transaction information and the transaction initiator signature data; and

determining that the transaction data is verified successfully comprises determining that the transaction data is verified successfully when the authenticated information set comprises a pre-determined quantity of pieces of designated-verifier information and the transaction initiator signature data is verified successfully.

4. The computer-implemented method of claim 3 , wherein the transaction initiator signature data further comprises a transaction initiator public key, the method further comprising verifying the transaction initiator signature using the transaction initiator public key and the plaintext transaction information.

5. The computer-implemented method of claim 3 , wherein:

the plaintext transaction information comprises data specifying a transaction initiator account;

verifying the transaction initiator signature data based on the plaintext transaction information and the transaction initiator signature data comprises:

obtaining a transaction initiator public key in the blockchain system based on the transaction initiator account in the plaintext transaction information; and

verifying the transaction initiator signature using the transaction initiator public key and the plaintext transaction information.

6. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving, by a blockchain system, transaction data to be verified, wherein:

the transaction data comprises plaintext transaction information and a plurality of pieces of verifier signature data, wherein,

each piece of verifier signature data of the plurality of pieces of verifier signature data comprises a digital signature generated by a respective verifier using one of a plurality of private keys of the respective verifier;

each private key of each verifier corresponds to a public key of the verifier; and

each public key of each verifier comprises a weight and the weight of each public key of the verifier is different from the weight of each other public key of the verifier;

the plaintext transaction information comprises a designated-verifier information set that identifies designated verifiers that have been designated to verify the plaintext transaction information and comprises, for each of one or more of the designated verifiers, a piece of designated-verifier information;

obtaining, by the blockchain system, an authenticated information set by verifying each digital signature in the transaction data using the public key corresponding to the private key used to generate the digital signature, wherein the authenticated information set comprises the piece of designated-verifier information for each verifier for which the digital signature is successfully verified;

determining, for each verified digital signature, the weight of the public key used to verify the digital signature;

determining a sum of the weights of the public keys used to verify the digital signatures; and

determining, by the blockchain system, that the transaction data is verified successfully when the authenticated information set comprises a pre-determined quantity of pieces of designated-verifier information and the sum of the weights satisfies a pre-determined value.

7. The non-transitory, computer-readable medium of claim 6 , wherein:

the designated-verifier information set specifies, for each designated verifier, a verifier account of the designated verifier;

the operations further comprise obtaining, from a blockchain of the blockchain system, the public key for each designated verifier using the verifier account for each designated verifier; and

determining that the transaction data is verified successfully when the authenticated information set comprises a pre-determined quantity of pieces of designated-verifier information comprises determining that the transaction data is verified successfully when the obtained public keys comprises a pre-determined quantity of public keys.

8. The non-transitory, computer-readable medium of claim 6 , wherein:

the transaction data further comprises transaction initiator signature data specific to the plaintext transaction information, the transaction initiator signature data comprising a transaction initiator signature;

the operations further comprise verifying the transaction initiator signature data based on the plaintext transaction information and the transaction initiator signature data; and

determining that the transaction data is verified successfully comprises determining that the transaction data is verified successfully when the authenticated information set comprises a pre-determined quantity of pieces of designated-verifier information and the transaction initiator signature data is verified successfully.

9. The non-transitory, computer-readable medium of claim 8 , wherein the transaction initiator signature data further comprises a transaction initiator public key, the operations further comprise verifying the transaction initiator signature using the transaction initiator public key and the plaintext transaction information.

10. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform operations comprising:

receiving, by a blockchain system, transaction data to be verified, wherein:

the transaction data comprises plaintext transaction information and a plurality of pieces of verifier signature data, wherein,

each piece of verifier signature data of the plurality of pieces of verifier signature data comprises a digital signature generated by a respective verifier using one of a plurality of private keys of the respective verifier;

each private key of each verifier corresponds to a public key of the verifier; and

each public key of each verifier comprises a weight and the weight of each public key of the verifier is different from the weight of each other public key of the verifier:

the plaintext transaction information comprises a designated-verifier information set that identifies designated verifiers that have been designated to verify the plaintext transaction information and comprises, for each of one or more of the designated verifiers, a piece of designated-verifier information;

obtaining, by the blockchain system, an authenticated information set by verifying each digital signature in the transaction data using the public key corresponding to the private key used to generate the digital signature, wherein the authenticated information set comprises the piece of designated-verifier information for each verifier for which the digital signature is successfully verified;

determining, for each verified digital signature, the weight of the public key used to verify the digital signature;

determining a sum of the weights of the public keys used to verify the digital signatures; and

determining, by the blockchain system, that the transaction data is verified successfully when the authenticated information set comprises a pre-determined quantity of pieces of designated-verifier information and the sum of the weights satisfies a pre-determined value.

11. The computer-implemented system of claim 10 , wherein:

the designated-verifier information set specifies, for each designated verifier, a verifier account of the designated verifier;

the operations further comprise obtaining, from a blockchain of the blockchain system, the public key for each designated verifier using the verifier account for each designated verifier; and

determining that the transaction data is verified successfully when the authenticated information set comprises a pre-determined quantity of pieces of designated-verifier information comprises determining that the transaction data is verified successfully when a quantity of obtained public keys comprises a pre-determined quantity of public keys.

12. The computer-implemented system of claim 10 , wherein:

the transaction data further comprises transaction initiator signature data specific to the plaintext transaction information, the transaction initiator signature data comprising a transaction initiator signature;

the operations further comprise verifying the transaction initiator signature data based on the plaintext transaction information and the transaction initiator signature data; and

determining that the transaction data is verified successfully comprises determining that the transaction data is verified successfully when the authenticated information set comprises a pre-determined quantity of pieces of designated-verifier information and the transaction initiator signature data is verified successfully.

13. The computer-implemented system of claim 12 , wherein the transaction initiator signature data further comprises a transaction initiator public key, the operations further comprise verifying the transaction initiator signature using the transaction initiator public key and the plaintext transaction information.

14. The computer-implemented system of claim 12 , wherein:

the plaintext transaction information comprises data specifying a transaction initiator account;

verifying the transaction initiator signature data based on the plaintext transaction information and the transaction initiator signature data comprises:

obtaining a transaction initiator public key in the blockchain system based on the transaction initiator account in the plaintext transaction information; and

verifying the transaction initiator signature using the transaction initiator public key and the plaintext transaction information.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: QI, PENGTAO
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 054754/0196 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →