<p>Full nodes validate everything. A miner must be running a full node. Not all full nodes are miners, but all miners are full nodes.</p>

<p>A full node validates everything in a block; it validates the transactions, it checks the block header is correct, and checks the Proof of Work is correct. So in the validation process, full nodes (and thus miners) will verify that the PoW is valid (hash of the block header is less than the target), that the block header is correct (contains the correct target, merkle root, etc.). Then they will check that each individual transaction spends UTXOs that exist, check that the scripts validate to true, and check that the output amounts are valid (less than or equal to the input amounts). They will also check that the coinbase transaction pays out the computed maximum payout for the block (subsidy + transaction fees).</p>

CC BY-SA 4.0
2019-08-24T16:18:03.253Z
But how they check each transaction from block  header
Sanjeev Dwivedi
CC BY-SA 4.0
2019-08-24T16:31:17.630Z
Blocks are more than just the header, they contain transactions. The transactions are sent along with the block header to form an entire block.
Ava Chow
CC BY-SA 4.0
2019-08-24T17:21:16.497Z
So if i am saying that node A is having some block (B) and other nodes X,Y,Z are wants to validate the block B than  node A has to send the block B to nodes X,Y,Z. This block B contains the hash of previous block, time stamp, nonce and Merkele root where Merkle root are created from list of transactions. So   Node A send the entire things included the list of transactions to other nodes X,Y,Z  or node A send only block excluding the list of transactions for the validation process
Sanjeev Dwivedi
CC BY-SA 4.0
2019-08-24T17:27:08.900Z
In general node A will send the entire block B with all of its transactions to nodes X, Y, and Z.
Ava Chow
CC BY-SA 4.0
2019-08-24T18:26:59.207Z
So if node A send the transactions with block header to other nodes X,Y,Z than it always possible that some one on the way, tempered the transactions  so how other nodes validate the transaction.
Sanjeev Dwivedi
CC BY-SA 4.0
2019-08-24T18:43:11.813Z
If a transaction is tampered with, nodes X, Y, and Z will determine the transaction is invalid. They validate it in the same way, just conclude with a different result.
Ava Chow
CC BY-SA 4.0
2019-08-24T16:03:10.440Z
2019-08-24T16:03:10.440Z
Ava Chow
<p>In mining process, miners validate the block based on proof of  work or using some other consensus mechanism.
Miners also validate the block. So in this validation process, miners validate only hash value of current block (or) they validate the entire transactions and then they validate the hash value of current block.
Please clarify this.</p>

CC BY-SA 4.0
2019-08-24T16:17:22.627Z
But how they check each transaction from block header.
Sanjeev Dwivedi
<blockchain><block><validation>
Regarding block validation in blockchain
Sanjeev Dwivedi
# Regarding block validation in blockchain

(Asked by: username_0 on 2019-08-24)

In mining process, miners validate the block based on proof of work or using some other consensus mechanism.
Miners also validate the block. So in this validation process, miners validate only hash value of current block (or) they validate the entire transactions and then they validate the hash value of current block.
Please clarify this.

**Tags:** blockchain, block, validation

> **Comments:**
> **username_0**: But how they check each transaction from block header.  

---

## 1 answers

### Answer by username_1 on 2019-08-24. Score: 1 | Accepted answer

Full nodes validate everything. A miner must be running a full node. Not all full nodes are miners, but all miners are full nodes.

A full node validates everything in a block; it validates the transactions, it checks the block header is correct, and checks the Proof of Work is correct. So in the validation process, full nodes (and thus miners) will verify that the PoW is valid (hash of the block header is less than the target), that the block header is correct (contains the correct target, merkle root, etc.). Then they will check that each individual transaction spends UTXOs that exist, check that the scripts validate to true, and check that the output amounts are valid (less than or equal to the input amounts). They will also check that the coinbase transaction pays out the computed maximum payout for the block (subsidy + transaction fees).

> **Comments:**
> **username_0**: But how they check each transaction from block  header  
> **username_1**: Blocks are more than just the header, they contain transactions. The transactions are sent along with the block header to form an entire block.  
> **username_0**: So if i am saying that node A is having some block (B) and other nodes X,Y,Z are wants to validate the block B than  node A has to send the block B to nodes X,Y,Z. This block B contains the hash of previous block, time stamp, nonce and Merkele root where Merkle root are created from list of transactions. So   Node A send the entire things included the list of transactions to other nodes X,Y,Z  or node A send only block excluding the list of transactions for the validation process  
> **username_1**: In general node A will send the entire block B with all of its transactions to nodes X, Y, and Z.  
> **username_0**: So if node A send the transactions with block header to other nodes X,Y,Z than it always possible that some one on the way, tempered the transactions  so how other nodes validate the transaction.  
> **username_1**: If a transaction is tampered with, nodes X, Y, and Z will determine the transaction is invalid. They validate it in the same way, just conclude with a different result.  

---

