Blockchain Node Recovery with ECHO Messages During BFT Consensus
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Byzantine Fault Tolerance (BFT) mechanisms in distributed blockchain networks are inefficient, leading to increased latency and complexity due to network bottlenecks and the inability to promptly recover from faulty nodes, especially when using round robin methods for leader node changes.
Innovation Solution
Implementing improved consensus mechanisms that convert transaction requests into erasure code blocks, assigning weights to consensus process phases, and using an epoch change process based on weight sums to select a new primary node, while performing a recovery process that does not interfere with normal consensus operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing BFT mechanisms are used for consensus among network nodes, then reliability is maintained through fault tolerance, but latency increases and network efficiency deteriorates due to network bottlenecks and inability to promptly recover from faulty nodes
Solution Approach 1:
The system performs preliminary actions by pre-distributing erasure code blocks to backup nodes before they are needed for consensus. When a primary node fails, the backup nodes already possess the necessary data segments to immediately reconstruct the transaction and achieve consensus, eliminating the need for time-consuming data requests and transfers during failure recovery.
Solution Approach 2:
The transaction data is segmented into multiple erasure code blocks and distributed across different backup nodes. This segmentation allows the system to recover from node failures more efficiently by only needing a threshold number of segments rather than requiring all nodes or complex retransmission protocols, thus reducing latency while maintaining reliability.
2Ease of operation
If round robin methods are used for leader node changes, then simplicity of operation is maintained, but device complexity increases and efficiency decreases due to network bottlenecks and inability to select non-faulty nodes efficiently
Solution Approach 1:
The system implements feedback mechanisms where nodes report their status and the system dynamically adjusts leader selection based on this information. Weighted random selection incorporates feedback about node reliability and performance, allowing the system to preferentially select competent leaders while maintaining operational simplicity through automated decision-making.
Solution Approach 2:
The leader selection mechanism transitions from static round-robin to dynamic weighted random selection, where weights are assigned based on node performance metrics and reliability. This dynamic approach allows the system to adapt to changing conditions, select non-faulty nodes more efficiently, and maintain high productivity while preserving ease of operation through automated weight management.
3Measurement precision
If full transaction data is transmitted among all network nodes for consensus, then measurement precision of consensus state is maintained, but network bandwidth consumption and memory burden increase
Solution Approach 1:
Transaction data is segmented into erasure code blocks and distributed selectively to backup nodes rather than transmitting full transaction data to all nodes. This segmentation reduces network bandwidth consumption and memory burden while maintaining consensus precision, as nodes only need to process and store relevant segments rather than complete transaction datasets.
Solution Approach 2:
Different nodes are assigned different erasure code blocks based on their roles and capabilities. Primary nodes handle transaction initiation and coordination, while backup nodes store specific segments. This local quality assignment optimizes resource utilization, reduces overall network bandwidth consumption, and maintains the precision needed for consensus verification.
Data Source
AI summary
A method for performing a recovery process of a network node of a blockchain network includes broadcasting a state request message by the network node to the other network nodes of the blockchain network to recover a target transaction of a target sequence number, receiving state reply messages that each includes a sequence number from the other network nodes, identifying the target sequence number based on the sequence numbers in the state reply messages, sending a requesting message to the other network nodes to request an ECHO message from each of the other network nodes, determining a number of valid ECHO messages that are sent by the other network nodes, recovering the target transaction based on the number of valid ECHO messages, and sending a message to the other network nodes indicating that the network node has been recovered.


