US 11,960,502 B2
Byzantine fault tolerance protocol for backing up blockchains
Ittai Abraham, Herzliya (IL); Guy Gueta, Herzliya (IL); Igor Golikov, Herzliya (IL); Toly Kournik, Herzliya (IL); and Tsvetomir Dimitrov, Sofia (BG)
Assigned to VMware LLC, Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Dec. 17, 2021, as Appl. No. 17/555,053.
Prior Publication US 2023/0195750 A1, Jun. 22, 2023
Int. Cl. G06F 16/20 (2019.01); G06F 11/14 (2006.01); G06F 16/27 (2019.01)
CPC G06F 16/273 (2019.01) [G06F 11/1451 (2013.01); G06F 2201/80 (2013.01)] 21 Claims
OG exemplary drawing
 
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.