US 11,809,453 B2
Two-round byzantine fault tolerant (BFT) state machine replication (SMR) protocol with linear authenticator complexity and optimistic responsiveness
Ittai Abraham, Tel Aviv (IL); Ioan Alin Tomescu Nicolescu, Mountain View, CA (US); Guy Golan Gueta, Holon (IL); Neil Giridharan, Palo Alto, CA (US); and Heidi Howard, Cambridge (GB)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Jun. 4, 2021, as Appl. No. 17/339,068.
Prior Publication US 2022/0391410 A1, Dec. 8, 2022
Int. Cl. G06F 16/27 (2019.01); G06F 16/2453 (2019.01); H04L 9/00 (2022.01); G06F 11/00 (2006.01)
CPC G06F 16/275 (2019.01) [G06F 11/00 (2013.01); G06F 16/24535 (2019.01); G06F 16/27 (2019.01); H04L 9/50 (2022.05)] 21 Claims
OG exemplary drawing
 
15. A computer system acting as a leader replica in a distributed computing system comprising n replicas, the computer system comprising:
a processor; and
a non-transitory computer readable medium having stored thereon program code that, when executed, causes the processor to:
receive, for a current view number of a Byzantine fault tolerant (BFT) state machine replication (SMR) protocol running on the distributed computing system, n-f NEW-VIEW messages from other replicas in the n replicas, wherein f is a maximum number of replicas in the n replicas that may be faulty, and wherein each NEW-VIEW message in the n-f NEW-VIEW messages includes a null or non-null quorum certificate, a view delta value, and a signature share;
select a high quorum certificate from among the non-null quorum certificates in the n-f NEW-VIEW messages, the high quorum certificate being a quorum certificate associated with a highest view number;
convert the view delta value in each NEW-VIEW message into a bit vector, resulting in n-f bit vectors;
combine the n-f bit vectors into a bit vector set;
compute an aggregate signature by multiplying together the signatures shares in the n-f NEW-VIEW messages;
create a PREPARE message that includes the current view number, the high quorum certificate, the bit vector set, and the aggregate signature; and
broadcast the PREPARE message to the n replicas.