This is the fourth article in the series on block size restrictions. It is assumed that the reader knows the basic principles of the Bitcoin network and blockchain technologies.
Cryptocurrency market is very large. Every business man wants to invest money in cryptocurrency. Now we are discussing here next big cryptocurrency.
Bitcoin Network Bandwidth Modelling
In the second part of our analysis, we found that in its current form, the Bitcoin network can stably process approximately 3 transactions per second (TPS). Currently, in 2015, the network load averages 1.2 TPS, however, due to the increase in the number of transactions, this figure is gradually increasing. In this part, we will look at what this may lead to in practice and try to assess when, under the condition that the current growth rates are maintained in the network, noticeable delays in confirmation of transactions begin to be observed.
To collect information on how the network will work with a large number of transactions, a load test was conducted on May 29-30, the results of which are shown in the diagram below. As you can see, at peak load in the pool (a list of transactions waiting to be added to the block, in the computer’s memory) there were about 26 thousand transactions. Even under ideal conditions, namely, when all blocks were completely filled, 14 blocks (or 2.5 hours) would be required to process all these transactions.
For a practical analysis of the filling of blocks at different loads, we conducted a Monte Carlo simulation, using historical information about the size of transactions. For each TPS level, we modelled 1 million units and estimated whether there were enough network resources to process all incoming transactions. Technical details of the model, see the end of the article.
1. With the current level of about 1.2 TPS, the overhead associated with waiting for confirmation of transactions (right axis) is 0.07 blocks (i.e. approximately 7% of transactions do not fall into the nearest block). If you remember, in the first part we noted that at present the volume of approximately 20% of blocks exceeds 725 KB, which is quite consistent with the fact that 16% of blocks are completely filled in the diagram above.
2. Significant transaction confirmation delays begin to occur at a level of approximately 2.3 TPS, at which the average transaction processing time begins to exceed 1 block.
3. At 3.0 TPS (which roughly corresponds to the theoretical limit of the current protocol), the average waiting time would reach 20 blocks.
4. In reality, substantial delays are likely to begin much earlier than reaching the theoretical limit of 3 TPS.
Finally, for the sake of completeness of the analysis, we performed a Monte-Carlo simulation with blocks of 8 MB in size, the results of which are shown below. The transaction processing delay becomes noticeable (exceeds 1 block) only after 18 TPS, and the average delay of 5 blocks is reached at 22 TPS.
The simulation results and the forecast for the growth in the number of transactions allow you to estimate when the network will begin to experience noticeable problems with scalability. In the second part, we estimated the cumulative average annual growth rate of the number of transactions since 2013. Below we reproduce the diagram with the average TPS along with the vertical axis (and not the number of transactions per day).
In general, while maintaining the current growth rate, the effects associated with the exhaustion of network resources are likely to manifest themselves before reaching the theoretical limit in December 2016: for example, by July 2016, the processing of a typical transaction will be 1 block longer. Moreover, the analysis assumes that the block size is limited to 1 MB, while in standard Bitcoin clients the limit is approximately 732 KB (see the first part ). This means that delays may become noticeable even earlier.
You can view blockchain data in real time using TradeBlock tools.
The Time Between Blocks Corresponded to an Exponential Distribution With an Average Value of 10 Minutes.
Transactions were generated according to the Poisson distribution with a mean value dependent on TPS.
The transaction size corresponded to the normal distribution with the characteristics that occurred in the last 30 days: average value = 543 bytes; standard deviation = 1759 bytes.