Seriously… How Fast Can Solana Blockchain Get?

tldr; It can get really fast as it is only limited by hardware constraints (ie: CPU/GPU, memory & bandwidth). But hey, we can ‘claim’ what we want. Let’s analyse at the real-world TestNet & MainNet Beta Results!

After deep diving into the Solana Docs and the Solana Whitepaper, you start to realise that the Transactions Per Second (TPS) that Solana Blockchain could theoretically handle is immense. Solana is designed to scale with the industry availability of CPU, Memory and Network Bandwidth.

Documented Solana Blockchain Tests

May 2018 – Solana was testing 400,000 TPS on a single node.

Obviously, this is not a distributed real world applicable network test. This was testing their node architecture and were able to get to 400,000 TPS peak. This showed if high-end CPU/GPU & Memory hardware is thrown at Solana, a node is not the bottle-neck of end-to-end TPS.

TPS Report: now processing 250,000 transactions per second on a single-node testnet, peak at 400,000
This release once again increases transaction throughput by 700%, from 35ktps to 250ktps (with peaks up to 400ktps), over the prior release. A big thanks to @sakridge for his GPU implementation of signature verification, which can verify signatures at 870 thousand signatures per second, roughly 20% faster than what’s required for a gigabit network at full-throttle. While we applaud Stephen’s efforts, the team is now heartbroken that we won’t be able to 7x throughput again until we move to a 40 gigabit network.

Single Node TPS Test

October 2019 – Solana TestNet achieves 50,000 TPS with 200 nodes using retail CPU’s.

This was later confirmed to have bandwidth of approx. 100 Mbps.

Jan 2020 – Solana SLP Testnet Goes Live – Confirmed speeds of 9,000 TPS with burst of up to 60,000 TPS.

March 2020 – Solana Testnet reaches 59,400 TPS

Solana TestNet officially becomes “Faster than Visa” as the Visa network peaks at 56,000 TPS.

March 20th, 2020 – MainNet Beta Launch

Amongst lots of fanfare, SOL Binance listings and AirDrops, MainNet Beta dropped in March 2020.

https://twitter.com/cjremus/status/1240740739706994696?s=20

27th May 2020 – TPS Report – 111,609 in controlled lab environment

In an internal Solana lab, the team were able to test the Solana protocols to run at 111k. This is using ideal networking conditions and not comparable to TestNet or Beta environments.

You Want to See the Results for Yourself?

See the Metrics Here!

So… How Fast Can Solana Get ?

As per the Solana Docs, we know that Solana is set to theoretically scale to 710,000 TPS at 1 Gigabit. From the Solana Whitepaper we know how to calculate this also: 1 gigabit per second / 176 bytes = 710k tps max

On a 1 Gigabit Link Solana will Scale to 710,000 TPS

On a 1gbps network connection the maximum number of transactions
possible is 1 gigabit per second / 176 bytes = 710k tps max. Some loss 1−4% is expected due to Ethernet framing.

Solana Whitepaper

This is also backed up by the statement in the Solana Docs,

The architecture describes a theoretical upper bound of 710 thousand transactions per second (tps) on a standard gigabit network and 28.4 million tps on 40 gigabit.

Solana Docs

During May 2018, it was also highlighted from the Solana TPS Report that it is network bandwidth that is the constraint with scaling the Solana Blockchain. The theoretical limits discu

  • Network – 710,000 TPS @ 1 Gbps
  • Computation – 900,000 TPS
  • Memory – 2,750,000 TPS

On a 40 Gigabit Link Solana will Scale to 28.4 Million TPS

What are the number of TPS we will need when dozens, hundreds, or thousands of applications all use Solana as their backend? By belief is that 710k TPS is just the beginning and a growing demand for 28.4m TPS on a 40 gigabit network is just around the corner.

Solana Official Blog

From here we can start to extrapolate the Solana Blockchain theoretical TPS at all typical Network Bandwidth speeds:

