IP Library Granted Patent US 11,645,270
Granted Patent B2
US 11,645,270 · App. 17/079,861 · Granted May 9, 2023

Blockchain backup and recovery

Inventors: Bryan Nobuhara (Brooklyn, NY); Robert Christensen (Brooklyn, NY)
Assignee: Coinbase, Inc.
G06F16/2379G06F9/54G06F16/9566H04L9/0643H04L9/3236H04L67/10H04L67/1095G06Q10/06315H04L9/50
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 11,645,270
App. No.
17/079,861
Granted
May 9, 2023
Kind
B2
Abstract

In an embodiment, a method comprises performing a first synchronization operation for a blockchain node of a plurality of blockchain nodes of a blockchain network, the first synchronization operation comprising the blockchain node receiving blockchain history data from one or more blockchain nodes of the plurality of blockchain nodes of the blockchain network and storing the blockchain history data in one or more digital data repositories; determining that the blockchain history data satisfies one or more validation criteria; creating a new blockchain node of the blockchain network, the new blockchain node configured to retrieve the blockchain history data from the one or more digital data repositories and replicate the blockchain history data for the new blockchain node, the new blockchain node existing in an unsynchronized state; performing a second synchronization operation for the new blockchain node of the blockchain network, the second synchronization operation comprising the new blockchain node receiving blockchain update data from one or more blockchain nodes of the plurality of blockchain nodes of the blockchain network resulting in converting the new blockchain node to a synchronized state.

Claims (49)

1. A computer-implemented method comprising:

performing a first synchronization operation for a blockchain node of a plurality of blockchain nodes of a blockchain network, the first synchronization operation comprising the blockchain node retrieving blockchain history data from one or more blockchain nodes of the plurality of blockchain nodes of the blockchain network and storing the blockchain history data in one or more off-chain databases;

in response to creating a new blockchain node of the blockchain network subsequent to the storage of the blockchain history data and determining that the blockchain history data satisfies one or more validation; criteria, retrieving the blockchain history data from the one or more off-chain databases and replicating the blockchain history data for the new blockchain node, in lieu of retrieving the blockchain history data from one or more blockchain nodes for replication for the new blockchain node; and

updating the new blockchain node with blockchain update data by retrieving the blockchain update data from one or more blockchain nodes of the plurality of blockchain nodes of the blockchain network, wherein the updating of the new blockchain node converts the new blockchain node to a synchronized state from an unsynchronized state of the new blockchain node that existed subsequent to the replication of the blockchain history data for the new blockchain node.

2. The method of claim 1 , wherein the blockchain history data comprises a plurality of blocks that represent a history of blocks of the blockchain network.

3. The method of claim 1 , wherein the one or more validation criteria comprises at least one of:

determining that the blockchain history data is executable and non-corrupt;

determining that the blockchain history data is updatable by a blockchain node; or

determining that the blockchain history data is stored in a predetermined format.

4. The method of claim 1 , further comprising:

in response to determining that the blockchain history data satisfies the one or more validation criteria, setting a state of the blockchain history data to valid,

wherein the new blockchain node of the blockchain network is configured to restrict the retrieval of the blockchain history data from one or more blockchain nodes in response to determining that the state of the blockchain history data is set to valid.

5. The method of claim 1 , wherein the unsynchronized state of the new blockchain node of the blockchain network indicates that the new blockchain node is not up to date with respect to the blockchain network.

6. The method of claim 1 , wherein the blockchain update data comprises one or more blocks of a blockchain maintained by the blockchain network that, when combined with the blockchain history data, convert the new blockchain node to the synchronized state.

7. The method of claim 1 , wherein the synchronized state of the new blockchain node of the blockchain network indicates that the new blockchain node is up to date with respect to the blockchain network.

8. The method of claim 1 , further comprising:

creating an additional blockchain node of the blockchain network, the additional blockchain node configured to retrieve the blockchain history data from the one or more off-chain databases and replicate the blockchain history data for the additional blockchain node; and

performing a second synchronization operation for the additional blockchain node of the blockchain network, the second synchronization operation comprising the additional blockchain node receiving blockchain update data from one or more blockchain nodes of the plurality of blockchain nodes of the blockchain network resulting in converting the additional blockchain node to the synchronized state.

9. A computer system comprising:

one or more processors; and

one or more memories storing instructions which, when executed by the one or more processors, cause operations comprising:

performing a first synchronization operation for a blockchain node of a plurality of blockchain nodes of a blockchain network, the first synchronization operation comprising the blockchain node retrieving blockchain history data from one or more blockchain nodes of the plurality of blockchain nodes of the blockchain network and storing the blockchain history data in one or more off-chain databases;

in response to creating a new blockchain node of the blockchain network subsequent to the storage of the blockchain history data and determining that the blockchain history data satisfies one or more validation; criteria, retrieving the blockchain history data from the one or more off-chain databases and replicating the blockchain history data for the new blockchain node, in lieu of retrieving the blockchain history data from one or more blockchain nodes for replication for the new blockchain node; and

