Backup Node Consensus Recovery via Message Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The Practical Byzantine Fault Tolerance (PBFT) consensus mechanism in distributed systems, such as blockchain, faces challenges in maintaining consensus and liveness when nodes experience downtime or failures, leading to potential inconsistencies and system crashes.
Innovation Solution
A method is implemented where backup nodes in a blockchain system store pre-prepare and prepare messages, allowing for efficient recovery and resumption of consensus verification processes after disruptions, ensuring that only essential messages are stored to minimize resource consumption and maintain consensus integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all consensus messages are stored in memory to ensure consistency after node restart, then system reliability is improved, but resource consumption and storage demands increase significantly
Solution Approach 1:
The patent extracts only the essential consensus messages (pre-prepare and prepare messages) from the complete set of consensus messages, storing only what is necessary to recover consensus state after node failure. This selective extraction reduces storage requirements while maintaining the ability to restore consistent consensus state.
Solution Approach 2:
The patent performs preliminary actions by pre-storing essential consensus messages in persistent storage before node failure occurs. This allows the node to quickly recover consensus state without needing to retrieve all messages from other nodes after failure, reducing both storage demands and recovery time.
2Reliability
If nodes store comprehensive consensus messages for full recovery capability, then consensus integrity is maintained, but system complexity and resource usage increase
Solution Approach 1:
The patent identifies and extracts only the critical message types (pre-prepare and prepare messages) needed for consensus recovery, eliminating the need to store and manage all message types. This reduces system complexity while preserving consensus integrity through selective message retention.
Solution Approach 2:
The patent applies different storage strategies to different message types based on their importance for consensus recovery. Essential messages are stored in persistent storage with high reliability, while non-essential messages are handled differently, creating a differentiated storage quality approach that reduces overall system complexity.
3Quantity of substance
If nodes restart without stored messages, then resource consumption is minimized, but consensus recovery time increases and inconsistency risk rises
Solution Approach 1:
The patent performs preliminary storage of essential consensus messages in persistent storage before node failure occurs. This preliminary action enables rapid recovery after restart by allowing nodes to load pre-stored messages directly, significantly reducing recovery time while maintaining low resource consumption during normal operation.
Solution Approach 2:
The patent enables nodes to serve themselves during recovery by loading pre-stored consensus messages from their own persistent storage, eliminating the need to request and receive messages from other nodes. This self-service approach minimizes both recovery time and network resource consumption.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for consensus system downtime recovery. One of the methods includes: obtaining a pre-prepare message from the primary node; multicasting a prepare message indicating an acceptance of the pre-prepare message to at least some of the primary node and the other (N−2) backup nodes; obtaining (Q−1) or more prepare messages respectively from (Q−1) or more of the backup nodes; storing the pre-prepare message and the (Q−1) or more prepare messages; multicasting a commit message to at least some of the primary node and the other backup nodes, the commit message indicating that the one backup node agrees to the (Q−1) or more prepare messages; and obtaining, respectively from Q or more nodes among the primary node and the backup nodes, Q or more commit messages each indicating that the corresponding node agrees to (Q−1) or more prepare messages.


