Digging into a block in blockchain.

We have already seen blocks contain data or transactions. But, is it all? No, lets get inside a block.

A block comprises of two parts:- Block header and Transactions list

BLOCK HEADER

Block header contains vital info of block such as hash, merkle root etc. This is what an actual block header looks like

Source- Blockchain.info

We shall see what some of these terms are:-

  1. Hash- A unique number which acts as an identity for each block. It is generated by combining merkle root and previous block’s hash.

Here 1 feet is difficulty level and worker is miner. Lets sum it up, if miner wants to add block to blockchain and get paid, there is a minimum requirement of hash that has to be met otherwise miner can’t add block into blockchain.

6. Merkle root:- There are a ton of transactions inside a block. For example, this block has 2074 transactions and we need one hash per block. Since each transaction will produce one hash, there will be 2074 hashes in this case. How these many number of hashes will produce one single hash? Hashes of two transactions will be hashed together to form a new hash. Next two hashes of two transactions will be hashed together to form another new hash. Those two new hashes will be hashed together until we are left with one supreme hash.

This is what merkle tree looks like with merkle root at the top.

7. Nonce:- If worker A is not getting desired minimum height of grass in spite of running machine over grass again and again, what he should do? Change blades may be? And keep changing blades until 2 feet reduces to 1.

Similarly, nonce(appended after merkle root) is a numberwhich is hashed together with merkle root resulting in desired minimum hash. If it doesn’t meet minimum hash requirement, it keeps on changing itself until it meets hash requirement.

TRANSACTION LIST

Name itself speaks. It consist of all transactions, remember that 2074 number?

Source- Blockchain.info

This was an overview of what an actual block in bitcoin blockchain is.

Comments, questions and inputs are welcome.