Consortium Blockchain Consensus via Erasure Coding and Merkle Trees
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In consortium blockchain consensus operations, timely receipt of PRE-PREPARE messages by all consensus nodes is critical, but delays can hinder the consensus process, leading to incomplete transaction lists and disrupted operations.
Innovation Solution
Implementing an erasure coding algorithm to split transactions into data fragments corresponding to the number of consensus nodes, constructing Merkle trees, and using VAL and ECHO messages to ensure that even if some nodes miss VAL messages, the complete transaction list can be recovered through parsing ECHO messages from a majority of nodes, allowing the consensus operation to continue.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the consensus primary node sends PRE-PREPARE messages to all consensus backup nodes in the traditional PBFT protocol, then all nodes can receive the proposal, but some nodes may still fail to receive the message timely due to network issues, causing consensus to stall
Solution Approach 1:
The patent segments the transaction list into multiple data fragments using erasure coding, where each fragment is assigned to a different consensus node. This segmentation ensures that even if some nodes miss the PRE-PREPARE message, the complete transaction list can be reconstructed from the fragments received by other nodes, thereby maintaining consensus reliability while reducing delays.
Solution Approach 2:
The patent implements a preliminary action by having the consensus primary node send a notification message to all consensus nodes before sending the PRE-PREPARE message. This notification allows nodes to prepare in advance, and if a node misses the PRE-PREPARE message, it can still participate in consensus by receiving fragments from other nodes that received the notification, thus preventing consensus stalling.
2Reliability
If the system uses traditional message replication in PBFT, then all nodes receive complete transaction data, but network bandwidth consumption increases significantly
Solution Approach 1:
The patent divides the complete transaction list into multiple data fragments using erasure coding and distributes these fragments to different consensus nodes. Instead of every node receiving and processing the complete transaction list, each node only handles its assigned fragment, significantly reducing network bandwidth consumption while ensuring data completeness through the erasure coding property that allows reconstruction from any sufficient subset of fragments.
Solution Approach 2:
The patent applies local quality by having each consensus node verify and process only its locally assigned data fragment rather than the complete transaction list. This localized processing reduces the computational and bandwidth burden on each node while maintaining overall system reliability through the Merkle tree structure that ensures data integrity across all fragments.
3Measurement precision
If the consensus primary node sends complete transaction lists to all nodes, then nodes can verify transactions independently, but network communication overhead increases
Solution Approach 1:
The patent segments the transaction verification process by assigning specific data fragments to specific consensus nodes. Each node verifies only its assigned fragment's integrity using the Merkle tree path provided in the PRE-PREPARE message, rather than verifying the entire transaction list. This segmentation maintains verification accuracy for each node's responsibility while dramatically reducing the message size each node must handle.
Solution Approach 2:
The patent introduces the Merkle tree as an intermediary structure that enables efficient verification. The Merkle root hash in the PRE-PREPARE message serves as a mediator that allows nodes to verify the integrity of their assigned fragments without needing to receive or process the complete transaction list, thus maintaining verification accuracy while reducing communication overhead.
Data Source
Figure 1~2
Figure 3~4
AI summary
The present specification discloses a consensus method and system in a consortium blockchain. The method includes the following: a consensus primary node in a consensus network of the consortium blockchain splits, based on a specified erasure coding algorithm, transactions in a transaction list on which a consensus is to be reached into a plurality of orderly arranged data fragments that have a same quantity as consensus nodes in the consensus network. The consensus primary node constructs a VAL message corresponding to each data fragment based on the plurality of orderly arranged data fragments and a Merkle tree, sends each VAL message to a consensus node corresponding to a sequence of the data fragment in each VAL message, and locally saves a VAL message corresponding to the consensus primary node. Each consensus node in the consensus network constructs an ECHO message, and broadcasts the constructed ECHO message to the consensus network. If a target consensus node in the consensus network does not receive a VAL message corresponding to the target consensus node within a predetermined time period but receives ECHO messages of N-2f consensus nodes, the target consensus node constructs an ECHO message corresponding to the target consensus node.