IP Library Granted Patent US 10,592,686
Granted Patent B2
US 10,592,686 · App. 16/421,170 · Granted Mar 17, 2020

Data isolation in a blockchain network

Inventor: Jiyuan Wang (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06F21/6227G06F21/00H04L9/0643H04L9/3239H04L9/3247H04L2209/38H04L2209/56
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,592,686
App. No.
16/421,170
Granted
Mar 17, 2020
Kind
B2
Abstract

Implementations of the present specification include receiving a request to perform a private transaction associated with at least one account; in response to receiving the request, performing, by a workflow node, the private transaction; in response to performing the private transaction, generating, by the workflow node, a representation of the private transaction configured to be accessible only to entities that are authorized to access the private transaction; storing, in a private blockchain, the representation of the private transaction; generating, by the workflow node, an account record for the at least one account associated with the private transaction based at least in part on the private transaction, wherein the account record is configured to be accessible to at least one entity that is not authorized to access the representation of the private transaction in the private blockchain; and storing, in a public blockchain, the account record.

Claims (75)

1. A computer-implemented method for protecting sensitive data stored on a blockchain, the method comprising:

receiving a request to perform a private transaction associated with at least one account;

in response to receiving the request, performing, by a workflow node, the private transaction;

in response to performing the private transaction, generating, by the workflow node, a representation of the private transaction configured to be accessible only to entities that are authorized to access the private transaction, the representation of the private transaction including an identity of a transaction participant associated with the at least one account;

storing, in a private blockchain, the representation of the private transaction;

generating, by the workflow node, an account record for the at least one account associated with the private transaction based at least in part on the private transaction, wherein the account record is configured to be accessible to at least one entity that is not authorized to access the representation of the private transaction in the private blockchain, the account record comprising an updated balance of the transaction participant associated with the at least one account; and

storing, in a public blockchain, the account record.

2. The computer-implemented method of claim 1 , the method further comprising:

storing, by the workflow node, the private transaction in a datastore of the workflow node, wherein the datastore is separate from the private blockchain, and

wherein generating the representation of the private transaction includes generating a hash value associated with the private transaction.

3. The computer-implemented method of claim 1 , the method further comprising:

maintaining, by the workflow node, a local representation of the account record for the at least one account;

wherein performing the private transaction comprises modifying the local representation of the account record based on the private transaction; and

wherein the at least one account record includes a subset of information in the local representation of the account record.

4. The computer-implemented method of claim 1 , wherein storing the account record in the public blockchain is performed responsive to storing the representation of the private transaction in the private blockchain.

5. The computer-implemented method of claim 1 , the method further comprising storing, to the private blockchain, other representations of private transactions for which no corresponding storage of an account to the public blockchain is performed.

6. The computer-implemented method of claim 1 , the method further comprising:

storing, in a datastore separate from the private blockchain, an encrypted copy of the private transaction that has been encrypted with a public key of a public/private keypair.

7. The computer-implemented method of claim 6 , wherein storing the encrypted copy of the private transaction includes storing a signature of the encrypted copy that has been created with a private key of the public/private keypair.

8. The computer-implemented method of claim 1 , wherein the private blockchain is a first private blockchain, the private transaction is a first private transaction, and the method further comprises:

storing, in a second private blockchain separate from the first private blockchain, a representation of a second private transaction different from the first private transaction;

comparing, by the workflow node, a quantity of private transactions performed to a threshold representing a predetermined quantity of private transactions;

determining, by the workflow node and based on the result of comparing the quantity of private transactions to the threshold, that an account record for an account associated with the second private transaction can be stored in the public blockchain; and

storing, in the public blockchain, the account record for the account associated with the second private transaction.

9. The computer-implemented method of claim 1 , wherein the account record includes a balance of the at least one account and wherein the account record does not include information about the associated private transaction.

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

receiving a request to perform a private transaction associated with at least one account;

in response to receiving the request, performing, by a workflow node, the private transaction;

in response to performing the private transaction, generating, by the workflow node, a representation of the private transaction configured to be accessible only to entities that are authorized to access the private transaction, the representation of the private transaction including an identity of a transaction participant associated with the at least one account;

storing, in a private blockchain, the representation of the private transaction;

generating, by the workflow node, an account record for the at least one account associated with the private transaction based at least in part on the private transaction, wherein the account record is configured to be accessible to at least one entity that is not authorized to access the representation of the private transaction in the private blockchain, the account record comprising an updated balance of the transaction participant associated with the at least one account; and

storing, in a public blockchain, the account record.

11. The non-transitory computer-readable medium of claim 10 , to the operations further comprising:

storing, by the workflow node, the private transaction in a datastore of the workflow node, wherein the datastore is separate from the private blockchain, and wherein generating the representation of the private transaction includes generating a hash value associated with the private transaction.

12. The non-transitory computer-readable medium of claim 10 , the operations further comprising:

maintaining, by the workflow node, a local representation of the account record for the at least one account;

wherein performing the private transaction comprises modifying the local representation of the account record based on the private transaction; and

wherein the at least one account record includes a subset of information in the local representation of the account record.

13. The non-transitory computer-readable medium of claim 10 , wherein storing the account record in the public blockchain is performed responsive to storing the representation of the private transaction in the private blockchain.

14. The non-transitory computer-readable medium of claim 10 , the operations further comprising storing, to the private blockchain, other representations of private transactions for which no corresponding storage of an account to the public blockchain is performed.

15. The non-transitory computer-readable medium of claim 10 , the operations further comprising:

storing, in a datastore separate from the private blockchain, an encrypted copy of the private transaction that has been encrypted with a public key of a public/private keypair.

16. The non-transitory computer-readable medium of claim 15 , wherein storing the encrypted copy of the private transaction includes storing a signature of the encrypted copy that has been created with a private key of the public/private keypair.

17. The non-transitory computer-readable medium of claim 10 , wherein the private blockchain is a first private blockchain, the private transaction is a first private transaction, and the operations further comprise:

storing, in a second private blockchain separate from the first private blockchain, a representation of a second private transaction different from the first private transaction;

comparing, by the workflow node, a quantity of private transactions performed to a threshold representing a predetermined quantity of private transactions;

determining, by the workflow node and based on the result of comparing the quantity of private transactions to the threshold, that an account record for an account associated with the second private transaction can be stored in the public blockchain; and

storing, in the public blockchain, the account record for the account associated with the second private transaction.

18. The non-transitory computer-readable medium of claim 10 , wherein the account record includes a balance of the at least one account and wherein the account record does not include information about the associated private transaction.

19. A 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 one or more operations comprising:

receiving a request to perform a private transaction associated with at least one account;

in response to receiving the request, performing, by a workflow node, the private transaction;

in response to performing the private transaction, generating, by the workflow node, a representation of the private transaction configured to be accessible only to entities that are authorized to access the private transaction, the representation of the private transaction including an identity of a transaction participant associated with the at least one account;

storing, in a private blockchain, the representation of the private transaction;

generating, by the workflow node, an account record for the at least one account associated with the private transaction based at least in part on the private transaction, wherein the account record is configured to be accessible to at least one entity that is not authorized to access the representation of the private transaction in the private blockchain, the account record comprising an updated balance of the transaction participant associated with the at least one account; and

storing, in a public blockchain, the account record.

20. The system of claim 19 , wherein the operations further comprise:

storing, by the workflow node, the private transaction in a datastore of the workflow node, wherein the datastore is separate from the private blockchain, and wherein generating the representation of the private transaction includes generating a hash value associated with the private transaction.

21. The system of claim 19 , wherein the operations further comprise:

maintaining, by the workflow node, a local representation of the account record for the at least one account;

wherein performing the private transaction comprises modifying the local representation of the account record based on the private transaction; and

wherein the at least one account record includes a subset of information in the local representation of the account record.

22. The system of claim 19 , wherein storing the account record in the public blockchain is performed responsive to storing the representation of the private transaction in the private blockchain.

23. The system of claim 19 , wherein the operations further comprise storing, to the private blockchain, other representations of private transactions for which no corresponding storage of an account to the public blockchain is performed.

24. The system of claim 19 , wherein the operations further comprise:

storing, in a datastore separate from the private blockchain, an encrypted copy of the private transaction that has been encrypted with a public key of a public/private keypair.

25. The system of claim 24 , wherein storing the encrypted copy of the private transaction includes storing a signature of the encrypted copy that has been created with a private key of the public/private keypair.

26. The system of claim 19 , wherein the private blockchain is a first private blockchain, the private transaction is a first private transaction, and the operations further comprise:

storing, in a second private blockchain separate from the first private blockchain, a representation of a second private transaction different from the first private transaction;

comparing, by the workflow node, a quantity of private transactions performed to a threshold representing a predetermined quantity of private transactions;

determining, by the workflow node and based on the result of comparing the quantity of private transactions to the threshold, that an account record for an account associated with the second private transaction can be stored in the public blockchain; and

storing, in the public blockchain, the account record for the account associated with the second private transaction.

27. The system of claim 19 , wherein the account record includes a balance of the at least one account and wherein the account record does not include information about the associated private transaction.

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 Oct 10, 2019
From: WANG, JIYUAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 050674/0586 →
Continuity (2)
Continuation PCTCN2018122166 · Dec 19, 2018
Related Publication 20190286838A1 · Sep 19, 2019