🚀Estimate Tezos performances (DEPRECATED)
Last updated
Last updated
At the time of writing (February 2022, Hangzhou):
a typical NFT transfer on Tezos consumes¹ 2,691 gas units per transaction,
the Tezos maximum block gas limit is 5,200,000 gas units,
the block time is 30 seconds.
To maximize throughput, we can use batching - grouping several transactions into a single block.
We performed experiments and measured how gas consumption varies depending on how many NFT transfers we group into a single batch of transactions, as presented in the following experimental values table:
We had to stop at 650, because we had reached the operation size limit imposed by the protocol. Thus, the largest batch we can use is 650. Now we estimate how many batches we can have in a block, considering that the max block gas limit is 5,200,000 gas units:
We now need to process the leftover gas:
By taking this value and comparing it to our experimental values table we can see that we can add an extra batch of 240 NFT transfers approximately.
That would make the total of NFT transfers per block equal to:
Since we have two blocks per minute, the number of transactions per second would be:
For standard tez transfers, we can process the performance of the Tezos blockchain with the following formula:
In that scenario, the gas consumption is 1,420 gas units, and we will keep the same values as in the previous calculation:
Tezos maximum block gas limit: 5,200,000 gas units
Block time: 30 seconds.
Performance should improve further with the planned Tezos upgrade to adopt the Tenderbake consensus algorithm ², and the Hangzhou amendment.
[1]: With the minimal contract implementing the FA2 standard.
[2]: https://blog.nomadic-labs.com/a-look-ahead-to-tenderbake.html
Batch size
Gas consumed
1
2,691
10
9,601
100
78,709
240
186,213
300
232,285
400
309,074
500
385,863
600
462,653
650
501,048