<p>The Bitcoin network uses the blockchain to form consensus on the journal of transactions. The blocks commit the network to a specific order of events and guarantee propagation. Blocks are found roughly every ten minutes and are limited to 4,000,000 weight units (or 1,000,000 vbytes). Said blockweight limit and cadence of blocks are what limits network's transaction confirmation rate: with about 2,000 to 2,500 transactions per block every 600 seconds, the transaction rate is currently closer to 3.5 tps in practice. Note that a transaction may perform more than one payment.</p>
<p>Before transactions are organized into blocks by miners, the unconfirmed transactions are <a href="https://bitcoin.stackexchange.com/q/99694/5406">tracked</a> in the memory pool (mempool) of each node. A node's mempool can hold about half a day's worth of transactions by default. Miners generally pick the transactions with the highest feerate first to build their block to optimize their revenue. When peak demand subsides, the network eventually chews through the backlog, also confirming transactions with lower feerates. Altogether, this forms a market for blockspace in which users can bid with transaction fees to signal the urgency of their payments.</p>
<blockquote>
<p>Indeed, how many actual payments would it take a (good or bad) actor to fill the network (or would the payments simply get all grouped together infinitely), is the limit perhaps 3.5*4million per sec?</p>
</blockquote>
<p>As described above, miners generally pick the transactions with the highest feerates to form their blocks. If the attacker wants to monopolize all blockspace, they'll have to continuously displace all other transactions from the top of the queue. However, other users are free to resubmit their transactions with an increased feerate to vie for the top of the queue. This would either break the attack or quickly drive up the cost, as all other users acting independently would outspend a low feerate spam attack.</p>
<p>In the 2017 bubble, we saw over a dozen organic blocks <a href="https://blockchair.com/bitcoin/blocks?s=fee_total(desc)&amp;q=time(2017-11..)#" rel="nofollow noreferrer">with more than 12 BTC in fees</a>. Assuming that an attacker would need to pay a corresponding ~1,200 sat/vB to monopolize blockspace, their attack would cost about 72 BTC per hour.</p>

CC BY-SA 4.0
2020-12-27T00:16:16.953Z
May be worthwhile to point out that one on-chain transaction doesn't need to correspond to just one real-world payment.
Pieter Wuille
CC BY-SA 4.0
2020-12-27T00:38:54.100Z
Indeed, how many actual payments would it take a (good or bad) actor to fill the network (or would the payments simply get all grouped together infinitely), is the limit perhaps 3.5*4million per sec?
Dennis Jaheruddin
CC BY-SA 4.0
2020-12-27T02:38:26.510Z
I've updated my answer to address the scenario of an attacker attempting to monopolize blockspace.
Murch
CC BY-SA 4.0
2020-12-27T02:42:31.870Z
@Dennis Jaheruddin There is no concrete number, it depends on the techniques used, and those are mostly not part of Bitcoin itself. As a very extreme example... If I just give you my wallet file, you now have my BTC, and the ability to spend it, without anything happening on chain at all. If an attacker wants to fill all on-chain transactions, they can, by just producing that many on-chain transactions - but they'll have to pay enormous fees to compete with others who want that block space.
Pieter Wuille
CC BY-SA 4.0
2020-12-28T20:52:04.293Z
Thanks for the edit, at nearly 2 million USD per hour (against current prices) I now understand why this is not happening much.
Dennis Jaheruddin
CC BY-SA 4.0
2020-12-27T00:09:03.257Z
2020-12-28T20:55:13.200Z
2020-12-28T20:55:13.200Z
Murch
<p>I read somewhere that there is a global limit of about 7 transactions that can get processed per second. However I was unable to find a clear explanation of what this exactly implies.</p>
<p>First thought:
If I tell one or perhaps a few PCs to transfer some btc a few times per second, then the network is full.</p>
<p>Analysis: Presumably not, as 7 actions per second is not hard to orchestrate</p>
<p>Second thought:
If I make a transaction, I need to wait up to 1/7 th of a second before it happens.</p>
<p>Analysis: Presumably also not as it would not matter enough for people to mention it</p>
<p>Other thoughts, without conclusion:</p>
<ul>
<li>A transaction may actually be a number of transfers, so perhaps the network is capped at a high number,like 7 million transfers per second</li>
<li>Perhaps this limit is only for transactions that meet criteria (approved, paid) effectively prohibiting someone from just filling the system</li>
</ul>
<p>A better understanding of the meaning and practical implications would be welcomed!</p>

