Byzantine Fault-Tolerant Consensus Protocol with Lock Mechanisms
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing consensus algorithms in blockchain networks face challenges in achieving safety and liveness when f Byzantine failure nodes are present, requiring a method that ensures consensus formation within a reasonable time and maintains fault tolerance.
Innovation Solution
A consensus building method that involves nodes transmitting specific messages (proposal, acceptance, dismissal, commit, and next round messages) based on predetermined values Q, with lock mechanisms to manage node behaviors and ensure data consistency, allowing the network to operate even with Byzantine failure nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a consensus algorithm is designed to tolerate f Byzantine failure nodes, then the reliability of the blockchain network is improved, but the complexity of the consensus mechanism increases
Solution Approach 1:
The consensus process is divided into distinct phases (proposal phase, voting phase, commit phase) with specific message types for each phase. Nodes progress through these phases sequentially, allowing the complex Byzantine fault tolerance requirements to be managed through structured, modular steps rather than a monolithic complex mechanism.
Solution Approach 2:
The lock mechanism is activated in advance when a node receives a proposal message or an accept message in the same round. This preliminary locking of node behavior prevents subsequent conflicting actions and simplifies the consensus process by pre-establishing constraints before the full voting and commit phases begin.
2Reliability
If the consensus algorithm requires a predetermined number Q of messages to form consensus, then the safety of the consensus is improved, but the time to reach consensus increases
Solution Approach 1:
The value of Q is dynamically determined based on the number of nodes N and the number of Byzantine failures f, specifically Q = (N + f + 1) / 2. This dynamic calculation ensures the minimum necessary threshold for safety while avoiding unnecessarily high thresholds that would slow down consensus. The lock mechanism also dynamically activates based on message reception timing, allowing efficient progression when conditions are met.
3Adaptability or versatility
If nodes are allowed to change their voting behavior freely, then the adaptability of the network is improved, but the safety of consensus is compromised
Solution Approach 1:
The lock mechanism serves as a preliminary counter-action that prevents nodes from changing their voting behavior after receiving proposal or accept messages in the same round. By locking the node's behavior in advance, the system prevents potential safety violations while still allowing nodes to adapt and make decisions during the appropriate phases of the consensus process.
Data Source
AI summary
[Problem] To provide a consensus-forming method suited to instances where an f number of Byzantine faulty nodes are hypothesized in a network comprising a plurality of nodes participating in consensus-forming. Each node is in a wait state (S301), and a proposer 130 for the round is selected by a deterministic calculation. The proposer 130 transmits to each of the nodes a message which includes data subject to consensus-forming. The proposer is considered to have completed proposal by having transmitted, and the other nodes by having received the message (S302). Each of the nodes that received the proposal assesses the validity of the proposal, and if valid, transmits a vote to that effect. If the number of received votes reaches a prescribed value Q, each of the nodes transmits a message accepting the proposal (S303-1). If the number of acceptances received reaches the value Q, each of the nodes transmits a message committing to treating the proposal as consented to and completes the consensus-forming process (S304).