What’s the difference between a validation by nodes and a verification by miners?

2

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?

sflow

Posted 2018-05-28T09:49:45.720

Reputation: 199

Answers

1

The rules by which a full node verifies a transaction are defined here in the Wiki, and here.

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.

pebwindkraft

Posted 2018-05-28T09:49:45.720

Reputation: 4 568

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.

boldi

Posted 2018-05-28T09:49:45.720

Reputation: 51

"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 2018-05-28T18:33:43.667