The Blockchain, as the name states, is nothing more than a chain of blocks.

The simplest unit of a blockchain is in fact constituted by the block.

Each block contains within it a certain number of transactions that represent the transfers of values ​​between the counterparties, carried out within the blockchain.

Blocks and transactions

Each block contains batches of transactions with their hashes.

The number of transactions contained in a block depends on the block size.

The average size of a block is about 1 MB, but it can even reach larger sizes, as in the case of Ethereum.

In Bitcoin, a block contains more than 500 transactions on average

Blockchain block time

Each blockchain has its own block time, i.e. the approximate amount of time required to add a new block to the Blockchain.

The block time affects the number of transactions that are inserted within the single block.

For example, if the blockchain had a blocking time of five minutes, and there were only four transactions completed during those five minutes, the block will consequently contain only those four transactions.

The structure of the blocks

Each block consists of a header and a list of transactions.

Each block includes the hash of the previous block, thus the blocks as a whole constitute a chain that connects all the blocks together.

The first block of the Blockchain is called “genesis block”.

Block header

The block structure is represented by the block header.

Block header structure

This data structure contains a series of information relating to blocks, also known as metadata.

  • Hash of the previous block: this value is required to compute the corresponding hash of the new block to be added to the blockchain;

  • Merkle root: it is the hash value associated with the root node of the transaction tree, which acts as a check on the validity of the block;

  • Timestamp: it’s the time stamp assigned to the block;

  • Nonce: an arbitrary value that is used in block mining.

The blocks are stored in a tree structure known as the Merkle tree.

Block time and number of transactions

In the event that there are too many transactions compared to the block size, the transactions should wait for a block still open, which has enough space left to accommodate and insert them within it.

In the case of Bitcoin, the blocking time is 10 minutes.

This value derives from the limits set in the Bitcoin source code.

These limits in turn derive from the objective of issuing no more than 21 million bitcoins in the period between 2009 and 2024.

Remunerations for miners are reduced accordingly by half every four years.