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?

2 Answers 2

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.

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.

1
  • "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
    Commented May 28, 2018 at 18:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.