IP Library Granted Patent US 10,402,575
Granted Patent B1
US 10,402,575 · App. 16/390,826 · Granted Sep 3, 2019

Regulating blockchain confidential transactions

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,402,575
App. No.
16/390,826
Granted
Sep 3, 2019
Kind
B1
Abstract

Implementations of the present disclosure include obtaining, by a client node of a blockchain network, a public key of a regulator node; generating, by the client node, one or more commitment values of a confidential transaction of the client node by applying a cryptographic commitment scheme to transaction data of the confidential transaction; generating, by the client node, encrypted regulatory information of the confidential transaction by encrypting the transaction data using the public key of the regulator node; and transmitting, by the client node to a consensus node of the blockchain network, a content of the confidential transaction for execution, wherein the content of the confidential transaction includes: the one or more commitment values; the encrypted regulatory information; and one or more zero-knowledge proofs of the transaction data.

Claims (61)

1. A computer-implemented method of a client node participating in a blockchain confidential transaction, the method comprising:

obtaining, by a client node of a blockchain network, a public key of a regulator node;

generating, by the client node, one or more commitment values of a confidential transaction of the client node by applying a cryptographic commitment scheme to transaction data of the confidential transaction;

generating, by the client node, encrypted regulatory information of the confidential transaction by encrypting the transaction data using the public key of the regulator node; and

transmitting, by the client node to a consensus node of the blockchain network, a content of the confidential transaction for execution, wherein the content of the confidential transaction comprises:

the one or more commitment values;

the encrypted regulatory information; and

one or more zero-knowledge proofs of the transaction data.

2. The method of claim 1 , wherein the transaction data of the confidential transaction comprises one or both of an account balance of the client node before the confidential transaction or a transaction amount of the confidential transaction.

3. The method of claim 1 , wherein the one or more zero-knowledge proofs of the transaction data comprises one or more zero-knowledge range proofs that values of the transaction data are within respective ranges.

4. The method of claim 1 , wherein the one or more zero-knowledge proofs of the transaction data comprises a zero-knowledge proof that the client node uses the public key of the regulator node in generating the encrypted regulatory information of the confidential transaction.

5. The method of claim 1 , wherein the cryptographic commitment scheme comprises a Pedersen Commitment scheme;

wherein generating one or more commitment values of a confidential transaction of the client node by applying a cryptographic commitment scheme to transaction data comprises generating the one or more commitment values of the confidential transaction of the client node based on the transaction data and random numbers corresponding to the transaction data; and

wherein generating encrypted regulatory information of the confidential transaction comprises generating encrypted regulatory information of the confidential transaction by encrypting the transaction data and random numbers corresponding to the transaction data using the public key of the regulator node.

6. The method of claim 1 , wherein the content of the confidential transaction further comprises a digital signature of the client node.

7. A computer-implemented method for regulating blockchain confidential transactions, the method comprising:

generating, by a regulator node of a blockchain network, a pair of a public key and a private key;

publishing, by the regulator node, the public key to a plurality of client nodes of the blockchain network;

obtaining, by the regulator node from a consensus node of the blockchain network, a content of a confidential transaction of a client node, wherein the content of the confidential transaction comprises:

one or more commitment values of the confidential transaction generated by the client node by applying a cryptographic commitment scheme to transaction data of the confidential transaction;

one or more zero-knowledge proofs of the transaction data; and

encrypted regulatory information generated by the client node by encrypting the transaction data using the public key of the regulator node;

obtaining the transaction data by decrypting the encrypted regulatory information using the private key of the regulator node; and

verifying, by the regulator node, that the confidential transaction is legitimate based on the content of the confidential transaction and the decrypted transaction data.

8. The method of claim 7 , wherein the transaction data of the confidential transaction comprises one or more of an account balance of the client node before the confidential transaction, or a transaction amount of the confidential transaction.

