The blockchain consists of many blocks connected to one another by unique hashes called Proof-of-Work. These hashes are created by the process called mining.
Here we will detailly examine a random block on the blockchain and talk about the various bits of information that is contained in each and every one of them.
You can use any blockchain explorer to examine the Bitcoin blockchain, individual blocks and the information that is written in them. One of the most popular blockchain explorers is Blockchain.info.
We will take a look at Block #448811 and all of the information that is contained in it.
Block Header
This 80kb header is unique to every block and contains:
- the hashes for the previous block in the chain,
- the hash for the current block,
- the hash for the next block (if it’s already mined)
- the Merkle root hash
- 9d0eaa2c275a1314752439ce24ac587ce054e4c377ab5f24185b573db31e7d2e
Through these headers, the network is chained together, as validation of transactions and blocks relies on the fact that the correct hash information is contained in the headers.
The Merkle root hash although currently not used, is going to be an important hash in the future. It represents the transactional history up until the block which we are reviewing, so the hash, in this case, represents the whole transactional history and the Block #448811. In the future, these Merkle hashes will be used to enable correct transactions without the need to fully download the blockchain.
Block Information
Beyond the block header, we get to the very important information that correlates to the transaction history of Bitcoins in the block.
Blockchain explorers produce summaries such as these to provide general information about the block you’re looking at.
Summary | |
---|---|
Number Of Transactions | 2731 |
Output Total | 5,259.18648908 BTC |
Estimated Transaction Volume | 1,492.90005033 BTC |
Transaction Fees | 0.67787295 BTC |
Height | 448811 (Main Chain) |
Timestamp | 2017-01-18 16:01:26 |
Received Time | 2017-01-18 16:01:26 |
Relayed By | AntPool |
Difficulty | 336,899,932,795.81 |
Bits | 402867065 |
Size | 998.157 KB |
Version | 0x20000000 |
Nonce | 3703019478 |
Block Reward | 12.5 BTC |
Let’s go over and explain these terms you can find here. This way we can build upon our knowledge and understanding of the fundamental building blocks of the blockchain.
The Number of transactions is the total number of transactions that have been written in the block.
Output Total is the total amount of Bitcoin that is held by the addresses that made transactions in the block. Since it’s quite common for addresses to not spend all of their Bitcoin on a single transaction, the system needs to create at least two transactions. The first one is the transaction to a new address and the second one in a transaction back to the sender.
Estimated Transaction Volume is the total number of Bitcoin that was sent to an address different to the sender.
Transaction Fees represents the total amount of fees that are paid to the miner, along with the reward.
Height is the value given to this particular block in the chain.
Time Stamp and Received Time are usually one an the same, representing when the block was finished and uploaded to the explorer.
Relayed by represents the miner that finished the hash for the block and sent it to the network. This is usually a mining pool nowadays, as finding the right hash is extremely difficult.
Difficulty represents the value of network difficulty which is recalculated every 2016 blocks or rather two weeks. This value defines which hashes are currently accepted by the network.
Bits and Size represent the size of the block in bits and Kbytes respectively. Right now the size of the blocks is limited to 1 Megabyte, so this means that as soon as the current block reaches 1 Megabyte, mining for its hash has begun.
The Version value represents which version of Bitcoin has been used to generate the block. As time passes, developers create updates for the Bitcoin clients in order to improve certain features.
The Nonce is the variable value that is used to generate the necessary proof of work hashes. The miners change this value in order to generate a valid hash and they share it afterward so that nodes and other miners across the network can recreate the hash and validate the block.
Block Reward represents the BTC reward to the miner that successfully solved the block and expresses the value of the reward granted to the miner.
Beyond this summary, in the block information, all of the transaction information is contained and properly linked to. There are records of which addresses sent how many Bitcoin to where, as well as the number of confirmations for every transaction.
This information is available for every transaction in the block.
While not overly useful for humans to analyze the blockchain, it is required so that the autonomous code can correctly link all of the information about Bitcoin holders in the Blockchain database.
Continue Learning
Head back to the Blockchain Technology index to learn more about other aspects of these databases