updating the new blockchain node with blockchain update data by retrieving the blockchain update data from one or more blockchain nodes of the plurality of blockchain nodes of the blockchain network, wherein the updating of the new blockchain node converts the new blockchain node to a synchronized state from an unsynchronized state of the new blockchain node that existed subsequent to the replication of the blockchain history data for the new blockchain node.

10. The system of claim 9 , wherein the blockchain history data comprises a plurality of blocks that represent a history of blocks of the blockchain network.

11. The system of claim 9 , wherein the one or more validation criteria comprises at least one of:

determining that the blockchain history data is executable and non-corrupt;

determining that the blockchain history data is updatable by a blockchain node; or

determining that the blockchain history data is stored in a predetermined format.

12. The system of claim 9 , the instructions, when executed by the one or more processors, cause operations comprising:

in response to determining that the blockchain history data satisfies one or more validation criteria, setting a state of the blockchain history data to valid,

wherein the new blockchain node of the blockchain network is configured to restrict the retrieval of the blockchain history data from one or more blockchain nodes in response to determining that the state of the blockchain history data is set to valid.

13. The system of claim 9 , wherein the unsynchronized state of the new blockchain node of the blockchain network indicates that the new blockchain node is not up to date with respect to the blockchain network.

14. The system of claim 9 , wherein the blockchain update data comprises one or more blocks of a blockchain maintained by the blockchain network that, when combined with the blockchain history data, convert the new blockchain node to the synchronized state.

15. The system of claim 9 , wherein the synchronized state of the new blockchain node of the blockchain network indicates that the new blockchain node is up to date with respect to the blockchain network.

16. The system of claim 9 , the instructions, when executed by the one or more processors, cause operations comprising:

creating an additional blockchain node of the blockchain network, the additional blockchain node configured to retrieve the blockchain history data from the one or more off-chain databases and replicate the blockchain history data for the additional blockchain node; and

performing a second synchronization operation for the additional blockchain node of the blockchain network, the second synchronization operation comprising the additional blockchain node receiving blockchain update data from one or more blockchain nodes of the plurality of blockchain nodes of the blockchain network resulting in converting the additional blockchain node to the synchronized state.

17. A non-transitory, computer-readable medium comprising instructions recorded thereon that, when executed by one or more processors, causes operations comprising:

performing a first synchronization operation for a blockchain node of a plurality of blockchain nodes of a blockchain network, the first synchronization operation comprising the blockchain node retrieving blockchain history data from one or more blockchain nodes of the plurality of blockchain nodes of the blockchain network and storing the blockchain history data in one or more off-chain databases;

in response to determining that the blockchain history data satisfies one or more validation criteria, retrieving the blockchain history data from the one or more off-chain databases and replicating the blockchain history data for a new blockchain node of the blockchain network, in lieu of retrieving the blockchain history data from one or more blockchain nodes for replication for the new blockchain node; and

updating the new blockchain node with blockchain update data by retrieving the blockchain update data from one or more blockchain nodes of the plurality of blockchain nodes of the blockchain network, wherein the updating of the new blockchain node converts the new blockchain node to a synchronized state from an unsynchronized state of the new blockchain node that existed subsequent to the replication of the blockchain history data for the new blockchain node.

18. The non-transitory, computer-readable medium of claim 17 , wherein the blockchain history data comprises a plurality of blocks that represent a history of blocks of the blockchain network.

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

in response to determining that the blockchain history data satisfies the one or more validation criteria, setting a state of the blockchain history data to valid,

wherein the new blockchain node of the blockchain network is configured to restrict the retrieval of the blockchain history data from one or more blockchain nodes in response to determining that the state of the blockchain history data is set to valid.

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

creating a new blockchain node of the blockchain network subsequent to the storage of the blockchain history data; and

in response to the creation of the new blockchain node and the determination that the blockchain history data satisfies the one or more validation criteria, retrieving the blockchain history data from the one or more off-chain databases and replicating the blockchain history data for the new blockchain node.

Assignments (4)
MERGER AND CHANGE OF NAME Recorded Sep 14, 2021
From: BISON TRAILS CO.; COINBASE CRYPTO SERVICES, LLC
To: COINBASE CRYPTO SERVICES, LLC
Reel/Frame 057512/0135 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED AT REEL: 054184 FRAME: 0008. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 14, 2021
From: NOBUHARA, BRYAN; CHRISTENSEN, ROBERT
To: BISON TRAILS CO.
Reel/Frame 054992/0764 →
CHANGE OF NAME Recorded Dec 22, 2020
From: BISON TRAILS INC.
To: BISON TRAILS CO.
Reel/Frame 054731/0391 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2020
From: NOBUHARA, BRYAN; CHRISTENSEN, ROBERT
To: BISON TRAILS INC.
Reel/Frame 054184/0008 →
Continuity (2)
Continuation 17078530 · Oct 23, 2020
Related Publication 20220131938A1 · Apr 28, 2022