Blockchain Master Node Change via Epoch Determinism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing Byzantine Fault Tolerance (BFT) consensus mechanisms in blockchain systems are inefficient, leading to delays and increased complexity when changing master nodes, particularly due to concurrent master changing requests from backup nodes, which can cause ballot allocation problems and hinder the efficiency of the consensus process.
Innovation Solution
A method and apparatus that generate a random number at each backup node to determine if an epoch change is needed, sending an epoch change request message to other nodes only if the random number satisfies a trigger condition, using a verifiable random function algorithm to ensure the new master node is selected efficiently, thereby reducing the probability of concurrent requests and improving the master changing process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If multiple backup nodes concurrently initiate master changing requests when the current master node fails, then the system can quickly respond to master node failure, but ballot allocation problems occur and master changing efficiency decreases
Solution Approach 1:
The system pre-assigns epoch numbers to backup nodes in advance according to their node identifiers. When master node failure occurs, each backup node can immediately determine whether it should initiate master changing based on its pre-assigned epoch and the current system state, eliminating the need for concurrent random selections and ballot allocation processes.
Solution Approach 2:
The patent changes the parameter selection mechanism from random selection to deterministic selection based on node identifiers and epoch numbers. By using the node identifier as a parameter to determine the epoch, the system transforms the master changing initiation process from a probabilistic concurrent access problem into a deterministic sequential process.
2Adaptability or versatility
If a random selection mechanism is used for backup nodes to contend for master node, then fairness is improved, but ballot allocation problems and system complexity increase
Solution Approach 1:
The system replaces the random selection parameter with a deterministic parameter based on node identifiers and epoch numbers. Each backup node can independently calculate its assigned epoch using its node identifier, creating a fair and deterministic selection mechanism that eliminates the complexity of random selection and ballot allocation.
Solution Approach 2:
The epoch number acts as an intermediary parameter that mediates between the node identifier and the master changing initiation decision. Instead of directly comparing node identifiers or using random selection, the system introduces the epoch concept as an intermediate step that simplifies the decision-making process.
Data Source
AI summary
Implementations of this specification provide a method and an apparatus for changing a master node in a blockchain system. An example method performed by a backup node in the blockchain system includes determining that an epoch change is to occur in a blockchain system, generating a random number, and in response to determining that the random number satisfies an epoch change trigger condition, sending an epoch change request message to multiple network nodes other than the backup node in the blockchain system. The backup node receives a request acknowledgement message from at least one of the multiple network nodes, the request acknowledgement message indicating that the backup node is to serve as the new master node, and in response to receiving a number of request acknowledgement messages that is greater than a predetermined number of messages, the backup node sends an epoch change acknowledgement message to the multiple network nodes.