9. The method of claim 7 , wherein the one or more zero-knowledge proofs of the transaction data comprises one or more zero-knowledge range proofs that values of the transaction data are within respective ranges.

10. The method of claim 7 , wherein verifying that the confidential transaction is valid based on the content of the confidential transaction and the decrypted transaction data comprises one or more of:

determining that the one or more commitment values are correct based on the commitment scheme;

verifying the one or more zero-knowledge proofs of the transaction data; or

determining that values of the transaction data comply with regulation.

11. The method of claim 10 , wherein verifying the one or more zero-knowledge proofs of the transaction data comprises one or more of:

determining that an account balance of the client node before the confidential transaction is larger than zero;

determining that a transaction amount of the confidential transaction is larger than zero; and

determining that a transaction amount of the confidential transaction is less than or equal to an account balance of the client node before the confidential transaction.

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

obtaining, by a client node of a blockchain network, a public key of a regulator node;

generating, by the client node, one or more commitment values of a confidential transaction of the client node by applying a cryptographic commitment scheme to transaction data of the confidential transaction;

generating, by the client node, encrypted regulatory information of the confidential transaction by encrypting the transaction data using the public key of the regulator node; and

transmitting, by the client node to a consensus node of the blockchain network, a content of the confidential transaction for execution, wherein the content of the confidential transaction comprises:

the one or more commitment values;

the encrypted regulatory information; and

one or more zero-knowledge proofs of the transaction data.

13. The non-transitory, computer-readable medium of claim 12 , wherein the transaction data of the confidential transaction comprises one or both of an account balance of the client node before the confidential transaction or a transaction amount of the confidential transaction.

14. The non-transitory, computer-readable medium of claim 12 , wherein the one or more zero-knowledge proofs of the transaction data comprises one or more zero-knowledge range proofs that values of the transaction data are within respective ranges.

15. The non-transitory, computer-readable medium of claim 12 , wherein the one or more zero-knowledge proofs of the transaction data comprises a zero-knowledge proof that the client node uses the public key of the regulator node in generating the encrypted regulatory information of the confidential transaction.

16. The non-transitory, computer-readable medium of claim 12 , wherein the cryptographic commitment scheme comprises a Pedersen Commitment scheme;

wherein generating one or more commitment values of a confidential transaction of the client node by applying a cryptographic commitment scheme to transaction data comprises generating the one or more commitment values of the confidential transaction of the client node based on the transaction data and random numbers corresponding to the transaction data; and

wherein generating encrypted regulatory information of the confidential transaction comprises generating encrypted regulatory information of the confidential transaction by encrypting the transaction data and random numbers corresponding to the transaction data using the public key of the regulator node.

17. The non-transitory, computer-readable medium of claim 12 , wherein the content of the confidential transaction further comprises a digital signature of the client node.

18. A system, comprising:

one or more computers; and

one or more computer-readable memories coupled to the one or more computers and having instructions stored thereon which are executable by the one or more computers to:

obtaining, by a client node of a blockchain network, a public key of a regulator node;

generating, by the client node, one or more commitment values of a confidential transaction of the client node by applying a cryptographic commitment scheme to transaction data of the confidential transaction;

generating, by the client node, encrypted regulatory information of the confidential transaction by encrypting the transaction data using the public key of the regulator node; and

transmitting, by the client node to a consensus node of the blockchain network, a content of the confidential transaction for execution, wherein the content of the confidential transaction comprises:

the one or more commitment values;

the encrypted regulatory information; and

one or more zero-knowledge proofs of the transaction data.

19. The system of claim 18 , wherein the transaction data of the confidential transaction comprises one or both of an account balance of the client node before the confidential transaction or a transaction amount of the confidential transaction.

20. The system of claim 18 , wherein the one or more zero-knowledge proofs of the transaction data comprises one or more zero-knowledge range proofs that values of the transaction data are within respective ranges.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2019
From: LIU, ZHENG; LI, LICHUN; WANG, HUAZHONG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 049775/0868 →