Data Components of Bitcoin Block

This section describes data components of Bitcoin block.

At a high level, a Bitcoin block has two major data components:

1. Transaction List - The ordered list of transactions. The list could have 0 transactions, or more than 1,000 transactions. There is no upper limit. But the block size is limited to 1 MB. So if the average size of transactions is 500 bytes. You can store up to 2,000 transactions in a block.

2. Block header - The block header has a fixed size of 80 bytes. It contains 4 important information:

Below is an illustration of 2 data components in a Bitcoin block: Transaction List and Block Header. Note that the Merkle Tree is not stored in the block.

Data Components of Bitcoin Block
Data Components of Bitcoin Block

Table of Contents

 About This Book

 Introduction of Bitcoin

 Bitcoin Blockchain

 Bitcoin Wallet

 Bitcoin Core

 Bitcoin Transaction

 Bitcoin-Qt - Bitcoin Core GUI

 Bitcoin Mining

 Bitcoin Consensus Rules

Bitcoin Block Data Structure

Data Components of Bitcoin Block

 Data Properties of Bitcoin Block

 Merkle Root of Bitcoin Block

 Calculate Double-SHA256 Hash with Python

 Verify Merkle Root of 2 Transactions

 Verify Merkle Root of 7 Transactions

 Data Structure of Bitcoin Block

 "getblock blockhash 0" - Serialized Hex Block Data

 Block Hash Calculation Algorithm

 Block Hash Calculation in Python

 Calculate Double-SHA256 Hash with Java

 Bitcoin Transaction Data Structure

 Bitcoin Blockchain APIs

 Copay - Bitcoin Wallet

 Archived Tutorials

 References

 Full Version in PDF/EPUB