VMware, Inc.
Byzantine fault tolerance that supports heterogeneous clients
Last updated:
Abstract:
A replicated service comprises N replicas deployed on compute nodes of a computer network, wherein the replicas are each configured to vote on a proposed transaction output by a leader of the replicas and certify the proposed transaction upon receiving qr*N first votes, where qr is a fractional value between 0 and 1 that represents a quorum required for certification. A method of approving a transaction in the replicated service includes receiving certifications from the replicas, and transmitting an approval of the transaction to the replicas for recording: (i) upon determining that at least qc*N certifications have been received, where qc is a fractional value between 0 and 1 that represents a quorum required for transaction approval and qc>qr, or (ii) upon determining that at least qr*N certifications have been received at the end of the time period equal to 2*.DELTA., where .DELTA. represents a network delay.
Utility
24 Jul 2019
24 May 2022