IP Library Granted Patent US 10,826,709
Granted Patent B1
US 10,826,709 · App. 16/714,197 · Granted Nov 3, 2020

Shared blockchain data storage

Inventor: Haizhen Zhuo (Hangzhou, CN)
Assignee: ADVANCED NEW TECHNOLOGIES CO., LTD.
H04L9/3247G06F16/9027H04L9/0637H04L9/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,826,709
App. No.
16/714,197
Granted
Nov 3, 2020
Kind
B1
Abstract

Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for communicating and sharing blockchain data. One of the methods includes sending current state information associated with a current block of a blockchain to one or more shared storage nodes of the blockchain network; sending a hash value to the one of the one or more shared storage nodes for retrieving an account state stored in the historic state tree; receiving the account state in response to sending the hash value; and verifying, by the consensus node, that the account state is part of the blockchain based on the hash value.

Claims (47)

1. A computer-implemented method for communicating shared blockchain data, the method comprising:

obtaining, by a consensus node of a blockchain network, current state information corresponding to an account state associated with one or more transactions of a current block in a blockchain of the blockchain network;

sending, by the consensus node, the current state information associated with the current block of the blockchain to one or more shared storage nodes of the blockchain network, wherein the consensus node stores the current state information and the one or more shared storage nodes store historic state information associated with every block of the blockchain as a historic state tree, and wherein the historic state tree includes key-value pairs (KVPs) with values being account states of accounts associated with the blockchain network and keys being hash values of the corresponding account states;

obtaining, by the consensus node, a hash value corresponding to the account state stored in the historic state tree;

sending, by the consensus node, the hash value to the one of the one or more shared storage nodes for retrieving the account state stored in the historic state tree;

receiving, by the consensus node, the account state in response to sending the hash value; and

verifying, by the consensus node, that the account state is part of the blockchain based on the hash value and the historic state tree, and

wherein the blockchain network includes at least f+1 shared storage nodes and no more than 2f+2 consensus nodes, and wherein f is a maximum number of faulty shared storage nodes and consensus nodes that can be tolerated within the blockchain network.

2. The computer-implemented method of claim 1 , wherein the one or more shared storage nodes are elected by receiving 2f+1 votes from all 3f+1, 3f+2, or 3f+3 nodes of the blockchain network, and wherein f is the maximum number of faulty shared storage nodes and consensus nodes that can be tolerated within the blockchain.

3. The computer-implemented method of claim 1 , wherein a current state tree includes KVPs with values being account sates associated with the current block and keys being node IDs corresponding to nodes of the current state tree and a block ID corresponding to the current block.

4. The computer-implemented method of claim 1 , wherein the current state information sent by the consensus node includes a digital signature generated based on a private key associated with the consensus node.

5. The computer-implemented method of claim 1 , wherein sending the current state information further comprises sending the current state information and a hash value of the current state information as KVP to the one or more shared storage nodes of the blockchain network.

6. The computer-implemented method of claim 1 , wherein verifying that the account state is part of the blockchain is performed based on hashing the account state to generate a hashed account state and comparing the hashed account state to the hash value.

7. The computer-implemented method of claim 1 , wherein the one or more shared storage nodes store historic state information locally or on a cloud storage.

8. The computer-implemented method of claim 1 , wherein a current state tree and the historic state tree are stored as a fixed depth Merkle tree.

9. A non-transitory, computer-readable storage medium storing one or more instructions executable by a computer system to perform operations for communicating shared blockchain data, the operations comprising:

obtaining, by a consensus node of a blockchain network, current state information corresponding to an account state associated with one or more transactions of a current in a blockchain of the blockchain network;

sending, by the consensus node, the current state information associated with the current block of the blockchain to one or more shared storage nodes of the blockchain network, wherein the consensus node stores the current state information and the one or more shared storage nodes store historic state information associated with every block of the blockchain as a historic state tree, and wherein the historic state tree includes key-value pairs (KVPs) with values being account states of accounts associated with the blockchain network and keys being hash values of the corresponding account states;

obtaining, by the consensus node, a hash value corresponding to the account state stored in the historic state tree;

sending, by the consensus node, the hash value to the one of the one or more shared storage nodes for retrieving the account state stored in the historic state tree;

