You continually hear people talk about Bitcoin's 3 tx/sec limit as a reason for block-size scaling solutions....
But is is true?
I see where the figure comes from: Roughly 200k~ Transactions in a Day divided by 24 divided by 60 divided by 60 = 3~
But is that really a LIMIT on Bitcoin's network capabilities? Or just an average for current day-today volume. The reason I ask is because it seems like there are more variables at play here... What are your thoughts?
The real limit in bitcoin is bytes per block. Specifically 1 megabyte per block.
Bitcoin is designed to maintain a long term average of 10 minutes per block. In the short term there can be a longer or shorter duration between blocks, but it averages out to just about 10 minutes per block over enough blocks.
That means that there is an average limit of 1 megabyte per ten minutes.
A reasonable estimate of transaction size for the average transaction is 550 bytes. Some transactions may be smaller and some may be larger, but the average seems to be around 550 bytes.
If you accept that 550 bytes is an average transaction size, and there is a hard limit of 1 million bytes per block, then the average number of transactions per block is:
1,000,000 / 550 = 1818
There are 600 seconds in 10 minutes. Since there is an average of 10 minutes between blocks this means that on average transaction confirmations are limited to:
1818 / 600 = 3.03 transactions per second.
If more transactions than this are created, then some of them will have to wait around for a slowdown in transaction volume to be confirmed, since there won't be room for all of them in the blocks that are being created.
There will be times when blocks occur faster for a short while, (And more tranactions can therefore be confirmed), but that will balance out with times when blocks occur slower (and a backlog of transactions are built up). Without changes to help bitcoin scale better, it will be limited to approximately 260,000 transactions per day being confirmed.