Flexible Byzantine Fault Tolerance Protocol for Decentralized Consensus
Find Innovative SolutionsGenerate 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
Engineering 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)
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.
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.
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)
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.
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
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.
Data Source
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.


