<p>As others have pointed out, this largely depends on what kind of transaction you're verifying. More inputs and more signatures means longer verification, and for pre-SegWit inputs the computational effort actually grows quadratically (see <a href="https://bitcoin.stackexchange.com/a/54266/121614">this answer</a>).</p>
<p>However, we can get a helpful estimate by measuring how long it takes to verify the entire Bitcoin blockchain, and divide the total number of transactions by that. The first part has already been done for us by Jameson Lopp in his article <a href="https://blog.lopp.net/bitcoin-core-performance-evolution/" rel="noreferrer">Bitcoin Core Performance Evolution</a>.</p>
<p>For his testing, Lopp changes a few configuration parameters:</p>
<ul>
<li><code>assumevalid=0</code>: This removes the performance optimization of skipping verifications of old signatures.</li>
<li><code>disablewallet=1</code>: This avoids any wallet related data processing.</li>
<li>He also uses the <code>connect</code> parameter to connect to a single local peer, which removes the unpredictability of public nodes.</li>
</ul>
<p>As a result, his node is essentially bottlenecked by how fast it can verify transactions, so that should make it a good estimate on transaction verification speed.</p>
<p>These are the hardware specifications of his benchmark PC from 2018:</p>
<ul>
<li>Core i7 8700 3.2GHz 6 core CPU</li>
<li>32 GB DDR4-2666</li>
<li>Samsung 960 EVO 1TB M.2 SSD</li>
</ul>
<p>Bitcoin Core 23.0, the latest version as of now, took 387 minutes to reach block 720,000. The total number of transactions up to that block is 704,935,293. On average, then, it verified about 30,359 transactions per second.</p>

CC BY-SA 4.0
2022-09-26T21:42:09.753Z
2022-09-26T21:42:09.753Z
Vojtěch Strnad
<p>I am trying to figure out how many Bitcoin transactions could be verified per second.
Am I correct that signature verification is more expensive than computing Merkletrees and hashes and therefore constitutes the bottleneck of the verification process?</p>
<p>Having read <a href="https://arxiv.org/abs/1508.00184" rel="noreferrer">this paper</a> it seems to me that tens of thousands of signatures per second could be verified. Have I misunderstood the results?</p>
<p>As I am only interested in signature verification, let parameters like internet bandwidth and storage requirements to handle the stream of incoming data be outside of the scope of this question.</p>

CC BY-SA 4.0
2020-04-18T10:58:17.697Z
I suspect the answer would depend on whether you are using an Attiny85 or Summit at Oak Ridge.
RedGrittyBrick
CC BY-SA 4.0
2020-04-18T11:07:41.950Z
changed the title of the question to include commodity hardware in the year 2020
Rene Pickhardt
CC BY-SA 4.0
2020-04-19T16:19:46.060Z
You can't measure verification speed with `tx/sec` because it would depend on the transaction _a lot_. One tx could be verified in nanoseconds while another could take a couple of minutes to verify.
Coding Enthusiast
CC BY-SA 4.0
2020-04-26T09:00:47.257Z
I could edit the question once more and just make assumption of P2PKH. I understand that any answer would be an estimate anyway
Rene Pickhardt
<transactions><transaction-verification><ecdsa><sha256><verification>
How many bitcoin transactions can be verified per second on commodity hardware in 2020?
Rene Pickhardt
# How many bitcoin transactions can be verified per second on commodity hardware in 2020?

(Asked by: username_0 on 2020-04-18)

I am trying to figure out how many Bitcoin transactions could be verified per second.
Am I correct that signature verification is more expensive than computing Merkletrees and hashes and therefore constitutes the bottleneck of the verification process?

Having read [this paper](https://arxiv.org/abs/1508.00184) it seems to me that tens of thousands of signatures per second could be verified. Have I misunderstood the results?

As I am only interested in signature verification, let parameters like internet bandwidth and storage requirements to handle the stream of incoming data be outside of the scope of this question.

**Tags:** transactions, transaction-verification, ecdsa, sha256, verification

> **Comments:**
> **username_1**: I suspect the answer would depend on whether you are using an Attiny85 or Summit at Oak Ridge.  
> **username_0**: changed the title of the question to include commodity hardware in the year 2020  
> **username_2**: You can't measure verification speed with `tx/sec` because it would depend on the transaction _a lot_. One tx could be verified in nanoseconds while another could take a couple of minutes to verify.  
> **username_0**: I could edit the question once more and just make assumption of P2PKH. I understand that any answer would be an estimate anyway  

---

## 1 answers

### Answer by username_3 on 2022-09-26. Score: 7 | Accepted answer

As others have pointed out, this largely depends on what kind of transaction you're verifying. More inputs and more signatures means longer verification, and for pre-SegWit inputs the computational effort actually grows quadratically (see [this answer](https://bitcoin.stackexchange.com/a/54266/121614)).

However, we can get a helpful estimate by measuring how long it takes to verify the entire Bitcoin blockchain, and divide the total number of transactions by that. The first part has already been done for us by Jameson Lopp in his article [Bitcoin Core Performance Evolution](https://blog.lopp.net/bitcoin-core-performance-evolution/).

For his testing, Lopp changes a few configuration parameters:

* `assumevalid=0`: This removes the performance optimization of skipping verifications of old signatures.
* `disablewallet=1`: This avoids any wallet related data processing.
* He also uses the `connect` parameter to connect to a single local peer, which removes the unpredictability of public nodes.

As a result, his node is essentially bottlenecked by how fast it can verify transactions, so that should make it a good estimate on transaction verification speed.

These are the hardware specifications of his benchmark PC from 2018:

* Core i7 8700 3.2GHz 6 core CPU
* 32 GB DDR4-2666
* Samsung 960 EVO 1TB M.2 SSD

Bitcoin Core 23.0, the latest version as of now, took 387 minutes to reach block 720,000. The total number of transactions up to that block is 704,935,293. On average, then, it verified about 30,359 transactions per second.


---

