Consensus Recovery via Pre-Selected Backup Instances
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing consensus process in blockchain node clusters is inefficient in recovering from primary node failures, leading to prolonged interruptions in consensus processes due to the need for re-voting and extensive information exchange.
Innovation Solution
Implementing a method where nodes jointly run multiple instances, allowing for the direct selection of a target instance with higher throughput to replace a failed primary instance, thereby reducing communication complexity and accelerating the recovery of the consensus process without the need for re-voting.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a contention-based vote manner is used to select a new primary node after primary node failure, then the system maintains byzantine fault tolerance through proper node selection, but the consensus process is interrupted for a prolonged period due to extensive information exchange between nodes
Solution Approach 1:
The system pre-selects candidate primary nodes and prepares backup instances before failure occurs. When the primary node fails, the system can immediately activate a pre-prepared backup instance without needing to conduct a full contention-based vote, thus maintaining reliability while significantly reducing recovery time
Solution Approach 2:
The system divides the node cluster into multiple independent instances with designated primary and backup roles. Each instance can operate semi-independently, allowing the backup instance to take over immediately upon primary failure without requiring all nodes to participate in a lengthy consensus vote, thereby reducing interruption time while maintaining system reliability
2Productivity
If nodes jointly run multiple instances with different primary nodes, then the system improves failure recovery efficiency by avoiding re-voting, but the device complexity increases due to managing multiple instances
Solution Approach 1:
Each node in the cluster is designed to universally run multiple instances with different primary node assignments. This multi-functionality allows any node to serve as a backup for different primary nodes, improving failure recovery efficiency while the standardized instance design helps manage complexity through reuse and consistency across the system
3Reliability
If a large quantity of nodes are used in the node cluster to enhance security and byzantine fault tolerance, then the system achieves higher reliability, but the communication complexity and time required for contention-based voting increases significantly
Solution Approach 1:
The system segments the large node cluster into multiple instances, each with a smaller subset of nodes. This segmentation reduces the communication complexity within each instance while maintaining overall system reliability through the distributed nature of multiple instances. The primary node failure only affects one instance, isolating the impact and reducing the scope of required communications for recovery
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
Embodiments of this application provide a consensus process recovery method and a related node. The method is applied to a node cluster. The node cluster includes a plurality of nodes, and the plurality of nodes jointly run a plurality of instances. For each instance, one of the plurality of nodes serves as a primary node of the instance, and remaining nodes serve as backup nodes of the instance. A plurality of primary nodes corresponding to the plurality of instances are different nodes. The method includes: determining, by one or more of the plurality of nodes, a target instance from one or more secondary instances, where a throughput of the target instance is higher than a throughput of a primary instance; and reaching, by a first node and all second nodes, a consensus to replace the primary instance with the target instance as a new primary instance, where the second nodes are backup nodes running the target instance, and the first node is a primary node running the target instance. According to the method in the embodiments of this application, a problem that a consensus process recovery speed is relatively low after a primary node fails in a consistency processing process can be resolved.