400k tps per second...or not
The blockchain platform CREDITS claimed an impressive 400k+ tps in tests yesterday, a number that far surpasses the single/double digit figures that Bitcoin and Ethereum currently achieve.
Unsurprisingly, the headline figure isn't really representative of reality.
How the testing was done?
The test was performed with all nodes operating on a single server using virtual machines. This removes a number of issues that blockchains face in the real world, namely the lag and delays that nodes spread over the world causes. It also removes bandwidth restrictions. As all nodes are operating on the same VM/machine it also removes the issue of low performance systems.
We didn't use smart contracts, as that would have slowed the system down dramatically
The system didn't check for double spending (which is a pretty important step in a live system, as you want to know that people aren't spending the same money twice!)
We'd like you to think that we've proved our system can handle up to 500k tps, but really all we've shown is that the absolute maximum we can achieve is 500k tps when every element is optimised and we turn off the elements of the system which might slow this down.
1.302 microseconds as an average minimum time for transactions is a useless figure and completely unobtainable in any real situation. As pointed out on in a commentary on Reddit, "sending 56 bytes of data 8 feet on gigabit ethernet takes 450 microseconds, or 300 times longer". This hopefully highlights why the claims of a transaction taking 1.302 microseconds is just not going to happen in a live situation.
To be fair to the CREDITS team, they have acknowledged the limitations of the test and I have nothing against the team for performing it - it is important to do so as part of creating a blockchain. It is more the way that this has predictably been used as a sign that blockchains have solved scaling, that CREDITS has done what Ethereum et al have been unable to do by others in the community that needs to be combated, because this test is proof of nothing of the sort.