<p>Blocks contain a header, and headers are chained, so blocks are chained also.  Note the merkle root from your question: this attaches the transactions in the block to the header, making them a logical combined unit:</p>
<p><a href="https://web.archive.org/web/20191201031454/https://bitcoin.org/img/dev/en-blockchain-overview.svg" rel="noreferrer"><img src="https://web.archive.org/web/20191201031454/https://bitcoin.org/img/dev/en-blockchain-overview.svg" alt="block chain" /></a></p>
<p>That is, you can't attach an arbitrary block to an arbitrary header---each header only attaches to one set of transactions.</p>
<p>You are correct that this expression is wrong: &quot;every [valid] block contains a hash of the previous block&quot;.  That phrasing may be useful for non-techies, but if you find it in any editable technical documentation, you should probably change it.</p>

CC BY-SA 4.0
2015-01-12T14:27:02.473Z
2021-01-16T14:18:54.880Z
2021-01-16T14:18:54.880Z
David A. Harding
<p>We know widely used explanation of the blockchain:
"<a href="https://en.bitcoin.it/wiki/Block_chain" rel="noreferrer">Every block contains a hash of the previous block</a>". The sentence above implies that since every block contains a hash of the previous block, therefore every block should have a knowledge about transactions included into the previous block because every block has a following structure:</p>

<p>Block:</p>

<ol>
<li>Magic No</li>
<li>Block Size</li>
<li>Block Header</li>
<li>Transaction counter</li>
<li>Transactions</li>
</ol>

<p>Block Header:</p>

<ol>
<li>Version</li>
<li>hashPrevBlock</li>
<li>hashMerkleRoot</li>
<li>Time</li>
<li>Bits</li>
<li>Nonce</li>
</ol>

<p>However, every block does not have knowledge about transactions incuded into previous block <strong>correct???</strong></p>

<p>As fas as I understand there are two chains in the Bitcoin: </p>

<ol>
<li>a chain of <a href="https://en.bitcoin.it/wiki/Block_hashing_algorithm" rel="noreferrer">blocks headers</a> (a block chain)</li>
<li>a chain of transactions (<a href="https://en.bitcoin.it/wiki/Transaction#general_format_.28inside_a_block.29_of_each_input_of_a_transaction_-_Txin" rel="noreferrer">Prev Tx Hash</a>)</li>
</ol>

<p>Hence just to clarify, rather than saying: "every block contains a hash of the previous block", would not it be correct to say: "header of every block contains a hash of header of the previous block"?</p>

<p>Please correct my assumptions if I am wrong. Thanks.</p>

<blockchain><block-header>
Is it chain of headers rather than a chain of blocks?
Nur
# Is it chain of headers rather than a chain of blocks?

(Asked by: username_0 on 2015-01-12)

We know widely used explanation of the blockchain:
"[Every block contains a hash of the previous block](https://en.bitcoin.it/wiki/Block_chain)". The sentence above implies that since every block contains a hash of the previous block, therefore every block should have a knowledge about transactions included into the previous block because every block has a following structure:

Block:

1. Magic No
2. Block Size
3. Block Header
4. Transaction counter
5. Transactions

Block Header:

1. Version
2. hashPrevBlock
3. hashMerkleRoot
4. Time
5. Bits
6. Nonce

However, every block does not have knowledge about transactions incuded into previous block **correct???**

As fas as I understand there are two chains in the Bitcoin:

1. a chain of [blocks headers](https://en.bitcoin.it/wiki/Block_hashing_algorithm) (a block chain)
2. a chain of transactions ([Prev Tx Hash](https://en.bitcoin.it/wiki/Transaction#general_format_.28inside_a_block.29_of_each_input_of_a_transaction_-_Txin))

Hence just to clarify, rather than saying: "every block contains a hash of the previous block", would not it be correct to say: "header of every block contains a hash of header of the previous block"?

Please correct my assumptions if I am wrong. Thanks.

**Tags:** blockchain, block-header


---

## 1 answers

### Answer by username_1 on 2015-01-12. Score: 20 | Accepted answer

Blocks contain a header, and headers are chained, so blocks are chained also. Note the merkle root from your question: this attaches the transactions in the block to the header, making them a logical combined unit:

[![block chain](https://web.archive.org/web/20191201031454/https://bitcoin.org/img/dev/en-blockchain-overview.svg)](https://web.archive.org/web/20191201031454/https://bitcoin.org/img/dev/en-blockchain-overview.svg)

That is, you can't attach an arbitrary block to an arbitrary header---each header only attaches to one set of transactions.

You are correct that this expression is wrong: "every [valid] block contains a hash of the previous block". That phrasing may be useful for non-techies, but if you find it in any editable technical documentation, you should probably change it.


---

