Byzantine fault tolerance protocol for backing up blockchains

US11960502B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11960502-B2
Application numberUS-202117555053-A
CountryUS
Kind codeB2
Filing dateDec 17, 2021
Priority dateDec 17, 2021
Publication dateApr 16, 2024
Grant dateApr 16, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In some embodiments, a method sends first messages that request first information for a set of blocks of the blockchain to the N replicas. Each replica maintains a respective instance of the blockchain. Second messages is received from at least a portion of the N replicas. The second messages include the first information for the set of blocks from each respective instance of the blockchain that is maintained by the N replicas. The method analyzes the first information to determine whether a consensus on the first information is reached by a number of replicas. When consensus is reached, a request is sent to a replica for one or more blocks to back up to a backup blockchain and second information is received for the one or more blocks from the replica. The method uses the second information to back up the one or more blocks in the backup blockchain.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for using a backup client to back up a blockchain in a state machine replication system comprising N replicas, the method comprising: sending a plurality of first messages that request first information, the first information including identification information for a set of blocks of the blockchain to the N replicas, wherein each replica in the N replicas maintains a respective instance of the blockchain; receiving a plurality of second messages from at least a portion of the N replicas, the plurality of second messages including the first information for the set of blocks from each respective instance of the blockchain that is maintained by the at least the portion of the N replicas; analyzing the first information from the plurality of second messages to determine whether a consensus on the first information included in the plurality of second messages is reached by a number of replicas; when consensus is reached, sending to a replica a request that identifies, using the identification information, one or more blocks to back up to a backup blockchain; receiving second information, that is stored, for the one or more blocks in the respective instance of the blockchain from the replica; and using the second information to back up the one or more blocks in the backup blockchain. 2. The method of claim 1 , further comprising: before sending the plurality of first messages, receiving a plurality of third messages from the at least the portion of the N replicas, wherein the plurality of third messages indicate a state of each respective instance of the blockchain that is stored by the N replicas; and analyzing the plurality of third messages to determine whether a consensus on the state is reached by the number of replicas. 3. The method of claim 2 , wherein the plurality of third messages are received based on sending of a plurality of fourth messages, wherein the plurality of fourth messages request the state of each respective instance of the blockchain from the N replicas. 4. The method of claim 2 , further comprising: when the consensus on the state is reached, determining whether the backup blockchain needs to be updated based on the state of each respective instance of the blockchain that is received in the plurality of third messages. 5. The method of claim 4 , wherein the backup blockchain needs to be updated when the backup blockchain is missing a block from respective instances of the blockchain that are stored on the number of replicas. 6. The method of claim 1 , wherein the backup blockchain is stored in storage external to the N replicas, the method comprising: restoring a block from the backup blockchain to a respective instance of the blockchain that is maintained by a replica. 7. The method of claim 1 , further comprising: when the block is stored in the backup blockchain, communicating a status of the backup blockchain to the replica to allow the replica to delete a block in the blockchain, wherein the blockchain is stored by the replica. 8. A non-transitory computer-readable storage medium containing instructions for using a backup client to back up a blockchain in a state machine replication system comprising N replicas, wherein the instructions, when executed, control a computer system to be operable for: sending a plurality of first messages that request first information, the first information including identification information for a set of blocks of the blockchain to the N replicas, wherein each replica in the N replicas maintains a respective instance of the blockchain; receiving a plurality of second messages from at least a portion of the N replicas, the plurality of second messages including the first information for the set of blocks from each respective instance of the blockchain that is maintained by the at least the portion of the N replicas; analyzing the first information from the plurality of second messages to determine whether a consensus on the first information included in the plurality of second messages is reached by a number of replicas; when consensus is reached, sending to a replica a request that identifies, using the identification information, one or more blocks to back up to a backup blockchain; receiving second information, that is stored, for the one or more blocks in the respective instance of the blockchain from the replica; and using the second information to back up the one or more blocks in the backup blockchain. 9. The non-transitory computer-readable storage medium of claim 8 , further operable for: before sending the plurality of first messages, receiving a plurality of third messages from the at least the portion of the N replicas, wherein the plurality of third messages indicate a state of each respective instance of the blockchain that is stored by the N replicas; and analyzing the plurality of third messages to determine whether a consensus on the state is reached by the number of replicas. 10. The non-transitory computer-readable storage medium of claim 9 , wherein the plurality of third messages are received based on sending of a plurality of fourth messages, wherein the plurality of fourth messages request the state of each respective instance of the blockchain from the N replicas. 11. The non-transitory computer-readable storage medium of claim 9 , further operable for: when the consensus on the state is reached, determining whether the backup blockchain needs to be updated based on the state of each respective instance of the blockchain that is received in the plurality of third messages. 12. The non-transitory computer-readable storage medium of claim 11 , wherein the backup blockchain needs to be updated when the backup blockchain is missing a block from respective instances of the blockchain that are stored on the number of replicas. 13. The non-transitory computer-readable storage medium of claim 9 , wherein the backup blockchain is stored in storage external to the N replicas, and the instructions are further operable for: restoring a block from the backup blockchain to a respective instance of the blockchain that is maintained by a replica. 14. The non-transitory computer-readable storage medium of claim 9 , further operable for: when the block is stored in the backup blockchain, communicating a status of the backup blockchain to the replica to allow the replica to delete a block in the blockchain, wherein the blockchain is stored by the replica. 15. An apparatus for using a backup client to back up a blockchain in a state machine replication system comprising N replicas, the apparatus comprising: one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be operable for: sending a plurality of first messages that request first information that includes identification information for a set of blocks of the blockchain to the N replicas, wherein each replica in the N replicas maintains a respective instance of the blockchain; receiving a plurality of second messages from at least a portion of the N replicas including the first information for the set of blocks from each respective instance of the blockchain that is maintained by the at least the portion of the N replicas; analyzing the first information from the plurality of second messages to determine whether a consensus on the first information included in the plurality of second messages is reached by a number of replicas; when consensus is reached, sending a request to a replica that identifies one or more block

Assignees

Inventors

Classifications

  • G06F16/273Primary

    Asynchronous replication or reconciliation · CPC title

  • by selection of backup contents · CPC title

  • Database-specific techniques · CPC title

  • for networked environments · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11960502B2 cover?
In some embodiments, a method sends first messages that request first information for a set of blocks of the blockchain to the N replicas. Each replica maintains a respective instance of the blockchain. Second messages is received from at least a portion of the N replicas. The second messages include the first information for the set of blocks from each respective instance of the blockchain tha…
Who is the assignee on this patent?
Vmware Inc, VMware LLC
What technology area does this patent fall under?
Primary CPC classification G06F16/273. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 16 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).