Nomadic Labs knowledge center
Nomadic LabsTezos Developer PortalTezos stack exchangeTezos Agora
  • 👋Introduction
  • Understanding the Tezos blockchain
  • 🧑‍🍳Baking - Creating blocks on the Tezos blockchain (DEPRECATED)
  • 🖥️Nodes in the Tezos blockchain (DEPRECATED)
  • 🔁Tezos Amendment Process (DEPRECATED)
  • 🎟️Tickets (DEPRECATED)
  • 🔏Sapling - Make confidential transactions on Tezos (DEPRECATED)
  • ✍️Formal Verification
  • How-To
    • 🛠️Spin up a Tezos baking node (DEPRECATED)
    • 💡Prepare your baker for Ithaca2 (DEPRECATED)
    • 🔂Run a persistent baking node (DEPRECATED)
    • 🔌Select a public node (DEPRECATED)
    • 💻Run a Tezos node (DEPRECATED)
    • 🙋‍♂️Demonstrate ownership of a tz address (DEPRECATED)
    • 📥Submit transactions to a specific baker (DEPRECATED)
    • 🚀Estimate Tezos performances (DEPRECATED)
    • 💰Estimate transaction cost (DEPRECATED)
  • Decentralized Applications
    • 💸DeFi on the Tezos blockchain
    • 🎨Non-Fungible Tokens (NFTs) on the Tezos blockchain
    • 🏗️Home Base DAO
    • 🆔Self-sovereign Identities
      • Introduction
      • Issues surrounding decentralized identity
      • Development of the notion of identity
      • Decentralized identifiers
      • Decentralized identity platforms
      • Tezos and decentralized identity
      • Sources & bibliography
  • Projects
    • 🇪🇺EuroTz
    • ☑️Whitelist smart contract
    • 🎨Rarible
  • Tools
    • 🔧Recommended tooling
  • FAQ
    • ❓Installation & data volume
    • ❔Network flow
Powered by GitBook
On this page
  • NFT transfer performances
  • Standard Tez transfer performances

Was this helpful?

  1. How-To

Estimate Tezos performances (DEPRECATED)

NFT transfer performances

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:

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

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:

Standard Tez transfer performances

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.

PreviousSubmit transactions to a specific baker (DEPRECATED)NextEstimate transaction cost (DEPRECATED)

Last updated 2 years ago

Was this helpful?

Max batches=5,200,000501,048≈10\text{Max batches} = \frac{5,200,000}{501,048} \approx 10Max batches=501,0485,200,000​≈10
Leftover gas=5,200,000−(10×501,048)≈189,520\text{Leftover gas} = 5,200,000 - (10 \times 501,048) \approx 189,520Leftover gas=5,200,000−(10×501,048)≈189,520
Max NFT transfers per block=(10×650)+(1×240)=6,740\text{Max NFT transfers per block} = (10 \times 650) + (1 \times 240) = 6,740Max NFT transfers per block=(10×650)+(1×240)=6,740
6,74030≈224 NFT transfer/second\frac{6,740}{30} \approx 224 \ \text{NFT transfer/second}306,740​≈224 NFT transfer/second
max gas per blocktx gas consumption×time per block=tx/second\frac{\text{max gas per block}}{\text{tx gas consumption} \times \text{time per block}} = \text{tx/second}tx gas consumption×time per blockmax gas per block​=tx/second
5,200,0001,420×30≈122 tx/second\frac{5,200,000}{1,420 \times 30} \approx 122\ \text{tx/second}1,420×305,200,000​≈122 tx/second

[2]:

🚀
https://blog.nomadic-labs.com/a-look-ahead-to-tenderbake.html