The original stress test was thought up by Yobits (@YobitsVision)
Whilst discussing ideas with The Wildcard and Mr. G mid June 2018
A testing script which evolved into what was later to become known as the Satoshi Shotgun was successfully built from the ground up thanks to the intense workings of:
The original plan for the stress test that was initially discussed between Yobits, The wild card and Mr. G, was to encourage users to use services built on top of Bitcoin, to stress the network to full capacity, we decided at the time that a testing script would also be required to ensure we could reach a target of 5 million transactions within a 24 hour period. It was also discussed we should promote this to happen regular, ideally 10 weeks prior to each Hard Fork Upgrade, or annually on September 1st. We wanted to provide developers with valuable data in order to help them discover bugs and scaling bottlenecks.
The Wildcard quickly reached out to people to see who would be interested to make this a reality. within 24 hours we had a website up and a small team of people ready to make things happen.
By the end of June, SpendBCH and Gabriel created a testing script which would then go on to be used for scale.cash. This script was shared on Github and among all members of the group, at which point Mr. Scatman added his own flavor to the script and started to test it. On July 2nd we saw the first “Scatman Spike“. Mr. Scatman then continued to optimize the script, he then also linked it to a memo.cash account, so that others could also test out the script by liking comments on memo.cash, this was a huge leap for us to help the community easily engage in the stress test.
At the time this of course was the BCH network, once we had publicly announced the stress test would be taking place there was a lot of negative reactions from the ABC developers, this only encouraged us to move forward with the stress test to see what everyone was so fearful of.
In July Esthon also joined the stress test team to help with development and we continued testing the script among the team members (without any funding from 3rd parties). As a team we decided to stress test the stress test script on Aug 1st to mark the 1 year anniversary of Bitcoin being saved from segwit.
August 1st The Bitcoin network processed 687,000 transactions which were in most created by the stress test team. The team was very pleased, we found quite a few bugs and bottlenecks in the script and knew there was still quite a bit of work to be done before the main stress test day of September 1st.
During August Mr. Scatman informed the team that due to personal commitments, his free time would be extremely limited and that it would be much better if the torch was passed to another to maintain and further develop the testing script. The responsibility was passed to Esthon who took the lead for development of the script which was also planned to be posted on Github.
We then continued to test the script (using our own funds) and discussed the best strategy to ensure we could reach our target of 5 million transactions within 24 hours. We had considered running multiple instances of the script on multiple servers as a fail safe just in case there was an issue with the script itself not being able to create enough transactions or in case there was an issue with the server the script was being run on. Esthon then made some more changes to the script to allow it to scale and run in parallel, Esthon assured the rest of the team that running on multiple servers would not be necessary with these new changes he had made and the code was never shared with the rest of the team or submitted to Github as we had originally planned.
Roughly 2.1 million transactions were processed on the Bitcoin network (BCH at the time) within 24 hours.
Unfortunately we did not hit our target of 5 million transactions due to the script not running as intended with many issues, luckily Esthon was on hand to make quick changes as the test was happening.
During the initial 24 hours the Stress Test was responsible for 63% of ALL transactions across the entire crypto currency market.
During the test, the number of transactions on the network surged to over 14,000 per block on average, the number of transactions even reached 25,783 per block.
As funds were donated by the community and a lot of funds coming from the stress test team members themselves, it was decided to continue running the script beyond 24 hours until funds were depleted.
During the following days while we continued to run the script, on Septmber 2nd a 21.5MB block was produced containing 95,861 transactions. This was the largest block at the time ever produced on any network. However the blocks glory was short lived as 2 days later a 23MB block was mined containing 97,318 Transactions
Although of no interest to the stress test team itself, there was also a price increase to Bitcoin (BCH at the time) which correlates with the stress test, with the price rising about 20% the days following the start of the test.
After the Test we assessed where we went wrong and what improvements could be made. With the controversial November hard fork approaching we also discussed maybe having another stress test during the hard fork, again this hard fork stress test idea came from Yobits.
We further discussed possibilities and what use cases we could have for the testing script. At the request of Brendan we then sort of re branded to “The Professional Stress Test” and as a group we discussed how we could monetize the testing script and how we could offer this service to businesses, making the script and us as a group more of a professional project than a community one.
In October Brendan informed the rest of the group that he had acquired (anonymous) funding for a stress test in November during the controversial hard fork. This was very pleasing to the group which by now due to the controversy of the upcoming hard fork had lost 3 of its members Gabriel, SpendBCH and SpArK who were in full support of ABC while the rest of us supported SV. This was expected as SpendBCH and Gabriel work for Bitcoin.com and our 168 page group chat quietened when wormhole was announced.
Leading up to the hard fork, Brendan informed us he had been in contact with miners (who the rest of the group was left to assume was the sponsor) and they had asked if we could postpone the November stress test until a few days after the hard fork, to which we agreed as it was their money being spent.
There were 3 tests planned for November, the first taste test was on November 1st, follwed by a pre test on the November 10th, and the main test November 17th through to 19th, which was moved from the originally planned date of November 15th.
On November 2nd the testing script was named the “Satoshi Shotgun” or “SS” for short.
Yobits however still wanted to see the script running during the hard fork on the 15th of November, as there was no way to know how things would play out before hand. Yobits decided to fully fund the script himself and have it run immediately after the hard fork block. The script was run and transactions were broadcast to both networks after the fork split, and run in a completely neutral manner but quickly run into issues on the ABC chain.
On November 19th at 11:01PM, block 557,333 was mined by SVPool, which included 198,430 transactions and measured just over 38.0MB in size. This was the first ever block over 32MB and included 0.38526938BSV in fees
The full report written by Brendan Lee can be seen here:
November Stress Test Report
During the Coingeek Conference in London in November, a few members of the stress test team were present. Esthon and Brendan had already been in London for a few weeks. What is still unclear is whether developers outside the team were working on the Satoshi Shotgun during the November testing, Brendan and Esthon informed The Wild Card they’d signed NDA’s which came as a surprise to the rest of the team, as there had been no indication that any negotiations had begun.
January 22nd, Brendan and Esthon then informed the group that they had secured private funding for the development of the Satoshi Shotgun which excluded the rest of the Stress Test team, whilst Esthon retained ownership of the code.
The stress test team then split into two.
Brendan and Esthon are now the “professional stress test” team with financial funding by an unknown backer.
The Original Stress Test team still remains a community project, and have since moved to a new website.
The plan is the same as it was originally, to help developers find bugs and bottlenecks by stress testing apps, wallets and services, and by coordinating this on a single day the network itself is also stress tested.
We welcome any contribution from the community.