IP Library Granted Patent US 12,248,496
Granted Patent B2
US 12,248,496 · App. 18/480,856 · Granted Mar 11, 2025

Two-round byzantine fault tolerant (BFT) state machine replication (SMR) protocol with linear authenticator complexity and optimistic responsiveness

Inventors: Ittai Abraham (Tel Aviv, IL); Ioan Alin Tomescu Nicolescu (Mountain View, CA); Guy Golan Gueta (Holan, IL); Neil Giridharan (Palo Alto, CA); Heidi Howard (Cambridge, GB)
Assignee: VMware LLC
G06F16/275G06F11/00G06F16/24535G06F16/27H04L9/3255H04L9/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 12,248,496
App. No.
18/480,856
Granted
Mar 11, 2025
Kind
B2
Abstract

The present disclosure is directed to a leader-based partially synchronous BFT SMR protocol that improves upon existing protocols by exhibiting two rounds of communication latency, linear authenticator complexity, and optimistic responsiveness. This is achieved through the novel use of an aggregate signature scheme as part of the protocol's view-change procedure.

Claims (80)

1. A method for implementing a Byzantine fault tolerant (BFT) state machine replication (SMR) protocol running on a computing system comprising n replicas, the method comprising:

determining, by a replica in the n replicas, that a leader replica of a current view number of the BFT SMR protocol is faulty;

incrementing, by the replica, the current view number by one;

computing, by the replica, a view delta value corresponding to a delta between the current view number and a view number associated with a quorum certificate of the replica;

computing, by the replica, a signature share by:

calculating a hash of the current view number; and

raising the hash by an exponent that is based on the view delta value;

creating, by the replica, a NEW-VIEW message that includes the current view number, the quorum certificate, the view delta value, and the signature share; and

transmitting, by the replica, the NEW-VIEW message to a new leader replica of the current view number.

2. The method of claim 1 wherein the exponent is computed as Π j=1, . . . ,t b j ·sk j , wherein t is a number of bits used to represent the view delta value in binary form, wherein b j is a jth bit of the view delta value in binary form, and wherein sk j for j=1, . . . , t corresponds to a set of secret keys of the replica.

3. The method of claim 1 further comprising, by the new leader replica:

receiving n−ƒ NEW-VIEW messages from other replicas in the n replicas, ƒ being a maximum number of replicas in the n replicas that may be faulty;

selecting a high quorum certificate from among the quorum certificates in the n−ƒ NEW-VIEW messages, the high quorum certificate being a quorum certificate associated with a highest view number;

converting the view delta value in each NEW-VIEW message into a bit vector, resulting in n−ƒ bit vectors;

combining the n−ƒ bit vectors into a bit vector set;

computing an aggregate signature by multiplying together the signatures shares in the n−ƒ NEW-VIEW messages;

creating a PREPARE message that includes the current view number, the high quorum certificate, the bit vector set, and the aggregate signature; and

broadcasting the PREPARE message to the n replicas.

4. The method of claim 1 further comprising, upon receiving a PREPARE message from the new leader replica:

determining that the quorum certificate is associated with a higher view number than a high quorum certificate included in the PREPARE message; and

attempting to verify an aggregate signature included in the PREPARE message using the current view number, a bit vector set, and a plurality of public keys associated with replicas that originally transmitted in the n−ƒ NEW-VIEW messages.

5. The method of claim 4 further comprising, upon successfully verifying the aggregate signature:

accepting the PREPARE message; and

transmitting a PREPARE vote message to the new leader replica that includes a proposal associated with the high quorum certificate included in the PREPARE message.

6. The method of claim 4 wherein, in response to failing to successfully verify the aggregate signature, the replica takes no action on the PREPARE message.

7. The method of claim 1 wherein the BFT SMR protocol exhibits two rounds of communication latency, linear authenticator complexity, and optimistic responsiveness.

8. A non-transitory computer readable storage medium having stored thereon program code executable by a replica in a computing system comprising n replicas, the method implementing a Byzantine fault tolerant (BFT) state machine replication (SMR) protocol running on the computing system and comprising:

determining that a leader replica of a current view number of the BFT SMR protocol is faulty;

incrementing the current view number by one;

computing a view delta value corresponding to a delta between the current view number and a view number associated with a quorum certificate of the replica;

computing a signature share by:

calculating a hash of the current view number; and

raising the hash by an exponent that is based on the view delta value;

creating a NEW-VIEW message that includes the current view number, the quorum certificate, the view delta value, and the signature share; and

transmitting the NEW-VIEW message to a new leader replica of the current view number.

9. The non-transitory computer readable storage medium of claim 8 wherein the exponent is computed as Π j=1, . . . ,t b j ·sk j , wherein t is a number of bits used to represent the view delta value in binary form, wherein b j is a jth bit of the view delta value in binary form, and wherein sk j for j=1, . . . , t corresponds to a set of secret keys of the replica.