receiving, by the consensus node, the account state in response to sending the hash value; and

verifying, by the consensus node, that the account state is part of the blockchain based on the hash value and the historic state tree, and

wherein the blockchain network includes at least f+1 shared storage nodes and no more than 2f+2 consensus nodes, and wherein f is a maximum number of faulty shared storage nodes and consensus nodes that can be tolerated within the blockchain network.

10. The non-transitory, computer-readable storage medium of claim 9 , wherein the one or more shared storage nodes are elected by receiving 2f+1 votes from all 3f+1, 3f+2, or 3f+3 nodes of the blockchain network, and wherein f is the maximum number of faulty shared storage nodes and consensus nodes that can be tolerated within the blockchain.

11. The non-transitory, computer-readable storage medium of claim 9 , wherein a current state tree includes KVPs with values being account sates associated with the current block and keys being node IDs corresponding to nodes of the current state tree and a block ID corresponding to the current block.

12. The non-transitory, computer-readable storage medium of claim 9 , wherein the current state information sent by the consensus node includes a digital signature generated based on a private key associated with the consensus node.

13. The non-transitory, computer-readable storage medium of claim 9 , wherein sending the current state information further comprises sending the current state information and a hash value of the current state information as KVP to the one or more shared storage nodes of the blockchain network.

14. The non-transitory, computer-readable storage medium of claim 9 , wherein verifying that the account state is part of the blockchain is performed based on hashing the account state to generate a hashed account state and comparing the hashed account state to the hash value.

15. The non-transitory, computer-readable storage medium of claim 9 , wherein the one or more shared storage nodes store historic state information locally or on a cloud storage.

16. The non-transitory, computer-readable storage medium of claim 9 , wherein a current state tree and the historic state tree are stored as a fixed depth Merkle tree.

17. 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 one or more operations for communicating shared blockchain data, the operations comprising:

obtaining, by a consensus node of blockchain network, current state information corresponding to an account state associated with one or more transactions of a current block in a blockchain of the blockchain network;

sending, by the consensus node, the current state information associated with the current block of the blockchain to one or more shared storage nodes of the blockchain network, wherein the consensus node stores the current state information and the one or more shared storage nodes store historic state information associated with every block of the blockchain as a historic state tree, and wherein the historic state tree includes key-value pairs (KVPs) with values being account states of accounts associated with the blockchain network and keys being hash values of the corresponding account states;

obtaining, by the consensus node, a hash value corresponding to the account state stored in the historic state tree;

sending, by the consensus node, the hash value to the one of the one or more shared storage nodes for retrieving the account state stored in the historic state tree;

receiving, by the consensus node, the account state in response to sending the hash value; and

verifying, by the consensus node, that the account state is part of the blockchain based on the hash value and the historic state tree; and

wherein the blockchain network includes at least f+1 shared storage nodes and no more than 2f+2 consensus nodes, and wherein f is a maximum number of faulty shared storage nodes and consensus nodes that can be tolerated within the blockchain network.

18. The system of claim 17 , wherein the one or more shared storage nodes are elected by receiving 2f+1 votes from all 3f+1, 3f+2, or 3f+3 nodes of the blockchain network, and wherein f is the maximum number of faulty shared storage nodes and consensus nodes that can be tolerated within the blockchain.

19. The system of claim 17 , wherein a current state tree includes KVPs with values being account sates associated with the current block and keys being node IDs corresponding to nodes of a current state tree and a block ID corresponding to the current block.

20. The system of claim 17 , wherein the current state information sent by the consensus node includes a digital signature generated based on a private key associated with the consensus node.

21. The system of claim 17 , wherein sending the current state information further comprises sending the current state information and a hash value of the current state information as KVP to the one or more shared storage nodes of the blockchain network.

22. The system of claim 17 , wherein verifying that the account state is part of the blockchain is performed based on hashing the account state to generate a hashed account state and comparing the hashed account state to the hash value.

23. The system of claim 17 , wherein the one or more shared storage nodes store historic state information locally or on a cloud storage.

24. The system of claim 17 , wherein a current state tree and the historic state tree are stored as a fixed depth Merkle tree.

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 Apr 14, 2020
From: ZHUO, HAIZHEN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052394/0704 →