<p>The rules by which a full node verifies a transaction are <a href="https://en.bitcoin.it/wiki/Protocol_rules#.22tx.22_messages" rel="nofollow noreferrer">defined here</a> in the Wiki, <a href="https://en.bitcoin.it/wiki/Protocol_documentation#Transaction_Verification" rel="nofollow noreferrer">and here</a>. </p>

<p>Full node or mining node both validate against the same set of rules. If they don't follow the rules, they have to carry the consequences and might get blocked/banned, if forwarding wrong information to the network. </p>

<p>Independent from Bitcoin, there is a difference between the two words, be it in software development or project management. <em>verification</em> is like a check list, were each parameter is checked against some specs ("the system complies with specification"). And <em>validation</em> is more process oriented ("the system meets the intended needs for a user"). </p>

<p>In the  case of full nodes/mining node, both follow the <em>verification</em> in the same way, just after verifying against the specs, the miner follows  additional steps, and is eventually lucky to get the tx in the block and find the reward.</p>

CC BY-SA 4.0
2018-05-28T13:30:21.907Z
2018-05-28T13:30:21.907Z
pebwindkraft
<p>Miners can/should (*they don't have to, see below) check if transaction is valid. Same as a node. Non mining node checks if transaction is valid and broadcasts it to every peer he is connected to.</p>

<p>*If a miner doesn't check if transactions in his block are valid, he risks being orphaned by rest of the network. Though, most of the time, transactions they receive are valid.</p>

<p>I would say it means the same, in this context.</p>

CC BY-SA 4.0
2018-05-28T18:33:43.667Z
"Non mining node checks if transaction is valid" wrong. if a miner doesn't check if transactions in his block are valid, the block *will* be orphaned. because every other node validates the transactions.
anion
CC BY-SA 4.0
2018-05-28T10:24:08.493Z
2018-05-28T10:24:08.493Z
boldi
<p>In Mastering Bitcoin, it says:</p>

<blockquote>
  <p>The transaction is then broadcasted on the bitcoin network, where each
  network node (participant) <em>validates</em> and propagates the transaction
  until it reaches (almost) every node in the network. Finally, the
  transaction is <em>verified</em> by a mining node and included in a block of
  transactions that is recorded on the blockchain.</p>
</blockquote>

<p>I assume that nodes are using public keys to validate a digital signature, but what do miners do? I know that they are solving a hash puzzle to find the nonce that generates a certain pattern of a hash value but are they <em>verifying</em> something here? </p>

<mining-theory><validation><mastering-bitcoin>
What’s the difference between a validation by nodes and a verification by miners?
sflow
# What’s the difference between a validation by nodes and a verification by miners?

(Asked by: username_0 on 2018-05-28)

In Mastering Bitcoin, it says:

> The transaction is then broadcasted on the bitcoin network, where each
> network node (participant) *validates* and propagates the transaction
> until it reaches (almost) every node in the network. Finally, the
> transaction is *verified* by a mining node and included in a block of
> transactions that is recorded on the blockchain.

I assume that nodes are using public keys to validate a digital signature, but what do miners do? I know that they are solving a hash puzzle to find the nonce that generates a certain pattern of a hash value but are they *verifying* something here?

**Tags:** mining-theory, validation, mastering-bitcoin


---

## 2 answers

### Answer by username_1 on 2018-05-28. Score: 1

The rules by which a full node verifies a transaction are [defined here](https://en.bitcoin.it/wiki/Protocol_rules#.22tx.22_messages) in the Wiki, [and here](https://en.bitcoin.it/wiki/Protocol_documentation#Transaction_Verification).

Full node or mining node both validate against the same set of rules. If they don't follow the rules, they have to carry the consequences and might get blocked/banned, if forwarding wrong information to the network.

Independent from Bitcoin, there is a difference between the two words, be it in software development or project management. *verification* is like a check list, were each parameter is checked against some specs ("the system complies with specification"). And *validation* is more process oriented ("the system meets the intended needs for a user").

In the case of full nodes/mining node, both follow the *verification* in the same way, just after verifying against the specs, the miner follows additional steps, and is eventually lucky to get the tx in the block and find the reward.


---

### Answer by username_2 on 2018-05-28. Score: 0

Miners can/should (\*they don't have to, see below) check if transaction is valid. Same as a node. Non mining node checks if transaction is valid and broadcasts it to every peer he is connected to.

\*If a miner doesn't check if transactions in his block are valid, he risks being orphaned by rest of the network. Though, most of the time, transactions they receive are valid.

I would say it means the same, in this context.

> **Comments:**
> **username_3**: "Non mining node checks if transaction is valid" wrong. if a miner doesn't check if transactions in his block are valid, the block *will* be orphaned. because every other node validates the transactions.  

---

