On the road to 710k TPS
Solana is a high performance blockchain that uses a concept called Proof of History to achieve a cryptographically secure and trustless time source. In July, we pushed out our multinode testnet and since then, we’ve been working tirelessly to prove our theory about building a scalable blockchain that could allow for 710k TPS. Here’s a look at some of the initial metrics we’ve achieved this summer.
Our performance dashboard is demonstrating that we have succeeded in scaling past 100k TPS in steady state with subsecond finality and peaks over 300k TPS. There are still tons of opportunities for optimization to reach our theoretical 710k TPS maximum.
Performance Deployment at Current Maximum Stable Speed
This deployment is on Google cloud, with clients and nodes running on the same 1gbps network. Our actual point to point limit is around 800 mbps.
Point to Point limits on Google Cloud
The amount of data we are transferring is actually 105,928 transactions per second; * 226 bytes per transaction * with 50 nodes = 9.575 gigabits of aggregate network bandwidth. There is no way we could have transferred that much data from a single node to all 50 nodes over a 800mbps connection. This deployment clearly demonstrates how our awesome network architecture successfully achieves 10x bandwidth multiplication without an impact to finality.
Our public testnet is up and running. The performance deployment is continuously being hammered by our internal benchmark. The public deployment is available for anyone to connect to and check how many transactions your internet connection will allow you to upload at once. To play around with it, you will need to download the source and build and execute the benchmark client. You will need to have the rust toolchain installed, which you can fund on rustup.rs.
$ git clone firstname.lastname@example.org:solana-labs/solana.git $ cd solana $ git checkout v0.7.2 # make sure this is the latest release on https://github.com/solana-labs/solana/releases $ ./multinode-demo/client.sh testnet.solana.com 1
After some compilation, the benchmark will start transferring as many transactions as your computer and ISP will allow.
TPS bench from a home connection on a laptop
And you will see them popup on the dashboard. At the moment, our alpha testnet is completely not BFT, and there are tons of fun ways to break it. We are working on all the fun, challenging BFT consensus problems right now, and if you find one of the ways to break it, let us know or submit a PR to our Github and we will send you a t-shirt. No really, we may have ordered way too many t-shirts. Help us get rid of swag AND make our product and the future of blockchain tech even better. And feel free to get in touch below if you have any questions.
Check us out on Github.