PBFT Consensus Downtime Recovery via Message Quorum Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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 message loss and inconsistency.

Innovation Solution

A method is implemented where the primary node multicasts a pre-prepare message, obtains and stores prepare messages from backup nodes, and then multicasts a commit message, ensuring that a quorum of nodes agree to the messages, allowing for system restart and resumption of consensus verification without causing inconsistent results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If nodes experience downtime or failures in PBFT consensus mechanism, then system reliability is compromised, but continuing consensus process without stored messages would cause inconsistency and require complete restart

Engineering Contradiction:
Improveconsensus consistencyVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by storing prepare messages and pre-prepare messages before node failures occur. The system saves the state of consensus messages in memory during normal operation, so when downtime happens, the stored messages can be recovered and used to continue consensus verification without starting over, thus resolving the contradiction between maintaining consistency and minimizing downtime loss

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements beforehand cushioning by creating a safety mechanism that stores critical consensus messages (prepare messages with node signatures and pre-prepare messages) before potential failures. This cushion of stored data protects the system against downtime and node failures, allowing recovery without complete restart and maintaining both reliability and time efficiency

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Productivity

If all nodes restart from scratch after downtime, then system simplicity is maintained, but productivity decreases due to repeated consensus verification

Engineering Contradiction:
Improveconsensus verification efficiencyVSAvoidmessage storage and recovery mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary action by storing prepare messages and pre-prepare messages during normal operation before downtime occurs. When recovery is needed, these pre-stored messages enable nodes to resume consensus verification from where they left off rather than restarting from scratch, significantly improving productivity without requiring complex external storage systems

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies self-service by having nodes store their own consensus messages in their local memory during operation. The storage and recovery mechanism is integrated into the node's own operations, eliminating the need for external storage systems or complex coordination between nodes for recovery, thus improving efficiency while keeping device complexity manageable

Inventive Principle:
Principle #25Self-service

3Reliability

If the system stores all consensus messages for recovery, then reliability during downtime is improved, but storage resource consumption increases

Engineering Contradiction:
Improvedowntime recovery capabilityVSAvoidstorage resource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies taking out by extracting only the essential consensus messages needed for recovery - specifically prepare messages (containing node signatures and proposed values) and pre-prepare messages - while excluding other redundant message types. This selective extraction provides sufficient reliability for downtime recovery while minimizing storage resource consumption by not saving unnecessary data

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If PBFT consensus mechanism relies on continuous message reception, then normal operation is efficient, but node failures cause message loss and consensus inconsistency

Engineering Contradiction:
Improveconsensus processing speedVSAvoidconsensus safety
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary action by storing prepare messages and pre-prepare messages in memory during normal high-speed consensus operation. This storage preparation ensures that when node failures occur and message reception stops, the system has already captured the necessary state information to maintain consensus safety and recover without inconsistency, thus resolving the contradiction between processing speed and safety

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10938750B2Consensus system downtime recovery
Publication Date: 2021.03.02 ADVANCED NEW TECHNOLOGIES CO LTD
  • US10938750B2 patent drawing
  • US10938750B2 patent drawing
  • US10938750B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for consensus system downtime recovery. One of the methods includes: multicasting a pre-prepare message to at least some of the backup nodes; obtaining (Q-1) or more prepare messages respectively from (Q-1) or more of the backup nodes, wherein the prepare messages each indicate an acceptance of the pre-prepare message by the corresponding backup node; storing the pre-prepare message and the (Q-1) or more prepare messages; multicasting a commit message to at least some of the backup nodes, the commit message indicating that the primary 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 received by the corresponding node.