Skip to content

Block

A block is the basic unit of a blockchain. It contains the following information:

  • Current state: Each block contains a header with metadata about the block. Each block has the following data at minimum:
    • Height: This refers to the position of the block in the blockchain.
    • Hash: This is a unique identifier of the block in the chain.
    • Timestamp: When was this block produced.
    • Author: The validator that produced this block.
    • Parent Hash: The hash of the previous block. We can use this property to order blocks into a chain (hence the blockchain term).
  • Extrinsics: Each block contains a list of extrinsics (also called transactions). These are commands that got executed in the current block. (e.g.: Transfer X amount of MOS from A account to B account)
  • Events: Extrinsics emit events that signal what changed in the block. (e.g: A Transfer extrinsic emits a Transferred event.)

Genesis block

This refers to the 0th block in the blockchain. Unlike a regular block, the genesis block does not have a parent hash, since it is the first block in the chain.

Best block

The best block is the most recently produced, not-yet-finalized block. Until a block is finalized, it might get discarded if validators find a better block for that given height.

Finalized block

When a block gets finalized, it means that it can no longer be discarded.

On Mosaic Chain, finalization comes from the Relay Chain (Polkadot).

TIP

Until a block is finalized, its height is not unique because of forks. Once a block with a given height gets finalized, every other block with the same height (and blocks built on top of them) gets discarded. This means that for finalized blocks, the height is unique.