16

What determines the number of transactions that can be validated in a block?

13

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.

  • 4
    If a block is solved you cannot add more transactions to it, as that would invalidate the proof-of-work you just created. – Pieter Wuille May 1 '13 at 13:23
  • @jgm: Please consider editing your answer to better represent what happens after a block was found. – Murch Apr 7 '17 at 12:22
  • 1
    If 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? – abelenky May 17 '17 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 – Abel Oct 25 '17 at 2:31
5

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 figures can be found here: Tradeblock Historical Data

0

The average transaction is at least 250 bytes and the average block contains more than 500 transactions. Source: Mastering Bitcoin Chapter 7, page 164.

https://blockchain.info/de/charts/n-transactions-per-block

  • -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 Apr 7 '17 at 12:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.