IP Library Granted Patent US 10,586,210
Granted Patent B2
US 10,586,210 · App. 15/364,363 · Granted Mar 10, 2020

Blockchain checkpoints and certified checkpoints

Inventors: Guerney D. H. Hunt (Yorktown Heights, NY); Lawrence Koved (Pleasantville, NY)
Assignee: International Business Machines Corporation
G06Q10/10G06Q20/223G06Q20/3827H04L67/10
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,586,210
App. No.
15/364,363
Granted
Mar 10, 2020
Kind
B2
Abstract

A certified checkpoint is provided for a ledger comprising a blockchain and a world state. The certified checkpoint enables a third party to recognize and verify that the ledger has integrity, a known starting state, and immutability properties starting at a specific point in time. Certification means that all of the validating peers reached consensus on the state of the ledger at that point in time. Thus, the certified checkpoint state represents an agreed-upon state, and that one or more subsequent operations on the ledger are relative to that agreed-upon state. Preferably, before a checkpoint is certified, it must be consistent, meaning that all validating peers have reached the same value for the checkpoint. Preferably, the checkpoint is a compression of the current blockchain world state into a compact representation (e.g., a hash) of the ledger that based on an agreed-upon consensus protocol is consistent across the (validating) peers.

Claims (32)

1. A method of checkpointing a blockchain in a peer-to-peer distributed network having a set of computing entities, comprising:

at a computing entity, and upon receiving an indication that a first consensus among the set of computing entities has been reached, the first consensus indicating a consensus that a checkpoint between two blocks in the blockchain is to be taken, saving a world state associated with the blockchain;

at the computing entity, generating a compact representation of the saved world state associated with the blockchain; and

at the computing entity, upon receiving an indication that a second consensus among the set of computing entities has been reached, the second consensus indicating a consensus that each of some other of the computing entities in the set has generated the compact representation as a result of saving a respective world state associated with the blockchain, the respective world state saved being a same world state, providing the saved world state as a certified checkpoint.

2. The method as described in claim 1 wherein the compact representation is a hash.

3. The method as described in claim 2 further including saving the hash as a transaction in a next block of the blockchain.

4. The method as described in claim 1 wherein the blockchain is one of: a permissioned blockchain, and a permission-less blockchain.

5. The method as described in claim 1 wherein after the first consensus is reached and before the second consensus is reached, restricting a computing entity from initiating changes to the blockchain and the world state.

6. The method as described in claim 1 wherein the world state is one of: a full world state, a delta world state, and a mix of the full world state and the delta world state.

7. The method as described in claim 1 further including transmitting the checkpoint to a new computing entity that has been joined the peer-to-peer distributed network.

8. An apparatus, comprising:

a processor; and

computer memory holding computer program instructions executed by the processor and configured to checkpoint a blockchain in a peer-to-peer distributed network having a set of computing entities, the computer program instructions comprising:

program code configured to save a world state associated with the blockchain upon receiving an indication that a first consensus among the set of computing entities has been reached, the first consensus indicating a consensus that a checkpoint between two blocks in the blockchain is to be taken;

program code configured to generate a compact representation of the saved world state associated with the blockchain; and

program code configured to provide the saved world state as a certified checkpoint upon receiving an indication that a second consensus among the set of computing entities has been reached, the second consensus indicating a consensus that each of some other of the computing entities in the set has generated the compact representation as a result of saving a respective world state associated with the blockchain, the respective world state saved being a same world state.

9. The apparatus as described in claim 8 wherein the compact representation is a hash.

10. The apparatus as described in claim 8 further including program code configured to save the hash as a transaction in a next block of the blockchain.

11. The apparatus as described in claim 8 wherein the blockchain is one of: a permissioned blockchain, and a permission-less blockchain.

12. The apparatus as described in claim 8 further including program code configured to restrict changes to the blockchain and the world state from being initiated after the first consensus is reached and before the second consensus is reached.

13. The apparatus as described in claim 8 wherein the world state is one of: a full world state, a delta world state, and a mix of the full world state and the delta world state.

14. The apparatus as described in claim 8 further including program code to transmit the checkpoint to a new computing entity that has joined the peer-to-peer distributed network.

15. A computer program product in a non-transitory computer readable medium for use in a data processing system, the computer program product holding computer program instructions which, when executed by the data processing system, are operative to checkpoint a blockchain in a peer-to-peer distributed network having a set of computing entities, the computer program instructions comprising:

program code configured to save a world state associated with the blockchain upon receiving an indication that a first consensus among the set of computing entities has been reached, the first consensus indicating a consensus that a checkpoint between two blocks in the blockchain is to be taken;

program code configured to generate a compact representation of the saved world state associated with the blockchain; and

program code configured to provide the saved world state as a certified checkpoint upon receiving an indication that a second consensus among the set of computing entities has been reached, the second consensus indicating a consensus that each of some other of the computing entities in the set has generated the compact representation as a result of saving a respective world state associated with the blockchain, the respective world state saved being a same world state.

16. The computer program product as described in claim 15 wherein the compact representation is a hash.

17. The computer program product as described in claim 15 further including program code configured to save the hash as a transaction in a next block of the blockchain.

18. The computer program product as described in claim 15 wherein the blockchain is one of: a permissioned blockchain, and a permission-less blockchain.

19. The computer program product as described in claim 15 further including program code configured to restrict changes to the blockchain and the world state from being initiated after the first consensus is reached and before the second consensus is reached.

20. The computer program product as described in claim 15 wherein the world state is one of: a full world state, a delta world state, and a mix of the full world state and the delta world state.

21. The computer program product as described in claim 15 further including program code to transmit the checkpoint to a new computing entity that has joined the peer-to-peer distributed network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2016
From: HUNT, GUERNEY D.H.; KOVED, LAWRENCE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040462/0271 →
Continuity (1)
Related Publication 20180150799A1 · May 31, 2018