Byzantine Consensus via Synchronous Virtual Leader

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed systems, particularly asynchronous consensus algorithms like Paxos, are vulnerable to Byzantine failures where a malicious server can cause arbitrary operations, leading to inconsistency and failure to make progress, especially when distinguishing between Byzantine failures and ordinary message delays is difficult.

Innovation Solution

Introducing a synchronous virtual leader algorithm executed by each server, replacing the traditional leader server, which uses a synchronous agreement algorithm to determine the virtual leader's actions, ensuring consistency even in the presence of Byzantine failures, as long as the system behaves synchronously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a traditional leader server is used in asynchronous consensus algorithms, then the system can make progress and maintain operational flow, but the system becomes vulnerable to Byzantine failures where a malicious server can cause arbitrary operations and inconsistency

Engineering Contradiction:
Improvesystem progressVSAvoidconsistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the leader role into multiple virtual leaders distributed across different servers. Instead of having a single centralized leader that could be compromised, the system uses multiple virtual leaders (e.g., Virtual Leader 1, Virtual Leader 2) that are implemented as processes on different physical servers. This segmentation ensures that if one physical server is compromised, the other virtual leaders can still coordinate and maintain system consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces virtual leaders as intermediary entities that mediate between client requests and server execution. These virtual leaders are not physical servers but rather coordinated processes that aggregate proposals from multiple servers and determine the next command to execute. This intermediary layer isolates the Byzantine failure of any single physical server from the overall system consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a synchronous virtual leader algorithm is introduced to replace the traditional leader, then Byzantine failures can be survived and consistency maintained, but the system complexity increases due to the need for synchronous agreement algorithms

Engineering Contradiction:
ImproveconsistencyVSAvoidalgorithm complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes the virtual leader algorithm multi-functional by having each server execute both its normal data processing tasks and the virtual leader coordination protocol. The same server processes that handle client requests also participate in the synchronous agreement algorithm to determine virtual leader actions. This universal participation distributes the complexity across all servers rather than requiring a separate dedicated leader election mechanism.

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

Solution Approach 2:

The patent implements preliminary actions by having servers execute the synchronous agreement algorithm in advance to determine which server will be the virtual leader for the next phase of operations. This preliminary coordination ensures that when the virtual leader needs to propose commands, the decision-making process has already been completed, allowing the system to maintain consistency without adding complexity to the core consensus mechanism.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the system operates in synchronous mode to ensure consistency, then Byzantine failures can be detected and handled, but the system cannot tolerate arbitrary message delays and must maintain strict time bounds

Engineering Contradiction:
ImproveconsistencyVSAvoidmessage delay tolerance
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic operation modes that can switch between synchronous and asynchronous behavior based on system conditions. The virtual leader algorithm can detect when the system is operating synchronously and switch to asynchronous mode when message delays occur or when Byzantine behavior is detected. This dynamic adaptation allows the system to maintain consistency when possible while tolerating delays when necessary.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms where servers monitor the timing and behavior of messages in the system. When servers detect that message delays exceed expected bounds or that certain patterns indicate Byzantine behavior, they provide feedback to the virtual leader algorithm. This feedback enables the system to adjust its operation mode, switching from strict synchronous requirements to more tolerant asynchronous operation while maintaining consistency through the distributed agreement protocol.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7797457B2Leaderless byzantine consensus
Publication Date: 2010.09.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7797457B2 patent drawing
  • US7797457B2 patent drawing
  • US7797457B2 patent drawing

AI summary

The leader server proposing commands or sequences of commands to be executed by a plurality of servers according to an asynchronous consensus algorithm, such as Paxos, is replaced with a synchronous virtual leader agreement algorithm executed by each of the servers. The synchronous agreement algorithm used to determine the virtual leader's actions is called the leader agreement algorithm. The asynchronous consensus agreement algorithm performed by the virtual leader and the servers may be the Paxos algorithm. However, any asynchronous Byzantine agreement algorithm may be used. By replacing the leader in the Paxos consensus algorithm with a synchronous virtual leader agreement algorithm, the Paxos algorithm can survive a Byzantine failure of one or more leader server, as long as the servers are behaving synchronously.