What determines the number of transactions that can be validated in a block?
4 Answers
The absolute limit is the size of the block, which is currently hard-coded at 1,000,000 bytes. Each transaction takes up a variable amount of space, but ~250 bytes is about right for a simple (one-input one-output) transaction.
However as soon as a block is solved it is not possible to extend the block by adding in more transactions, as the proof of work has to be redone, so broadcasting it immediately is the only sensible thing to do. So the number of transactions in a block is actually a function of the number of transactions being generated over a time period and the time taken to solve a given block.
Blocks used to contain fewer than 200 transactions and the largest number of transactions in a block was 1,976 at the time this answer was originally written (May 2013). In meanwhile (November 2017) the average number of transaction per block is well above 1500 with peaks above 2200.
-
4If a block is solved you cannot add more transactions to it, as that would invalidate the proof-of-work you just created. Commented May 1, 2013 at 13:23
-
@jgm: Please consider editing your answer to better represent what happens after a block was found.– Murch ♦Commented Apr 7, 2017 at 12:22
-
1If blocks typically have around 2,000 transactions, and are only added every 10 minutes, isn't that an insanely low tx-volume? Credit-card transactions number around 1/2 million per minute. Does this imply that bitcoin can never become a high-transaction currency?– abelenkyCommented May 17, 2017 at 16:53
-
1@Abel many blocks can be solved simultaneously. It's a distributed system. But a single block takes 10 minutes by definition and enforced by the difficulty factor– AbelCommented Oct 25, 2017 at 2:31
The block size is limited to 1,000,000 bytes 4,000,000 weight units of data. Miners may arbitrarily decide from the available valid transactions which to include. The obvious selection policy would be to optimize for maximum fees collected in the block, for which a simple greedy approach would be to select by the fee rate of transactions, i.e. the amount of fee per data size of the transaction.
[April 2017:] Over roughly the past two months, the mean transaction size was about 506 bytes, and the average count of transactions per block was 1,956.
Current median and average virtual size for transactions can be found on transactionfee.info’s transaction size chart.
The average transaction is at least 250 bytes and the average block contains more than 500 transactions. Source: Mastering Bitcoin Chapter 7, page 164.
-
-1 Mastering Bitcoin is more than three years old and this information is severely outdated. Please don't give singular data points without providing a source to get current information.– Murch ♦Commented Apr 7, 2017 at 12:23
Here is a plot of the 4-day mean for number of transactions per block, based on data from blockchain.com:
Over the last year, the mean number of transactions per block has been 2971 (4 sig fig), median 2993. Here's a plot of just the last year [now == March 2024]: