You might recall from a previous blog post that the Bitcoin network is a global network of nodes that can executes transactions between themselves. It is based on blockchain technology. Is this technology ready for large-scale usage in an enterprise context? The question of sufficient scalability is one that is of particular interest here. Therefore, let’s look at the throughput of transactions in the network in this blog post.
How many transactions can be executed with the infrastructure as it is in place today? In some articles one reads 7 transactions per second (TPS). Let’s look a bit deeper into how this is calculated, the underlying assumptions and anticipate where this will lead to.
End of 2014 there was an analysis on Bitcoin transaction capacity that already implied a lower TPS value (1): By November 2014, we had an average block size of 0,275 Mbytes compared to 0,11 Mbytes sixteen months before. Since the Bitcoin protocol restricts the maximum size of a block to 1 Mbyte, blocks still have the potential to grow by a factor of 3,6. At that time we had around 80.000 transactions per day, resulting in an average of 0.93 transactions per second. Multiplying with the capacity limit factor of 3,6 we had a maximum of 3,35 transaction per second (TPS) instead of 7. During that time the increase of the block size was mainly caused by a larger transaction size while the amount of transactions kept stable. With a network difficulty the Bitcoin protocol ensures that it takes approximately ten minutes to generate a block of transactions. We therefore can assume that a block includes about 550 transactions with an average size of 0,5 Kbytes end of 2014.
What is the situation today? Checking the publicly available statistics on blockchain.info, the average block size in the Bitcoin network is now approximately 0,55 Mbyte (2). Thus, the factor, until the 1 Mbyte limit is reached, is reduced by half in the last 12 month (now 1,8). Looking at the number of transactions, we observe approximately 160.000 transaction per day in December 2015, doubled from last year (3). This is 1,85 transactions per second and 1.110 transactions per block with an average size of 0,5 Kbytes per transaction. So this time the block size increase was only caused by the number of transactions while the average transaction size kept constant over the last year. Assuming stable transaction size the Bitcoin network has now an upper bound of transaction per day of around 288.000 (160.000 daily average * 1.8 factor till upper size limit).
We are yet talking of the average amount of transaction per day. The limit will be reached even earlier at some peak time situations. For instance, the week on December 9th, we already had 215.000 transactions within 24 hours (= 75% of the 288.000 max. capacity). So it will be no surprise if the limit of the maximum transactions the network is currently technically capable of, will be reached in the next couple of month. This is then not a temporarily overload, maybe caused by a flood attack (4), but a permanent overload because of regular high amount of transactions.
What will happen then? Any transaction that would have the block size exceed its limit of 1 Mbyte, is sent to a queue (called mempool). Since a transaction can be issued with a dedicated “processing reward”, it will be most likely lead into an increase of transaction fees, if you want your transaction to be processed by miners at all. However, a capacity limit and an increase of transaction fees will be detrimental for new use cases based on the Bitcoin network, especially these cases that imply low value transactions.
Therefore, it is worth following the debate of a maximum block size limit increase of the Bitcoin protocol that is currently ongoing (5). As of now, there are different opinions among the miners and Bitcoin developers how this situations should be resolved. Due to blockchains’ decentralization, it requires at least the majority of all miners to use a new Bitcoin client supporting a higher block size or any other remedy mechanism. It will take some time to find an agreed solution and it will take even more time to have the solution adopted by the majority of participants. The question is if the situation will be resolved before the capacity limit is reached.
What are the alternatives? There are a lot of alternative crypto currencies (called Altcoins) that could be used. Bitcoin got by far most the attention because it was first and used most. Checking the market capitalization of crypto currencies, the second largest one using blockchain technology (on a public blockchain) is Lite coin that has a market cap of only 2,5 percent of that of Bitcoin (6). Additionally, there are some blockchain platform projects such as Multichain (7) or Ethereum (8), that allow to build an own application on top of it (including a crypto currency). The capacity limit of the Bitcoin network might eventually push these alternatives to become a successful public blockchain product.
The block size limit debate and its difficulty of changing the protocol is only relevant for public types of blockchain. Any privately operated blockchain network, build from scratch or based on a platform such as Multichain or Ethereum, controls the protocol and can be adjusted easier. Therefore, this is more a limitation in the Bitcoin blockchain, not at all in the general blockchain technology.