IP Library Granted Patent US 10,664,835
Granted Patent B2
US 10,664,835 · App. 16/390,260 · Granted May 26, 2020

Blockchain data protection using homomorphic encryption

Inventors: Baoli Ma (Hangzhou, CN); Wenbin Zhang (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06Q20/3676G06Q20/3674H04L9/008H04L9/0637H04L9/0869H04L9/3239H04L9/3247H04L2209/38
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,664,835
App. No.
16/390,260
Granted
May 26, 2020
Kind
B2
Abstract

Implementations of the present disclosure include receiving, from a first account, a digitally signed copy of a commitment value of a first amount of a transaction amount generated based on a first random number, the first amount of the balance transfer and the first random number encrypted using a public key of the first account, a second amount of the balance transfer and a second random number encrypted using a public key of the second account, and a set of values generated based on one or more selected random numbers. The first account determines if the first amount and the second amount are the same and if the first random number and the second random number are the same based on the set of values, and updates the balance of the first account and a balance of the second account based on the first amount of the balance transfer.

Claims (45)

1. A computer-implemented method, performed by a consensus node of a blockchain network, comprising:

receiving, from a first account:

a digitally signed copy of a commitment value of a first amount of a balance transfer from a first account to a second account generated based on a first random number, wherein the first amount of the balance transfer and the first random number are encrypted using a first public key of the first account based on a probabilistic homomorphic encryption (HE) algorithm;

a second amount of the balance transfer and a second random number, wherein the second amount and the second random number are encrypted using a public key of the second account based on the probabilistic HE algorithm;

one or more range proofs; and

a set of values generated based on one or more selected random numbers;

verifying a digital signature corresponding to the digitally signed copy using a second public key of the first account corresponding to a private key used to generate the digital signature;

determining that the one or more range proofs prove that the amount of the balance transfer is greater than zero and less than or equal to a balance of the first account;

determining if the first amount and the second amount are the same and if the first random number and the second random number are the same based on the encrypted first and second amounts, the encrypted first and second random numbers, and the set of values; and

updating the balance of the first account and a balance of the second account based on the first amount of the balance transfer in response to determining the first amount and the second amount are the same and the first random number and the second random number are the same, wherein the selected random numbers are represented by r*, t*, z1*, and z2*; the selected random numbers are used to generate a, b, c, d, C, D, and E; where a=r*+xr, b=+xt, c=z1*+xz1, d=z2*+xz2, C=g r *h t *, D=u2 r *v2 z1 *, and E=u2 t *v2 z2 *, where r is the first random number, t is the first amount of the balance transfer, z1 and z2 are random numbers used to encrypt the second transaction amount and the second random number, x is a hash value generated based on hashing C, D, E, and g, and where h, u2, and v2 are generators of an elliptical curve.

2. The computer-implemented method of claim 1 , wherein the commitment value is generated using a commitment scheme that is homomorphic.

3. The computer-implemented method of claim 2 , wherein the commitment scheme is a Pedersen commitment scheme.

4. The computer-implemented method of claim 1 , wherein the probabilistic HE algorithm is an Okamoto-Uchiyama HE algorithm.

5. The computer-implemented method of claim 1 , wherein the set of values is further generated based on C, D, and E.

6. The computer-implemented method of claim 5 wherein the first amount and the second amount are the determined to be the same and the first random number and the second random number are determined to be the same based on properties of probabilistic HE.

7. The computer-implemented method of claim 6 , wherein the first amount and the second amount are determined to be the same and the first random number and the second random number are determined to be the same if g a h b =CT x , u2 a v2 c =DZ_B1 x , and u2 b v2 d =EZ_B2 x , where T=g r h t is the commitment value of the amount of the balance transfer, Z_B1=u2 r v2 z1 , Z_B2=u2 t v2 z2 .

8. The computer-implemented method of claim 1 , wherein updating the balance of the first account and a balance of the second account is performed based on HE.

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

receiving, from a first account:

a digitally signed copy of a commitment value of a first amount of a balance transfer from a first account to a second account generated based on a first random number, wherein the first amount of the balance transfer and the first random number are encrypted using a first public key of the first account based on a probabilistic homomorphic encryption (HE) algorithm;

a second amount of the balance transfer and a second random number, wherein the second amount and the second random number are encrypted using a public key of the second account based on the probabilistic HE algorithm;

one or more range proofs; and

a set of values generated based on one or more selected random numbers;

verifying a digital signature corresponding to the digitally signed copy using a second public key of the first account corresponding to a private key used to generate the digital signature;

determining that the one or more range proofs prove that the amount of the balance transfer is greater than zero and less than or equal to a balance of the first account;

determining if the first amount and the second amount are the same and if the first random number and the second random number are the same based on the encrypted first and second amounts, the encrypted first and second random numbers, and the set of values; and

updating the balance of the first account and a balance of the second account based on the first amount of the balance transfer in response to determining the first amount and the second amount are the same and the first random number and the second random number are the same, wherein the selected random numbers are represented by r*, t*, z1*, and z2*; the selected random numbers are used to generate a, b, c, d, C, D, and E; where a=r*+xr, b=t*+xt, c=z1*+xz1, d=z2*+xz2, C=g r *h t *, D=u2 r *v2 z1 *, and E=u2 t* v2 z2* , where r is the first random number, t is the first amount of the balance transfer, z1 and z2 are random numbers used to encrypt the second transaction amount and the second random number, x is a hash value generated based on hashing C, D, E, and g, and where h, u2, and v2 are generators of an elliptical curve.

10. The non-transitory, computer-readable medium of claim 9 , wherein the commitment value is generated using a commitment scheme that is homomorphic.

11. The non-transitory, computer-readable medium of claim 10 , wherein the commitment scheme is a Pedersen commitment scheme.

12. The non-transitory, computer-readable medium of claim 9 , wherein the probabilistic HE algorithm is an Okamoto-Uchiyama HE algorithm.

13. The non-transitory, computer-readable medium of claim 9 , wherein the set of values is further generated based on C, D, and E.

14. The non-transitory, computer-readable medium of claim 13 wherein the first amount and the second amount are the determined to be the same and the first random number and the second random number are determined to be the same based on properties of probabilistic HE.

15. The non-transitory, computer-readable medium of claim 14 , wherein the first amount and the second amount are determined to be the same and the first random number and the second random number are determined to be the same if g a h b =CT x , u2 a v2 c =DZ_ B1 x , and u2 b v2 d =EZ_B2 x , where T=g r h t is the commitment value of the amount of the balance transfer, Z_B1=u2 r v2 z1 , Z_B2=u2 t v2 z2 .

16. 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 perform operations comprising:

receive, from a first account:

a digitally signed copy of a commitment value of a first amount of a balance transfer from a first account to a second account generated based on a first random number, wherein the first amount of the balance transfer and the first random number are encrypted using a first public key of the first account based on a probabilistic homomorphic encryption (HE) algorithm;

a second amount of the balance transfer and a second random number, wherein the second amount and the second random number are encrypted using a public key of the second account based on the probabilistic HE algorithm;

one or more range proofs; and

a set of values generated based on one or more selected random numbers;

verify a digital signature corresponding to the digitally signed copy using a second public key of the first account corresponding to a private key used to generate the digital signature;

determine that the one or more range proofs prove that the amount of the balance transfer is greater than zero and less than or equal to a balance of the first account;

determine if the first amount and the second amount are the same and if the first random number and the second random number are the same based on the encrypted first and second amounts, the encrypted first and second random numbers, and the set of values; and

update the balance of the first account and a balance of the second account based on the first amount of the balance transfer in response to determining the first amount and the second amount are the same and the first random number and the second random number are the same, wherein the selected random numbers are represented by r*, t*, z1*, and z2*; the selected random numbers are used to generate a, b, c, d, C, D, and E; where a=r*+xr, b=t*+xt, c=z1*+xz1, d=z2*+xz2, C=g r *h t *, D=u2 r *v2 z1 *, and E=u2 t *v2 z2 *, where r is the first random number, t is the first amount of the balance transfer, z1 and z2 are random numbers used to encrypt the second transaction amount and the second random number, x is a hash value generated based on hashing C, D, E, and g, and where h, u2, and v2 are generators of an elliptical curve.

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 Sep 23, 2019
From: MA, BAOLI; ZHANG, WENBIN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 050462/0066 →