Flexible Byzantine Fault Tolerance Protocol for Decentralized Consensus

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Byzantine fault tolerant (BFT) protocols are prone to collapse when deployed in settings different from their design assumptions, particularly failing if the fraction of Byzantine faults exceeds certain thresholds, leading to instability in decentralized ledgers and replicated services.

Innovation Solution

A flexible BFT protocol that allows for varied fault and timing assumptions among clients, enabling tolerance of combined Byzantine and alive-but-corrupt faults by separating fault models from protocol design, using mixed fault models and flexible quorums to maintain resilience and liveness, and allowing clients to specify their own fault thresholds and message delay bounds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a BFT protocol uses fixed fault tolerance assumptions (e.g., 1/3 Byzantine fault threshold), then the protocol achieves optimal resilience under those specific conditions, but the protocol collapses when deployed under different settings (e.g., higher fault fractions or different synchrony bounds)

Engineering Contradiction:
Improvefault toleranceVSAvoidadaptability to different fault assumptions
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic adaptability by allowing clients to specify their own fault thresholds and message delay bounds independently. The system dynamically adjusts to different client assumptions rather than imposing a fixed protocol configuration, enabling the same replicated service to serve clients with varying fault tolerance requirements simultaneously.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies local quality by permitting heterogeneous fault assumptions among different clients. Each client can operate with its own fault threshold and timing model tailored to its specific requirements, while the underlying replicated service maintains consistency across all clients despite these local variations in assumptions.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If a BFT protocol imposes homogeneous fault assumptions on all clients, then the protocol maintains simplicity and ease of implementation, but it breaks when the fraction of Byzantine faults exceeds the predetermined threshold (e.g., 1/3 for partially synchronous solutions)

Engineering Contradiction:
Improveprotocol implementation simplicityVSAvoidresilience to Byzantine faults
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent achieves universality by designing a replicated service that can simultaneously serve multiple clients with different fault assumptions. The same service infrastructure handles both clients with 1/3 fault tolerance requirements and clients with higher tolerance requirements, eliminating the need for separate protocol implementations while maintaining reliability across all client types.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If a BFT protocol uses strict synchrony bounds to guarantee safety, then the protocol achieves strong consistency, but it becomes vulnerable to network delay violations and breaks when the synchrony bound is exceeded

Engineering Contradiction:
Improvesafety guaranteeVSAvoidtolerance to network delay variations
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic timing assumptions where clients can specify their own message delay bounds rather than adhering to a fixed synchrony bound. This allows the system to adapt to varying network conditions and tolerate delays that would violate strict synchrony bounds, while still maintaining safety guarantees through client-specific timing models.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12130714B2Flexible byzantine fault tolerance
Publication Date: 2024.10.29 VMWARE INC
  • US12130714B2 patent drawing
  • US12130714B2 patent drawing
  • US12130714B2 patent drawing

AI summary

A method and system for performing a flexible Byzantine fault tolerant (BFT) protocol. The method includes sending, from a client device, a proposed value to a plurality of replica devices and receiving, from at least one of the plurality of replica devices, a safe vote on the proposed value. The replica device sends the safe vote, based on a first quorum being reached, to the client device and each of the other replica devices of the plurality of replica devices. The method further includes determining that a number of received safe votes for the proposed value meets or exceeds a second quorum threshold, selecting the proposed value based on the determination, and setting a period of time within which to receive additional votes. The method further includes, based on the period of time elapsing without receiving the additional votes, committing the selected value for the single view.