<p>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, <code>148 bytes + 2*34 bytes + 10 bytes = 226 bytes</code>, in the case when no change output is required, this could actually be 192 bytes.</p>

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

<p>If all transactions were only P2PKH with one input and two outputs, the throughput would be <code>1,000,000 / 226 / 600 = 7.37 tps</code>. 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.</p>

<p>I don't know why the authors would have only rounded the upper bound.</p>

CC BY-SA 3.0
2017-05-23T18:01:55.197Z
2017-05-23T18:01:55.197Z
Murch
<p>I have seen different values mentioned but the 3.3--7 transactions/second appears to pop up a lot. In Section 2 of <a href="http://fc16.ifca.ai/bitcoin/papers/CDE+16.pdf" rel="nofollow noreferrer">On Scaling Decentralized Blockchains (A Position Paper)</a> it says the following:</p>

<blockquote>
  <p>There are two interesting scenarios: The first scenario is when the
  Bitcoin network is operating at maximum throughput, namely <strong>3.3–7
  transactions/sec</strong>. 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.</p>
</blockquote>

<p>The maximum block size is 1,000,000 according to the <a href="https://github.com/bitcoin/bitcoin/blob/0.14/src/consensus/consensus.h#L16" rel="nofollow noreferrer">source code</a>. My calculations give me these values for average transactions sizes of 500 bytes for the lower bound and 250 bytes for the upper bound:</p>

<pre><code>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)
</code></pre>

<p>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.</p>

CC BY-SA 3.0
2017-05-22T19:40:12.667Z
This might be a question to ask the authors of the paper, since apparently they didn't show their math.  It's hard for anyone else to say how they came up with the numbers that they did.  My guess is that it's rounding.
Jestin
CC BY-SA 3.0
2017-05-23T18:35:19.180Z
I edited the title, as it's about the Bitcoin network, and not any specific implementation.
Pieter Wuille
<transactions><bitcoin-core><blocksize><transaction-capacity>
What is the maximum transaction throughput of the Bitcoin network?
Daniel
# What is the maximum transaction throughput of the Bitcoin network?

(Asked by: username_0 on 2017-05-22)

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)](http://fc16.ifca.ai/bitcoin/papers/CDE+16.pdf) 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](https://github.com/bitcoin/bitcoin/blob/0.14/src/consensus/consensus.h#L16). 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.

**Tags:** transactions, bitcoin-core, blocksize, transaction-capacity

> **Comments:**
> **username_1**: This might be a question to ask the authors of the paper, since apparently they didn't show their math.  It's hard for anyone else to say how they came up with the numbers that they did.  My guess is that it's rounding.  
> **username_2**: I edited the title, as it's about the Bitcoin network, and not any specific implementation.  

---

## 1 answers

### Answer by username_3 on 2017-05-23. Score: 2 | Accepted answer

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.


---

