Benchmarking Push Chain: Scaling with Validator Nodes


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!
Subscribe to my newsletter
Read articles from Ayush Sahu directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
