Benchmarking Push Chain: Scaling with Validator Nodes

Ayush SahuAyush Sahu
5 min read

The Push Chain Network, a Proof-of-Stake (PoS) blockchain designed for consumer-centric applications, brings an innovative approach to scalability and usability in the decentralized space. By leveraging advanced features like dynamic sharding, parallel block execution, and true scalability, Push Chain promises a seamless environment for universal applications.

In this post, we’ll dive into the benchmarking results of Push Chain under varying node configurations. We’ll explore how the network behaves and scales as the number of nodes increases, shedding light on its ability to handle real-world demands.

Node Types and Their Roles

Before we get into the benchmarks, let’s take a closer look at the different types of nodes in the Push Chain Network and their specific responsibilities:

  • Validator Nodes: These are the core of the network, handling transaction validation and serving as the primary interface for client interactions.

  • Storage Nodes: They store validated transactions in a sharded manner, ensuring optimized data access and storage efficiency.

  • Archival Nodes: These maintain a comprehensive record of all network transactions, enabling historical data access and supporting applications like blockchain explorers.

💡 Note: Beyond these high-level roles, nodes in the Push Chain Network take on complex tasks like dynamic sharding, transaction propagation, and ensuring data consistency across the network.


Benchmarking Setup

The benchmarking tests were conducted in a controlled environment with different node configurations to evaluate performance across varying setups. Let’s break down the configurations:

  • Configuration 1: 5 Validator Nodes, 8 Storage Nodes, 5 Archival Nodes — 2 CPU cores allocated.

  • Configuration 2: 10 Validator Nodes, 8 Storage Nodes, 5 Archival Nodes — 4 CPU cores allocated.

  • Configuration 3: 20 Validator Nodes, 8 Storage Nodes, 5 Archival Nodes — 8 CPU cores allocated.

The benchmarks primarily focus on validator nodes since they serve as the gateway for client interactions. However, because validator nodes interact with storage and archival nodes internally, the results reflect the performance of the entire network.

Controlled Environment: All tests were performed in an internal network environment, minimizing network lags or latency and ensuring results reflect the network’s inherent capabilities.

📊 CPU Scaling: The number of CPU cores scales proportionally with the number of validator nodes, mirroring how resources would likely be distributed in a decentralized system.

⚙️ Node Configuration: To maintain consistency, the number of Storage and Archival Nodes remains constant across all configurations, keeping the focus on the performance of Validator Nodes.


Benchmark Results

We ran multiple tests to measure the Push Chain Network’s performance, focusing on validator nodes’ behavior as the number of nodes increased. Each test simulated real-world scenarios with multiple parallel threads to stress-test network capacity and response times.


1. Ping Validator Test

Objective: Measure the round-trip time taken to select and ping a random validator node, simulating basic connectivity under increasing load.

Threads

Config 1

Config 2

Config 3

10

21.72 ms

27.96 ms

26.43 ms

50

296.98 ms

94.45 ms

124.54 ms

100

371.32 ms

137.20 ms

151.44 ms

5000

5608.33 ms

3637.42 ms

3297.24 ms

10000

Errored Out

Errored Out

Errored Out

Observations:

  • As the number of validator nodes increases, the network handles higher traffic more efficiently.

  • Configuration 3 consistently shows the lowest response times, thanks to better load distribution.

  • At 10,000 threads, all configurations errored out, but Configuration 3 demonstrated the highest capacity before hitting the limit.


2. Get Token Validator Test

Objective: Measure the time taken for multiple threads to request an access token from a validator node.

Threads

Config 1

Config 2

Config 3

10

250.46 ms

253.37 ms

170.53 ms

500

4869.79 ms

3645.61 ms

3033.06 ms

5000

62539.38 ms

37642.91 ms

22250.88 ms

Observations:

  • Configuration 3 consistently outperforms others, particularly at higher thread counts.

  • The benefits of increased validator nodes become clearer under heavier loads.


3. Send Transactions to Validator Test

Objective: Measure the time taken for threads to send transactions to validator nodes.

Threads

Config 1

Config 2

Config 3

10

1052.11 ms

726.95 ms

481.58 ms

100

17140.02 ms

14252.35 ms

10992.26 ms

500

Errored Out

Errored Out

Errored Out

Observations:

  • Configuration 3 handles higher transaction volumes before hitting capacity limits.

  • Errors at 250 threads for Config 1 and 500 threads for Config 2 show their scaling limitations.


4. Get Transactions Test

Objective: Measure the time needed to retrieve transaction data for a given blockchain address.

Threads

Config 1

Config 2

Config 3

10

1727.71 ms

949.33 ms

1108.42 ms

500

28982.37 ms

15828.90 ms

15184.05 ms

1000

Errored Out

Errored Out

Errored Out

Observations:

  • Configuration 3 consistently shows better response times under moderate thread counts.

  • Errors at 1000 threads highlight the dependency on storage nodes as a performance bottleneck.


5. Get Push ID Info Test

Objective: Measure the time needed to fetch Push ID information for a given blockchain address.

Threads

Config 1

Config 2

Config 3

10

1589.68 ms

1180.90 ms

1062.32 ms

1000

23817.09 ms

18082.24 ms

15132.23 ms

5000

Errored Out

104845.75 ms

77467.87 ms

Observations:

  • Configuration 3 outperforms across most thread counts, but performance degrades with higher loads due to storage node limitations.

Conclusions

  • Scalability: The Push Chain Network demonstrated significant scalability, with Configuration 3 consistently showing the best performance.

  • Performance Bottlenecks: Timeouts and errors at higher thread counts highlight throughput limits, but the network's potential for increased validator nodes suggests much larger capacity in the future.

  • Real-World Application: These results showcase Push Chain’s readiness for consumer-centric applications, with room for future optimizations in transaction propagation, parallel processing, and sharding.

As Push Chain continues evolving, its ability to scale efficiently while maintaining high performance will be critical for supporting the next generation of decentralized applications. Stay tuned for more updates and deeper dives into the Push Chain ecosystem!

0
Subscribe to my newsletter

Read articles from Ayush Sahu directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ayush Sahu
Ayush Sahu