Skip to content

Block

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

  • Current state: Each block contains the state of the whole blockchain. Each block has the following data at minimum:
    • Height: This is 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. (Eg: Transfer X MOS from A account to B account)
  • Events: Extrinsics emits events, that signal what changed in the block. (Eg: A Transfer extrinsic emits Transfered event.)t

Genesis block

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

Best block

When a new block gets produced, it is called best block, which means non-finalized block. Until a block is finalized, it might get discarded 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 not finalized, it's height is not unique because of forks. Once a block with a given height gets finalized, every other block with the same height (and other blocks that are built on these blocks) gets discarded. This means, that for finalized blocks the height is unique.