16

How many transactions per second can the Monero network (theoretically) handle?

Did recent LMDB optimizations improve the speed that CPUs can confirm transactions?

Is the current limiting factor CPU confirmation time, bandwidth of Monero nodes or something else?

Based on test testnet data so far, will RingCT transactions faster be slower than (pre RingCT) confirmations today?

Logan
  • 808
  • 1
  • 9
  • 16

4 Answers4

12

Monero transaction confirmations are very quick on modern computers. With LMDB estimates from developers Smooth and NoodleDoodle are that Monero can handle 1700 TPS (up from 1600 TPS pre LMDB).

Confirmation time is definitely not the limiting factor. Many nodes do not have the bandwidth to support 1700 TPS based on current transaction sizes.

Monero can have very large blocks thanks to its adaptive blocksize. However by the time that we reached 1700 TPS memory requirements would also be too much for many nodes.

In order of importance, I would say the TPS limiting factors today bandwidth and memory. LMDB did speed up CPU confirmation time but it was not the limiting factor in TPS even before the improvement.

Tobias Strand
  • 328
  • 2
  • 8
6

Adding to the previous answer, those TPS estimates assume an Intel i7 2600k quad core processor. So roughly 400 TPS per core. That processor is from 2011, so I assume that this figure will improve with newer processors, as well scale with more cores. Note that these are just tx verification times, bandwidth is a whole different issue.

I would say that bandwidth will be the limiting factor for the foreseeable future. The proliferation of fiber internet, as well as the roll out of 5G networks (~2020) will really be what takes max TPS to the next level.

Alexde
  • 1,498
  • 1
  • 10
  • 18
5

Bandwidth is currently the limiting factor.

Assuming an average transaction size of around 15 KiB, nodes can handle ~8 tx/s with every Mbit/s connection speed.

There is no real answer to how many transactions per second the network can "theoretically" handle though. A higher transaction rate means higher requirements, whether it's bandwidth, CPU or disk storage. When those requirements go up, certain people will not be able to run a full node any more, and the network becomes less decentralized.

So if the requirements rise faster than technology and infrastructure can keep up, the Monero network will still be able to handle the transactions. However, it will become increasingly centralized, which is a bad thing.

The scaling issue is about keeping the network as centralized as possible, there's no hard limit.

amiuhle
  • 306
  • 3
  • 5
0

For a practical answer to this question, one needs practical benchmarking tests. CPU benchmarking tests alone are insufficient to provide a full picture answer of what the real-world network can handle.

I last ran a full sync benchmark test in June 2021: https://blog.lopp.net/2021-altcoin-node-sync-tests/

At that time (it's hard to get an exact cumulative transaction count) there were around 14,500,000 historical transactions in the blockchain. It took my benchmark machine (Core i7 8700 3.2GHz 6 core CPU) 1 day 21 hours 7 minutes to sync. That's 162,420 seconds.

TL;DR I saw a transaction verification throughput of 90 transactions per second.