Blockchain Node Consensus Using Erasure Coding and Epoch Change
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 in large consensus groups.
Innovation Solution
Implementing improved consensus mechanisms that convert transaction requests into erasure code blocks, assign weights to consensus process phases, and use an epoch change process based on weight sums to select a new primary node, while also facilitating 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 network latency increases and bandwidth usage rises due to inefficiency in large consensus groups
Solution Approach 1:
The transaction request is segmented into multiple erasure code blocks that are distributed across different network nodes. This segmentation allows parallel processing of consensus validation across multiple nodes simultaneously, reducing the overall consensus latency while maintaining reliability through the erasure code reconstruction capability.
Solution Approach 2:
The primary node performs preliminary actions by generating erasure code blocks and distributing them to backup nodes before the consensus process begins. This preliminary distribution of encoded data enables backup nodes to immediately validate and reconstruct transactions without waiting for complete data gathering, thereby reducing consensus latency.
2Reliability
If existing BFT mechanisms are used for consensus among network nodes, then fault tolerance is achieved, but network bandwidth usage increases due to redundant data transmission
Solution Approach 1:
Instead of transmitting complete transaction data to all nodes, the system creates erasure code copies (blocks) that are distributed across the network. These coded copies contain sufficient information for reconstruction but use less bandwidth than redundant full data transmissions, reducing energy consumption while maintaining fault tolerance.
Solution Approach 2:
The system changes the parameter representation of transaction data by encoding it into erasure code blocks with specific redundancy ratios. This parameter transformation allows the network to achieve the same fault tolerance level with reduced data transmission volume, thereby lowering bandwidth usage and energy consumption.
3Reliability
If existing BFT mechanisms are used for consensus among network nodes, then consensus agreement is reached, but system complexity increases due to difficulty in recovering from faulty nodes
Solution Approach 1:
The erasure code mechanism enables self-service recovery where the system automatically reconstructs transactions from available erasure code blocks when faulty nodes are detected. This automated reconstruction process reduces the complexity of manual intervention and simplifies the recovery procedure while maintaining consensus agreement.
4Productivity
If erasure code blocks are generated and distributed to backup nodes, then consensus efficiency is improved by reducing bandwidth usage, but message verification complexity increases
Solution Approach 1:
The system implements feedback mechanisms where backup nodes send verification messages back to the primary node indicating whether they successfully validated the erasure code blocks. This feedback loop enables the primary node to track verification status and coordinate reconstruction efforts, improving consensus efficiency while managing verification complexity through structured communication.
Data Source
AI summary
Implementations of the present specification include a computer-implemented method for achieving a consensus among a number of network nodes of a blockchain network. The blockchain network includes a primary node and one or more backup nodes. The method includes receiving a transaction request by the primary node, sending a number of first messages to the backup nodes by the primary node, receiving second messages from the backup nodes by the primary node, reconstructing the transaction request based on data in the second messages by the primary node, sending a third message to the backup nodes by the primary node, and executing the transaction request in response to receiving a predetermined number of third messages.


