Given the current gas and storage limits per block what is the maximum number of simple XTZ transfer operation that can be executed per second (or per block if that's a more natural unit) in proto 003 ?

And how will the result change under the amendment proposals described here that propose to increase the gas limit and which will be voted soon ?


1 Answer 1


Currently, there is a fixed constant that limits the total gas usage of a single block to:

hard_gas_limit_per_block = 4000000

With the proto003 fee change, transactions (txs) have minimum gas costs of:

gas_limit : 10100

This means that the maximum number of txs per block is limited to 4,000,000/10100, which is ~396. As blocks have at least a 60 second interval, we have a theoretical maximum of 6.6 (396/60) transactions per second (TPS).

Prior to the proto003 update, higher TPS were possible. It's not clear how the proposed protocol amendment by Nomadic Labs would affect this as no specifics have been released yet. Obviously an increase of the gas limit per block would help to remove this restriction on TPS.

  • I assume they will only increase the hard_gas_limit_per_operation constant. So in that case it shouldn't affect the TPS. Hard to see any good reasons for increasing hard_gas_limit_per_block currently.
    – Klassare
    Feb 4, 2019 at 6:33
  • 1
    Maybe - originally Tezos it was stated that Tezos would have a theoretical TPS of ~40 (which was later confirmed by a community member running tests). The drop in TPS was an unintended side-effect of the PROTO003 changes, so they co.6uld increase the hard_gas_limit_per_block to rectify this. A 6x increase would re-align the TPS (which would then start hitting the op size limits instead, as they were before). Feb 4, 2019 at 7:56
  • 1
    The drop in TPS was probably an intended "side-effect" in order to prevent spam. I have a hard time to believe it was something done by mistake. Having a higher TPS than Bitcoin and Ethereum is currently not needed and would only be useful for spammers. hard_gas_limit_per_block should only be increased when there is a practical need for it and when we know that the connected nodes would be able to handle it. Even if the max TPS right now is ~6.6 we know that it could be set much higher, but right now it is more important to be conservative than to make it look good on a paper.
    – Klassare
    Feb 4, 2019 at 8:33
  • I just checked the fixed constant : hard_gas_limit_per_block:8000 000, which mean the maximum number of transactions per block is limited to: 8000 000/10100, ~792.
    – Quyen
    Sep 17, 2019 at 9:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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