<transactions><blockspace-market>
What does the global transaction limit mean in practice?
Dennis Jaheruddin
# What does the global transaction limit mean in practice?

(Asked by: username_0 on 2020-12-26)

I read somewhere that there is a global limit of about 7 transactions that can get processed per second. However I was unable to find a clear explanation of what this exactly implies.

First thought:
If I tell one or perhaps a few PCs to transfer some btc a few times per second, then the network is full.

Analysis: Presumably not, as 7 actions per second is not hard to orchestrate

Second thought:
If I make a transaction, I need to wait up to 1/7 th of a second before it happens.

Analysis: Presumably also not as it would not matter enough for people to mention it

Other thoughts, without conclusion:

* A transaction may actually be a number of transfers, so perhaps the network is capped at a high number,like 7 million transfers per second
* Perhaps this limit is only for transactions that meet criteria (approved, paid) effectively prohibiting someone from just filling the system

A better understanding of the meaning and practical implications would be welcomed!

**Tags:** transactions, blockspace-market


---

## 1 answers

### Answer by username_1 on 2020-12-27. Score: 5 | Accepted answer

The Bitcoin network uses the blockchain to form consensus on the journal of transactions. The blocks commit the network to a specific order of events and guarantee propagation. Blocks are found roughly every ten minutes and are limited to 4,000,000 weight units (or 1,000,000 vbytes). Said blockweight limit and cadence of blocks are what limits network's transaction confirmation rate: with about 2,000 to 2,500 transactions per block every 600 seconds, the transaction rate is currently closer to 3.5 tps in practice. Note that a transaction may perform more than one payment.

Before transactions are organized into blocks by miners, the unconfirmed transactions are [tracked](https://bitcoin.stackexchange.com/q/99694/5406) in the memory pool (mempool) of each node. A node's mempool can hold about half a day's worth of transactions by default. Miners generally pick the transactions with the highest feerate first to build their block to optimize their revenue. When peak demand subsides, the network eventually chews through the backlog, also confirming transactions with lower feerates. Altogether, this forms a market for blockspace in which users can bid with transaction fees to signal the urgency of their payments.

> Indeed, how many actual payments would it take a (good or bad) actor to fill the network (or would the payments simply get all grouped together infinitely), is the limit perhaps 3.5\*4million per sec?

As described above, miners generally pick the transactions with the highest feerates to form their blocks. If the attacker wants to monopolize all blockspace, they'll have to continuously displace all other transactions from the top of the queue. However, other users are free to resubmit their transactions with an increased feerate to vie for the top of the queue. This would either break the attack or quickly drive up the cost, as all other users acting independently would outspend a low feerate spam attack.

In the 2017 bubble, we saw over a dozen organic blocks [with more than 12 BTC in fees](https://blockchair.com/bitcoin/blocks?s=fee_total(desc)&q=time(2017-11..)#). Assuming that an attacker would need to pay a corresponding ~1,200 sat/vB to monopolize blockspace, their attack would cost about 72 BTC per hour.

> **Comments:**
> **username_2**: May be worthwhile to point out that one on-chain transaction doesn't need to correspond to just one real-world payment.  
> **username_0**: Indeed, how many actual payments would it take a (good or bad) actor to fill the network (or would the payments simply get all grouped together infinitely), is the limit perhaps 3.5*4million per sec?  
> **username_1**: I've updated my answer to address the scenario of an attacker attempting to monopolize blockspace.  
> **username_2**: @username_0 There is no concrete number, it depends on the techniques used, and those are mostly not part of Bitcoin itself. As a very extreme example... If I just give you my wallet file, you now have my BTC, and the ability to spend it, without anything happening on chain at all. If an attacker wants to fill all on-chain transactions, they can, by just producing that many on-chain transactions - but they'll have to pay enormous fees to compete with others who want that block space.  
> **username_0**: Thanks for the edit, at nearly 2 million USD per hour (against current prices) I now understand why this is not happening much.  

---

