IP Library › Granted Patent US 10,713,133
Granted Patent B2
US 10,713,133 · App. 16/005,351 · Granted Jul 14, 2020

Linear view-change BFT

Inventors: Ittai Abraham (Tel Aviv, IL); Dahlia Malkhi (Palo Alto, CA); Guy Golan Gueta (Holon, IL)
Assignee: VMware, Inc.
G06F11/2056G06F11/2023H04L9/3247H04L63/0823H04L67/1097
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,713,133
App. No.
16/005,351
Granted
Jul 14, 2020
Kind
B2
Abstract

Techniques for implementing linear view-change in a Byzantine Fault Tolerant (BFT) protocol running on a distributed system comprising n replicas are provided. According to one set of embodiments, at a time of performing a view-change from a current view number v to a new view number v+1, a replica in the n replicas corresponding to a new proposer for new view number v+1 can generate a PREPARE message comprising a single COMMIT certificate, where the single COMMIT certificate is the highest COMMIT certificate the new proposer is aware of. The new proposer can then transmit the PREPARE message with the single COMMIT certificate to all other replicas in the n replicas.

Claims (32)

1. A method for implementing linear view-change in a Byzantine Fault Tolerant (BFT) protocol running on a distributed system comprising n replicas, wherein no more than f of the n replicas are faulty, and wherein the BFT protocol enables at least 2f+1 of the n replicas to agree on how to sequence execution of a plurality of service operations originating from one or more clients, the method comprising:

at a time of performing a view-change from a current view number v to a new view number v+1 in order to reach consensus on a sequence number for a given service operation:

generating, by a replica in the n replicas corresponding to a new proposer for new view number v+1, a PREPARE message comprising a single COMMIT certificate, the single COMMIT certificate being the highest COMMIT certificate the new proposer is aware of; and

transmitting, by the new proposer, the PREPARE message with the single COMMIT certificate to all other replicas in the n replicas.

2. The method of claim 1 wherein the single COMMIT certificate is one of 2f+1 commit certificates received by the new proposer from other replicas in the n replicas during view number v.

3. The method of claim 1 wherein the single COMMIT certificate is a COMMIT certificated locked by the new proposer during view number v.

4. The method of claim 1 wherein the single COMMIT certificate comprises 2f+1 PREPARE votes for a proposed sequence number for the given service operation, each PREPARE vote including a signed digest of the proposed sequence number.

5. The method of claim 1 wherein, upon receiving the PREPARE message at a replica r, replica r determines whether it already holds a lock on another COMMIT certificate.

6. The method of claim 5 wherein if replica r already holds a lock on another COMMIT certificate, replica r releases the lock if the single COMMIT certificate included in the PREPARE message is higher than said another COMMIT certificate.

7. The method of claim 1 wherein the BFT protocol is Practical BFT and wherein executing the steps of claim 1 result in a linear reduction in communication bit complexity for the view-change over Practical BFT.

8. A non-transitory computer readable storage medium having stored thereon program code embodying a method for implementing linear view-change in a Byzantine Fault Tolerant (BFT) protocol running on a distributed system comprising n replicas, wherein no more than f of the n replicas are faulty, and wherein the BFT protocol enables at least 2f+1 of the n replicas to agree on how to sequence execution of a plurality of service operations originating from one or more clients, the method comprising:

at a time of performing a view-change from a current view number v to a new view number v+1 in order to reach consensus on a sequence number for a given service operation:

generating, by a replica in the n replicas corresponding to a new proposer for new view number v+1, a PREPARE message comprising a single COMMIT certificate, the single COMMIT certificate being the highest COMMIT certificate the new proposer is aware of; and

transmitting, by the new proposer, the PREPARE message with the single COMMIT certificate to all other replicas in the n replicas.

9. The non-transitory computer readable storage medium of claim 8 wherein the single COMMIT certificate is one of 2f+1 commit certificates received by the new proposer from other replicas in the n replicas during view number v.

10. The non-transitory computer readable storage medium of claim 8 wherein the single COMMIT certificate is a COMMIT certificated locked by the new proposer during view number v.

11. The non-transitory computer readable storage medium of claim 8 wherein the single COMMIT certificate comprises 2f+1 PREPARE votes for a proposed sequence number for the given service operation, each PREPARE vote including a signed digest of the proposed sequence number.

12. The non-transitory computer readable storage medium of claim 8 wherein, upon receiving the PREPARE message at a replica r, replica r determines whether it already holds a lock on another COMMIT certificate.

13. The non-transitory computer readable storage medium of claim 12 wherein if replica r already holds a lock on another COMMIT certificate, replica r releases the lock if the single COMMIT certificate included in the PREPARE message is higher than said another COMMIT certificate.

14. The non-transitory computer readable storage medium of claim 8 wherein the BFT protocol is Practical BFT and wherein executing the steps of claim 8 result in a linear reduction in communication bit complexity for the view-change over Practical BFT.

15. A distributed system comprising:

n replicas; and

a non-transitory computer readable medium having stored thereon program code that, when executed, enables the distributed system to implement linear view-change in a Byzantine Fault Tolerant (BFT) protocol running on the distributed system, wherein no more than f of the n replicas are faulty, and wherein the BFT protocol enables at least 2f+1 of the n replicas to agree on how to sequence execution of a plurality of service operations originating from one or more clients, the program code causing the distributed system to:

at a time of performing a view-change from a current view number v to a new view number v+1 in order to reach consensus on a sequence number for a given service operation:

generate, via a replica in the n replicas corresponding to a new proposer for new view number v+1, a PREPARE message comprising a single COMMIT certificate, the single COMMIT certificate being the highest COMMIT certificate the new proposer is aware of; and

transmit, via the new proposer, the PREPARE message with the single COMMIT certificate to all other replicas in the n replicas.

16. The distributed system of claim 15 wherein the single COMMIT certificate is one of 2f+1 commit certificates received by the new proposer from other replicas in the n replicas during view number v.

17. The distributed system of claim 15 wherein the single COMMIT certificate is a COMMIT certificated locked by the new proposer during view number v.

18. The distributed system of claim 15 wherein the single COMMIT certificate comprises 2f+1 PREPARE votes for a proposed sequence number for the given service operation, each PREPARE vote including a signed digest of the proposed sequence number.

19. The distributed system of claim 15 wherein, upon receiving the PREPARE message at a replica r, replica r determines whether it already holds a lock on another COMMIT certificate.

20. The distributed system of claim 19 wherein if replica r already holds a lock on another COMMIT certificate, replica r releases the lock if the single COMMIT certificate included in the PREPARE message is higher than said another COMMIT certificate.

21. The distributed system of claim 15 wherein the BFT protocol is Practical BFT and wherein executing the steps of claim 15 result in a linear reduction in communication bit complexity for the view-change over Practical BFT.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2018
From: ABRAHAM, ITTAI; MALKHI, DAHLIA; GUETA, GUY GOLAN
To: VMWARE INC.
Reel/Frame 046048/0814 →
Continuity (1)
Related Publication 20190377648A1 · Dec 12, 2019
Cited By (2)
US 12,248,496 US 12,681,786