1

What is the maximum transaction speed for EOS? I read that 100,000 transactions per second. But I'm not sure about this

3

TL;DR:

Single threaded performance: up to 8,000 TPS

Multi-threaded performance: unlimited TPS


Here's what Dan Larimer said at the launch of Dawn 3.0

https://medium.com/eosio/eosio-dawn-3-0-now-available-49a3b99242d7

Performance

Real-world performance is something our team has been monitoring closely, and we are very happy with the results at this time. We have benchmarked our software in several different configurations to understand the lower and upper bound of performance as we enable future optimizations. All of these tests are assuming token transfers to be apples-to-apples comparable to Bitcoin or Ethereum ERC20 token transfers in terms of computational complexity.

Worst Case — 1000 TPS

This is our baseline performance without any optimizations. We are able to sustain over 1000 TPS using a multi-node network running the interpreter with single-threaded signature verification.

Average Case — 3000 TPS

Once we turn on the JIT compiler we can sustain 3000 TPS using a multi-node network running the interpreter with single-threaded signature verification.

Best Case — 6,000 TPS

Once we implement parallel signature verification, we can assume the wall-clock-time per-signature will approach 0 as the level of parallelism and the number of signatures increase. We can simulate this environment by disabling signature verification. Under this model we can hit 6,000 TPS on a multi-node network with the JIT compiler.

Theoretical Case — 8,000 TPS

If we remove the networking code from the equation and focus only on what the CPU is capable of doing with signature verification turned off and using the JIT, then we can hit 8,000 single-threaded transactions-per-second. To go higher than this on a single chain would require implementing parallel execution of the WebAssembly, and a more advanced scheduler. In this same scenario, using the interpreter rather than the JIT, we can see 2700 TPS. This suggests that the relatively simple change of enabling the JIT will give us about 3x performance increase for transfers. These measurements were made on a MacBook 2.8Ghz i7.

Unlimited Transactions Per Second

The definition of a “transaction per second” is often an apples to oranges comparison. With inter blockchain communication we can divide the workload between as many blockchains as we want. Tokens can reliably and securely be transferred between different chains. With 1000 chains operated in parallel by the same (or different) block producers we could see millions of transactions per second. This represents a practical realization of the theoretical scaling proposals presented by other blockchains.

I think there is more to a blockchain performance other than TPS. For example block production intervals, time to reach irreversible block, etc...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.