Dynamic Primary Node Rotation in PBFT Blockchain Consensus

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Practical Byzantine Fault Tolerance (PBFT) consensus mechanism in blockchain systems faces challenges in efficiently changing the primary node without triggering the complex and communication-intensive view change protocol, which can lead to instability and high operational costs.

Innovation Solution

A method where each node in a blockchain system dynamically changes the primary node based on the current height of the blockchain, using a parameter proportional to the blockchain height to determine node roles, allowing for seamless execution of the PBFT normal operation protocol without relying on the view change protocol, thereby reducing communication burdens and ensuring stability and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the view change protocol is used to replace the current primary node, then the system can handle non-functioning nodes, but the communication cost increases to O(N2) and multiple rounds of execution cause instability and disruption

Engineering Contradiction:
Improveability to handle non-functioning nodesVSAvoidcommunication burden and system instability
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system pre-calculates and stores the sequence of primary nodes in advance based on the formula (H + offset) mod N. When a view change is needed, nodes simply switch to the pre-determined next primary node without executing the complex O(N2) view change protocol, thus eliminating communication burden while maintaining reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The primary node assignment becomes dynamic and automatic, changing with each blockchain height H. The formula (H + offset) mod N automatically determines which node becomes primary, eliminating the need for static primary node assignment or complex election protocols

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the view change protocol is triggered frequently to rotate primary nodes, then node rotation is achieved, but operation disruptions and instability increase

Engineering Contradiction:
Improveprimary node rotation capabilityVSAvoidsystem operational stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The primary node changes periodically and predictably based on blockchain height H. The formula (H + offset) mod N creates a regular rotation pattern where each node becomes primary for a predetermined number of blocks, ensuring smooth transitions without disruptions to system stability

Inventive Principle:
Principle #19Periodic action

3Adaptability or versatility

If the view change protocol is executed to replace primary nodes, then node replacement is achieved, but additional communication costs and operational overhead are incurred

Engineering Contradiction:
Improveprimary node replacement capabilityVSAvoidcommunication cost and operational overhead
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system uses the existing blockchain height counter H and basic modulo arithmetic to automatically determine primary node assignment. Nodes independently calculate their own and others' primary status without needing to communicate with each other, eliminating communication costs entirely

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10671599B2Consensus system and method
Publication Date: 2020.06.02 ADVANCED NEW TECHNOLOGIES CO LTD
  • US10671599B2 patent drawing
  • US10671599B2 patent drawing
  • US10671599B2 patent drawing

AI summary

Consensus methods, systems, and apparatus, including computer programs encoded on computer storage media, are provided. One of the methods is to be implemented on a blockchain maintained by a number (N) of nodes. One of the nodes acts as a primary node and the other (N−1) nodes act as backup nodes. The method includes: detecting a change in a current height H of the blockchain; determining the primary node based on a parameter P and the number of nodes N, wherein the parameter P is proportional to the current height H of the blockchain; in response to determining that the one of the N nodes is the primary node, executing a PBFT normal operation protocol as the primary node; and in response to determining that the one of the N nodes is not the primary node, executing the PBFT normal operation protocol as one of the backup nodes.