Blockchain 101

Components of a Block

Each block is limited by the amount of information it can hold. Blocks vary in size depending on the chain, as does each network’s time to completely validate the block, also known as a “block time.” Bitcoin’s blocks are 1MB and take about 10 minutes to validate.

Each block consists of:

  • Block Height (to mark the position it occupies in the chain)
  • Header Hash (a code that links the new block with the last block in the chain)
  • Timestamp (the time when the block was created)
  • Merkle Root (the data within the block is hashed into a code)
  • Nonce (literal definition: a random variable. It is used to create the final hash of the block which will be used to add the next block to the chain)
  • Output Hash (all the contents of a block hashed together)

Blocks are designed to hold confirmed transactions. They provide a record that is then added to the chain permanently and can be referenced at a later time. The key components of a block help identify and secure the blockchain.

Since a copy of the blockchain is stored on each computer on the network, that data can be retrieved easily and quickly. Additionally, this allows nodes to act as reliable validators. The further the chain progresses, the harder it is to alter data, as each subsequent block would have to be changed as well. This process would easily alert other nodes to this malicious action. Essentially, to change historical data that has been added to the chain, it would have to be rewound, appending one block at a time. Blocks are transparent, but hashes of data are used extensively to ensure the integrity of the blockchain. We will cover hashes in the next lesson.