IP Library Granted Patent US 10,700,850
Granted Patent B2
US 10,700,850 · App. 16/708,249 · Granted Jun 30, 2020

System and method for information protection

Inventors: Baoli Ma (Hangzhou, CN); Wenbin Zhang (Hangzhou, CN); Lichun Li (Hangzhou, CN); Zheng Liu (Hangzhou, CN); Shan Yin (Hangzhou, CN)
Assignee: ALIBABA GROUP HOLDING LIMITED
H04L9/0637G06F16/2365G06F16/2379G06F21/602H04L9/0643H04L2209/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,700,850
App. No.
16/708,249
Granted
Jun 30, 2020
Kind
B2
Abstract

A computer-implemented method for information protection comprises: determining one or more data inputs and one or more data outputs for a transaction, wherein the data inputs are associated with input data types respectively, and the data outputs are associated with output data types respectively; encrypting the input data types and the output data types; committing each of the encrypted input data types and the encrypted output data types with a commitment scheme to obtain corresponding commitment values; obtaining at least a parameter R based at least on the commitment values; and submitting the transaction to one or more nodes in a blockchain network with disclosure of the parameter R and without disclosure of the input data types and output data types for the nodes to verify consistency between the input data types and the output data types.

Claims (76)

1. A computer-implemented method for information protection, comprising:

determining one or more data inputs and one or more data outputs for a transaction, wherein the data inputs are associated with input data types respectively, and the data outputs are associated with output data types respectively;

encrypting the input data types and the output data types;

committing each of the encrypted input data types and the encrypted output data types with a commitment scheme to obtain corresponding commitment values;

obtaining at least a parameter R based at least on the commitment values; and

submitting the transaction to one or more nodes in a blockchain network with disclosure of the parameter R and without disclosure of the input data types and output data types to cause the one or more nodes to verify consistency between the input data types and the output data types by:

obtaining the parameter R and a basepoint G;

obtaining differences between pairs of the commitment values;

concatenating the obtained differences;

encrypting the concatenated differences with a hash function to obtain an encryption value x;

obtaining a sum C of polynomials based at least on the obtained differences and the encryption value x;

in response to determining that the sum C is equal to a product of the parameter R and the basepoint G, determining that the input data types and the output data types are consistent; and

in response to determining that the sum C is not equal to the product of the parameter R and the basepoint G, determining that the input data types and the output data types are inconsistent.

2. The method of claim 1 , wherein: encrypting the input data types and the output data types comprises encrypting the input data types and the output data types with the hash function.

3. The method of claim 1 , wherein: the commitment scheme comprises a Pedersen commitment.

4. The method of claim 1 , wherein:

the commitment scheme comprises at least a blinding factor; and

the blinding factor changes with time of committing the encrypted input data types and the encrypted output data types.

5. The method of claim 1 , wherein: the nodes are caused to verify the consistency between the input data types and the output data types without knowledge of the input data types and output data types.

6. The method of claim 1 , wherein:

the transaction is based at least on an Unspent Transaction Outputs (UTXO) model; and

the data inputs and the data outputs comprise types of one or more assets undergoing the transaction.

7. The method of claim 1 , wherein:

the commitment scheme comprises a plurality of blinding factors respectively corresponding to the input data types and the output data types; and

obtaining at least the parameter R based at least on the commitment values comprises:

obtaining differences between pairs of the commitment values;

concatenating the obtained differences;

encrypting the concatenated differences with the hash function to obtain the encryption value x; and

obtaining the parameter R based at least on the encryption value x and differences between pairs of the blinding factors.

8. A non-transitory computer-readable storage medium storing instructions to be executed by a processor to cause the processor to perform operations comprising:

determining one or more data inputs and one or more data outputs for a transaction, wherein the data inputs are associated with input data types respectively, and the data outputs are associated with output data types respectively;

encrypting the input data types and the output data types;

