The block header - all the information you need

Gepubliceerd op 5 december 2021 om 10:30

In the previous blogs, I discussed how the different blocks are linked together. As a reminder: a block header also contains the transactions. Linking the blocks is achieved by using the hashing function. Because the next block is linked to the previous block, a chain is created. A chain of blocks: also called blockchain.

What information is actually contained in a block? And what is the function of all this information?


The information included in a block header are:

  1. Timestamp
  2. Version
  3. Merkle Root
  4. Difficulty Target
  5. Nonce
  6. Previous Hash
  7. Block reward
  8. Transaction Volume

  9. Size of the block

In the previous blogs, I covered the (most technical and fundamental) subcomponents of the blockchain header. If we put all of these components together, a block header occurs. Please note that the difficulty target and nonce only occurs in the proof of work consensus mechanism (and not proof of stake). In every component, I included links to the previous blog covering that specific component. I have also discussed other (less-technical) components of the block header briefly (number 2, 8 and 9). Because I discuss these components briefly, it doesn't mean that they are not important. All the components are equally important due to the transparency of blockchain.

1. Timestamp

The timestamp is one of the most important components of blockchain. The timestamp is used in the blockchain as proof that a particular block was used at a particular time. This timestamp is also used as a parameter to verify the authenticity of a block. The timestamp is also very important for the double spending problem. The timestamp can ensure that the same transaction cannot be verified 2 times by the miners.

This timestamp proves that all the data in the hash cannot have been created after the hash was published. Since each timestamp incorporates the previous timestamp into its hash, this will form an immutable (unchanging) record of the order in which transactions occurred. Each timestamp reinforces that before it.

Read here more about the double spending problem.

2. Version

The version of the blockchain indicates the version that the specific block uses. There are three different Blockchain versions.

- Blockchain version 1.0 (cryptocurrency): It uses a public ledger to store the data, for example Bitcoin. This version was introduced in the genesis block (January 2009), the very first block generated on the blockchain of the Bitcoin network.

- Blockchain version 2.0: smart contracts are self-executing programs that are used on Ethereum, for example. See here to read more about smart contracts.

- Blockchain version 3.0: DAPPS stands for Decentralized application. DAPPS is used to create a decentralized structure, for example the tor Browser. A Decentralized Application (DAPP) is an application that runs on the blockchain. And the application is decentralized because it is not managed by a single entity. A DAPP looks the same as any other web-based application: the DAPP performs the same functions according to the same predefined logic. What is new, however, is the linking of a public-private key infrastructure (public-private key) which allows the DAPP to contain its own wallet. 

For example, think of Uber. Part of the revenue goes to the driver, but the other part of this revenue goes to Uber. The Uber app, but built on blockchain, the Uber DAPP ensures that the revenue goes directly to the drivers without an intermediary in between.

3. Merkle root

The Merkle tree is an indispensable link in the blockchain. The Merkle tree ensures efficient data exchange and less disk space. The Merkle tree also ensures secure data transfer. The hash technology makes this possible. If the transaction and the corresponding hash value is changed, the Merkle root (and the entire data structure) is invalid. For example, the recipient can see that the message has been tampered with. 

Read hereherehere and here about the Merkle root. 

4. Difficulty target

The difficulty level determines how much computing power is needed to verify certain transactions on the blockchain. This component is of interest to miners. Miners verify transactions on the blockchain by solving hashing puzzles. The difficulty level thus determines how much processing power is required to solve this puzzle. The more difficult the difficulty, the more computing power is required to solve the puzzle. This is the case with crypto that uses the Proof of Work. So, for crypto that uses the proof of stake, a difficulty is not necessary.

Read here more about the difficulty target and mining. 

5. Nonce

The nonce is a number that miners use to find the correct hash. The miner guesses a valid hash, by entering the correct nonce in an algorithm. In this way, the miner guesses a valid hash. The nonce stands for 'number used once'. The nonce is used to increase communication security against hackers trying to carry out attacks. A nonce is a random number intended for single use, and can sometimes be combined with a timestamp that ensures that the identity of the nonce is associated with a single time value.

Discovering the nonce is the main activity miners engage in the consensus mechanism of validating blocks. The miners are competing with one another to solve a cryptographic puzzle. Please note that the nonce only is needed in the proof of work consensus mechanism.

Read here more about the nonce.

6. Previous hash

Each block (containing transactions) contains transactions and the block is linked together using the hashing function. The next block contains the information of the previous block (by means of the hashing function). Block 2 contains a hash function of the previous block. So each block contains a hash value that is linked to the previous one. 

Read here here here here here about hashing functions. 

7. Block reward

Miners compete with each other to be allowed to verify a transaction on the blockchain. The miner who solves a hashing puzzle the fastest gets to verify that transaction on the blockchain. For this effort, this miner receives a reward. This is the block reward. This block reward is in the form of cryptocurrency. You can also find the exact amount of block rewards a miner earned in the block header. 

Read here here more about rewards.

8. Transaction volume

A block contains transactions. The block header always states how many transactions are present in a block. Suppose that in block A 3000 BTC has been transacted. 3000 BTC is the transaction volume in block A. The transaction volume can vary per block. Liquidity pools and crypto arbitrage rely on the transaction volume.

9. Size of the block

The size of a block imposes a limit on the number of transactions that the Bitcoin network is capable of processing per second. This limits the network's ability to scale. When there are a lot of transactions verified in a short period of time, the network becomes congested, and transaction fees rise dramatically. 

Key takeaways

The block header is an incredibly important aspect of blockchain. It contains all the essential information about a particular block. This information is also publicly accessible. Anyone can view this information. This makes blockchain transparent. See an example of a block header with all the different transactions of that specific block here.

Reactie plaatsen

Reacties

Er zijn geen reacties geplaatst.