2

I do understand that Full Nodes validate all transactions twice based upon the public key of the users. Firstly, once a transaction is unconfirmed and secondly the transactions that have been mined in a block. My Question is do the Full Nodes also perform Proof of Work to confirm the validity of a Block or not?

2

Hashcash-style proof of work is a simple search process: Try lots of nonce values until you get an acceptable solution. To verify a node simply just has to try one value, the one the miner provided. So it uses the same test but does not search, as a result it does very little work.

The Bitcoin software hasn't really validated transactions twice since 2012. Caching is used to reuse the validation effort from the first time the transaction was seen, especially for the digital signature verification.

Very careful engineering has been required to make sure that the handling of unconfirmed transactions can't accidentally cause invalid blocks to pass. This is especially a concern because complications like locktimes and soft-forks can make the validity of a transaction some what conditional. But in the latest software really the only validation needed at block time of an already seen transaction is the locktimes and double spending checks.

|improve this answer|||||
0

No, there is no need for a node to perform PoW, since the PoW has already been performed. All they do is validate that the block/nonce pair equals a valid hash for the specified difficulty. It's just a single operation per block.

Of course there is other validation, such as deciding which block is correct in cases where there are two competing blocks, but that's not PoW.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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