Solana BW vs. TPSCalculation
1 Kbps Bandwidth = 45.5 TPS((1,000*8)/176)
1 Mbps Bandwidth = 45.5k TPS((1,000,000*8)/176)
10 Mbps Bandwidth = 454.5k TPS((10,000,000*8)/176)
100 Mbps Bandwidth = 4.5M TPS((100,000,000*8)/176)
1 Gbps Bandwidth = 45.5M TPS((1,000,000,000*8)/176)
10 Gbps Bandwidth = 454.5k TPS((10,000,000,000*8)/176)
100 Gbps Bandwidth = 4.5T TPS((100,000,000,000*8)/176)
1 Tbps Bandwidth = 45.5T TPS((1,000,000,000,000*8)/176)

We can also graph the theoretical Solana TPS calculations and annotate where our real-world testing of TestNet and MainNet Beta are along the logarithmic line.

What Network Bandwidth Can a Solana Node Realistically Get?

Solana was built to scale with industry standard processing, memory and network bandwidth requirements. It was also built to be decentralised.

Solana Nodes can be hosted in AWS, Azure, Google Cloud Datacentres. They have great performance, stability, resources and are building undersea fibre optic cable networks across the world. Within the same AWS VPC, you can hit 4.9 Gbit/sec, which is 3.5 million Solana TPS.

However, hosting Solana Nodes in datacentres exposes the Solana network to risks of centralisaiton. What happens if one of these datacentre providers decides to ban blockchain nodes? What happens if some Cloud Provider change goes wrong and extends a 10 minute outage to 5 hours at Azure? Or the string of 3 Google Cloud outages in 3 weeks, the latest down for 90 minutes.

Solana is Decentralised !

Solana is a decentralisation, meaning that anyone with a ~$5000 USD computer and decent internet connection can run a Validator Node.

Based on the Speedtest Global Index, the March 2020 average broadband speed was 74.64 Mbps! Putting that through our Solana TPS Calculator, a team of validator nodes could maintain the Solana Network at 3.4 million TPS !

Of course, if you look at the Speedtest website, this is the global average. A cluster of Singaporean Solana Nodes would run at nearly 9 million TPS ! Whereas, a cluster in Turkmenistan would run the Solana network at 86 TPS… which is still 5.7 times faster than the accepted max. of 15 TPS with Ethereum!

* (I’m seeing Ethereum TPS average 3.7 TPS on 24th April 2020 , 5.1 TPS max in 1st May 2019 – Read more on Ethereum Scaling Issues here!)

Post the Solana TPS results for your local country below this post on our Twitter!

Just use Speedtest broadband bandwidth metric and the the following formula: = (BW*8)/176.

Example: = (74640000*8)/176

Starlink is promising 1 Gigabit > That is Solana 710k TPS via Space!

Thanks to the Starlink Subreddit for the calc clarifications – /u/divjainbt

April 2020, MainNet Beta TPS Update

25th April 2020 – Solana MainNet Beta TPS – Solana Beach

Solana is partnering with multiple new businesses to build Decentralised Applications (DApps) on the Solana MainNet Beta network. This is the real network and is scaling up feature complete like Gmail did in the early days.

July 2020, MainNet Beta TPS Update

Coming into July we well and truly cross 1 billion back in June and TPS has doubled to ~270 TPS per second.

With each new business being onboarded, we will see the TPS continue to climb as more players building real world applications on it.

We will continue to keep you updated along this exciting journey at Solana.Blog !

Are you looking for a Scalable Blockchain for your project?

Looks to build the next web scale decentralised application? Check out the Solana website where you can see demos, read the docs to start building, or even view the Solana source code. There is also a Solana Accelerator to get you kickstarted!

Follow the Solana.Blog on Twitter!

4 comments
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

Inside the Solana Docs – Why Solana and What is $SOL?

Next Post

Inside the Solana Docs – App, Paper and Hardware SOL Wallets

Related Posts