Solana blockchain test

in #solana3 years ago (edited)

In short Solana is proposing a new kind of consensus mechanism to increase the number of blockchain transactions per second. This is how it's described by the project:

"By weaving this standardized timestamp into the blockchain, nodes in the network can verify the time and order of events without witnessing them directly. This drastically reduces messaging overhead and is one example of the world of optimization capabilities that become available through Solana’s Proof of History."

Sounds very nice indeed....if it works. (Readers that don't feel like getting into the tech stuff can skip to end for conclusion)

We start by comparing the content of their whitepaper with what's actually in their github. Turns out we find some solid work on the code which covers the functional claims of the whitepaper and uses good coding standards . However this post is not focused on paper code review, we want to see if things actually work!

So we start by downloading their github and installing on a clean OS X instance, which has all of the necessary environment to build and execute the code.

The entire build process takes 82s and passes without a hitch, not bad at all. (The module list above is truncated since it is too long to post here)

Now we are on to the really interesting stuff, to actually run a Solana node and check the performance on our test machine, a MacBook with no optimization what so ever.


And we have test node up and running together with the client demo. Again without issues, very smooth.

Now, how does this perform in terms of transactions per second. Solana claims to eventually be having 710k tps with off-the-shelf hardware and without sharding. Something that will be increased by applying Moore's law.

We have no illusions about them achieving the goal at this point, but want to see how they have progressed now that we know that the code works and have a test node running.

We come up with about 12k tps in our first benchmark test (benchmark is based on banking_stage/bench_stage since it doesn't rely on GPU by design and doesn't add network latency), which doesn't disappoint us (keep in mind we are performing the benchmark test on a standard laptop and Solana is still early in their roadmap).
(For anyone wanting to replicate this benchmark test it's good to know that the code is updated often and the Erasure coding needs to be followed)

After talking to the Solana team we realize that this release is all CPU driven and the GPU version will improve things. The team also informs us of a standard test configuration they currently use with a a 2.4ghz 6 core Xeon CPU that gives 35k tps. We have no reason to doubt this number as it can easily be reproduced.

TL;DR In conclusion, as far as technology goes we are very bullish on Solana and looking forward to see how the team progresses with their deliveries. They have a relatively long roadmap but are definitely on to a good start.


@incodewetrust, I gave you an upvote on your first post! Please give me a follow and I will give you a follow in return!

Please also take a moment to read this post regarding bad behavior on Steemit.