๐ŸงฑTutorial 30: Inconsistent block lengths across chains

Introduction to Block Number and Block Timestamp

In blockchain systems, two important metrics are frequently used to measure the passage of time and the progression of transactions: block.number and block.timestamp.

  • block.number refers to the current number of blocks mined since the creation of the blockchain, essentially marking the block's sequential position. It provides a measure of the network's progression by counting how many blocks have been added since the genesis block.

  • block.timestamp is a Unix timestamp that indicates when a specific block was mined. It gives the real-world time, in seconds, at which the block was created.

For Ethereum, it is generally assumed that a new block is produced roughly every 12 seconds, a metric often used in smart contract development. However, this block time can vary, and making incorrect assumptions about it can result in serious vulnerabilities. Furthermore, the use of block.number and block.timestamp can vary across different EVM-compatible chains, making hardcoding block assumptions even more dangerous in multi-chain deployments.

Last updated