Important - Results from the Coordinated strike #1
January 24th - Results of first coordinated stress-test in testnet #3
XTRABYTES wants to thank all of the testnet #3 participants for their time and effort. We had a great time meeting many of you, chatting up a storm, and conducting a fantastic testnet. So let’s get right to the details!
Steps taken prior to testnet
An important distinction must be made between our results from January 24th’s coordinated strike and Testnet #2 conducted last year. But before moving forward, let us explain the two options our developers were faced with before commencing the event:
Use the sendmany() command for transactions
Use the tools provided in the testnet wallet for transactions
We wanted to stress-test our network, therefore the sendmany() command was not used. In short, sendmany() creates 1 transaction with however many addresses you insert as total outputs. This process was used in testnet #2. These outputs are still processed by the network as they deliver the specified amounts to the respective addresses, and are perceived as transactions in essence. However, this is effectively just a way to show high numbers without simulating a real-world environment. We have therefore opted to test using the tools instead. These numbers can unfortunately not be compared to testnet #2 as they are completely different. Therefore, we will use both the sendmany() and the tools on our next coordinated stress-test on Saturday, January 27th. Currently, there is a lot of confusion regarding these numbers and differences in transactions, and we hope to be able to give a clear insight on what the actual difference is in a separate article.
Details about the wallet & the old chain
Our current testnet wallet utilizes a lot of the Bitcoin clone code. This code is outdated with a lot of disadvantages, effectively not designed for high throughputs, as we have all witnessed. First, let us address a few basics:
For the testwallet, a PoW factor (mining) was still implemented to have a healthy supply of circulating XBY. Aside from that, the old code was always relying on Proof-of-Work (PoW), these code parts have been removed and have been replaced by the Proof-of-Signature (PoSign) code. This means that no mining or staking process is needed and nodes can sign off on the transactions. Further details will become available with the patent. We are held back by this old code because it has severe limitations, most importantly:
Block creation time: The block creation times in the old code are variable, with a minimum of 60 seconds per block. This value was implemented to prevent e.g. orphan blocks and chain splitting, acting as an additional security measurement.
The old code does not contain the core parts of the code, which are the VITALS and PULSE systems. This means that we are unable to ping the other nodes in the network to sign off on transactions, leading to slow block creations.
All transactions are stored in the wallet.dat file, causing a high amount of disk transactions and fragmentation of the wallet.
Results from testnet
The Bitcoin protocol runs at 2 - 7 transactions/second. By simply changing the code to run off the PoSign algorithm, we were able to increase these numbers to more than double, reaching more than 23 transactions/second, proving that the new algorithm is indeed more efficient than Bitcoin’s. This reassures us that the ability of the technology with all its components can indeed reach the desired tps figure of our marketed 10.000+ transactions/second. Remember that these numbers cannot be compared to our previous testnet, as we used different spamming tools. With this stress-test we have confirmed the limits of this old protocol, and it has provided us with more details to work with.
For our second coordinated strike, we will utilize both tools available, starting with a sendmany(). After finishing round one we will once again use the provided tools to check a more real-life environment.
Closing
Again, we want to send a massive thanks to the XTRABYTES community! We hope you (and your friends and family) will help
us again for our next coordinated testnet event on:
Saturday, January 27th @ 21:00 GMT+0
Best,
The XTRABYTES Team
TLDR :
In the testnet, some node holders were able to pull 12-15 tps, they had i7 core processor. Ones with lower processor were doing approx 6-8 tps.
There was wallet bloat issue where size of the wallet increases dramatically with transactions you do, so after some point the speed was slow than it was in the beginning of testnet.
Since dedpull was saying that if each node did 12 tps and there are 3592 nodes in total, we can easily do around 30k tps. Some with faster processor were doing 30 tps. If they use amazon AWS servers, then it can get even faster.
Points to be noted were, this is a old chain and can not keep up with the speed, the posign was tested successfully and proven in yesterday's test. Wait for results, and it will be a bit low coz some were doing 3 transactions per min due to their hardware and wallet bloat issue but they should be better than last testnet where we received 1k+ tps.
These were some inferences that I got from chats in discord. Pardon me if i misunderstood something