10. The non-transitory computer readable storage medium of claim 8 wherein the new leader replica:

receives n−ƒ NEW-VIEW messages from other replicas in the n replicas, ƒ being a maximum number of replicas in the n replicas that may be faulty;

selects a high quorum certificate from among the quorum certificates in the n−ƒ NEW-VIEW messages, the high quorum certificate being a quorum certificate associated with a highest view number;

converts the view delta value in each NEW-VIEW message into a bit vector, resulting in n−ƒ bit vectors;

combines the n−ƒ bit vectors into a bit vector set;

computes an aggregate signature by multiplying together the signatures shares in the n−ƒ NEW-VIEW messages;

creates a PREPARE message that includes the current view number, the high quorum certificate, the bit vector set, and the aggregate signature; and

broadcasts the PREPARE message to the n replicas.

11. The non-transitory computer readable storage medium of claim 8 wherein the method further comprises, upon receiving a PREPARE message from the new leader replica:

determining that the quorum certificate is associated with a higher view number than a high quorum certificate included in the PREPARE message; and

attempting to verify an aggregate signature included in the PREPARE message using the current view number, a bit vector set, and a plurality of public keys associated with replicas that originally transmitted in the n−ƒ NEW-VIEW messages.

12. The non-transitory computer readable storage medium of claim 11 wherein the method further comprises, upon successfully verifying the aggregate signature:

accepting the PREPARE message; and

transmitting a PREPARE vote message to the new leader replica that includes a proposal associated with the high quorum certificate included in the PREPARE message.

13. The non-transitory computer readable storage medium of claim 11 wherein, in response to failing to successfully verify the aggregate signature, the replica takes no action on the PREPARE message.

14. The non-transitory computer readable storage medium of claim 8 wherein the BFT SMR protocol exhibits two rounds of communication latency, linear authenticator complexity, and optimistic responsiveness.

15. A computer system acting as a 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:

determine that a leader replica of a current view number of the BFT SMR protocol is faulty;

increment the current view number by one;

compute a view delta value corresponding to a delta between the current view number and a view number associated with a quorum certificate of the computer system;

compute a signature share by:

calculating a hash of the current view number; and

raising the hash by an exponent that is based on the view delta value;

create a NEW-VIEW message that includes the current view number, the quorum certificate, the view delta value, and the signature share; and

transmit the NEW-VIEW message to a new leader replica of the current view number.

16. The computer system of claim 15 wherein the exponent is computed as Π j=1, . . . ,t b j ·sk j , wherein t is a number of bits used to represent the view delta value in binary form, wherein b j is a jth bit of the view delta value in binary form, and wherein sk j for j=1, . . . , t corresponds to a set of secret keys of the replica.

17. The computer system of claim 15 wherein the new leader replica:

receives n−ƒ NEW-VIEW messages from other replicas in the n replicas, ƒ being a maximum number of replicas in the n replicas that may be faulty;

selects a high quorum certificate from among the quorum certificates in the n−ƒ NEW-VIEW messages, the high quorum certificate being a quorum certificate associated with a highest view number;

converts the view delta value in each NEW-VIEW message into a bit vector, resulting in n−ƒ bit vectors;

combines the n−ƒ bit vectors into a bit vector set;

computes an aggregate signature by multiplying together the signatures shares in the n−ƒ NEW-VIEW messages;

creates a PREPARE message that includes the current view number, the high quorum certificate, the bit vector set, and the aggregate signature; and

broadcasts the PREPARE message to the n replicas.

18. The computer system of claim 15 wherein the program code further causes the processor to, upon receiving a PREPARE message from the new leader replica:

determine that the quorum certificate is associated with a higher view number than a high quorum certificate included in the PREPARE message; and

attempt to verify an aggregate signature included in the PREPARE message using the current view number, a bit vector set, and a plurality of public keys associated with replicas that originally transmitted in the n−ƒ NEW-VIEW messages.

19. The computer system of claim 18 wherein the program code further causes the processor to, upon successfully verifying the aggregate signature:

accept the PREPARE message; and

transmit a PREPARE vote message to the new leader replica that includes a proposal associated with the high quorum certificate included in the PREPARE message.

20. The computer system of claim 18 wherein, in response to failing to successfully verify the aggregate signature, the processor takes no action on the PREPARE message.

21. The computer system of claim 15 wherein the BFT SMR protocol exhibits two rounds of communication latency, linear authenticator complexity, and optimistic responsiveness.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2023
From: ABRAHAM, ITTAI; NICOLESCU, IOAN ALIN TOMESCU; GUETA, GUY GOLAN; GIRIDHARAN, NEIL; HOWARD, HEIDI
To: VMWARE INC.
Reel/Frame 065123/0657 →