What is the maximum transaction throughput of the Bitcoin network? I have seen different values mentioned but the 3.3--7 transactions/second appears to pop up a lot. In Section 2 of On Scaling Decentralized Blockchains (A Position Paper) it says the following:


  There are two interesting scenarios: The first scenario is when the
  Bitcoin network is operating at maximum throughput, namely 3.3–7
  transactions/sec. This maximum throughput is mainly constrained by
  Bitcoin’s 1MB maximum block size and the variable transaction size.
  The lower bound of the maximum throughput is inferred from the current
  average transaction size, about 500 bytes, while the upper bound is
  based on an oft-cited estimate from [1] which corresponds to unusually
  small (250 byte) transactions.


The maximum block size is 1,000,000 according to the source code. My calculations give me these values for average transactions sizes of 500 bytes for the lower bound and 250 bytes for the upper bound:

lower bound: 1,000,000 / 500 / 600 = 3.3333(3)
upper bound: 1,000,000 / 250 / 600 = 6.6666(6)

lower bound’: 1024*1024 / 500 / 600 = 3.4952533(3)
upper bound': 1024*1024 / 250 / 600 = 6.9905066(6)


According to my calculations, the correct rounded maximum throughput of the Bitcoin network is 3.3--6.7 for the transaction averages given above. I am wondering whether I got something wrong. The authors could have rounded only the upper bound but that doesn't make much sense though.
The smallest transaction that would commonly occur in the wild is a P2PKH transaction with one input and two outputs (send amount and change output). A P2PKH input has 148 bytes, a P2PKH output has 34 bytes and the transaction overhead is 10 bytes, 148 bytes + 2*34 bytes + 10 bytes = 226 bytes, in the case when no change output is required, this could actually be 192 bytes.

The blocksize limit is a megabyte, not a mebibyte, so it's 1,000,000 bytes.

If all transactions were only P2PKH with one input and two outputs, the throughput would be 1,000,000 / 226 / 600 = 7.37 tps. However, the mix is very different with a lot more transactions on the network making use of multisignature inputs or sending to boatloads of different addresses at the same time, and the current average transaction size is around 520 bytes, making the 3 tps figure much more accurate.

I don't know why the authors would have only rounded the upper bound.