committing each of the encrypted input data types and the encrypted output data types with a commitment scheme to obtain corresponding commitment values;

obtaining at least a parameter R based at least on the commitment values; and

submitting the transaction to one or more nodes in a blockchain network with disclosure of the parameter R and without disclosure of the input data types and output data types to cause the one or more nodes to verify consistency between the input data types and the output data types by:

obtaining the parameter R and a basepoint G;

obtaining differences between pairs of the commitment values;

concatenating the obtained differences;

encrypting the concatenated differences with a hash function to obtain an encryption value x;

obtaining a sum C of polynomials based at least on the obtained differences and the encryption value x;

in response to determining that the sum C is equal to a product of the parameter R and the basepoint G, determining that the input data types and the output data types are consistent; and

in response to determining that the sum C is not equal to the product of the parameter R and the basepoint G, determining that the input data types and the output data types are inconsistent.

9. The storage medium of claim 8 , wherein: encrypting the input data types and the output data types comprises encrypting the input data types and the output data types with the hash function.

10. The storage medium of claim 8 , wherein: the commitment scheme comprises a Pedersen commitment.

11. The storage medium of claim 8 , wherein:

the commitment scheme comprises at least a blinding factor; and

the blinding factor changes with time of committing the encrypted input data types and the encrypted output data types.

12. The storage medium of claim 8 , wherein: the nodes are caused to verify the consistency between the input data types and the output data types without knowledge of the input data types and output data types.

13. The storage medium of claim 8 , wherein:

the transaction is based at least on an Unspent Transaction Outputs (UTXO) model; and

the data inputs and the data outputs comprise types of one or more assets undergoing the transaction.

14. The storage medium of claim 8 , wherein:

the commitment scheme comprises a plurality of blinding factors respectively corresponding to the input data types and the output data types; and

obtaining at least the parameter R based at least on the commitment values comprises:

obtaining differences between pairs of the commitment values;

concatenating the obtained differences;

encrypting the concatenated differences with the hash function to obtain the encryption value x; and

obtaining the parameter R based at least on the encryption value x and differences between pairs of the blinding factors.

15. A system for information protection, comprising a processor and a memory coupled to the processor, the memory storing instructions to be executed by the processor to cause the system to perform operations comprising:

determining one or more data inputs and one or more data outputs for a transaction, wherein the data inputs are associated with input data types respectively, and the data outputs are associated with output data types respectively;

encrypting the input data types and the output data types;

committing each of the encrypted input data types and the encrypted output data types with a commitment scheme to obtain corresponding commitment values;

obtaining at least a parameter R based at least on the commitment values; and

submitting the transaction to one or more nodes in a blockchain network with disclosure of the parameter R and without disclosure of the input data types and output data types to cause the one or more nodes to verify consistency between the input data types and the output data types by:

obtaining the parameter R and a basepoint G;

obtaining differences between pairs of the commitment values;

concatenating the obtained differences;

encrypting the concatenated differences with a hash function to obtain an encryption value x;

obtaining a sum C of polynomials based at least on the obtained differences and the encryption value x;

in response to determining that the sum C is equal to a product of the parameter R and the basepoint G, determining that the input data types and the output data types are consistent; and

in response to determining that the sum C is not equal to the product of the parameter R and the basepoint G, determining that the input data types and the output data types are inconsistent.

16. The system of claim 15 , wherein: encrypting the input data types and the output data types comprises encrypting the input data types and the output data types with the hash function.

17. The system of claim 15 , wherein: the commitment scheme comprises a Pedersen commitment.

18. The system of claim 15 , wherein:

the commitment scheme comprises at least a blinding factor; and

the blinding factor changes with time of committing the encrypted input data types and the encrypted output data types.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053796/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053702/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2019
From: MA, BAOLI; ZHANG, WENBIN; LI, LICHUN; LIU, ZHENG; YIN, SHAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051222/0425 →