block validation
542 Views

GC: n

CT: Different threads were posted in order to clear up this question, but there are some points that I would need to confirm:

  • When you become a full-node (NOT miner, you just downloaded the full blockchain with a wallet or similar), are you automatically a validator? Meaning that every new block will be validated by you (and the rest of full-nodes) in order to publish to everyone else whether is trusted or not. Or it does not exist someone that can be only a “validator”, and only miners can be also validators?
  • Does block validation process spend too much energy? Or validate blocks is not a “big deal”?
  • In protocols that use PoW and PoS/DPoS (Bitcoin, Ethereum, Cardano, EOS…), once a block has been constructed using one of those consensus methods and included into the chain, will be always being involved this “second” validation for the rest of the full-nodes in that particular blockchain network? (I suspect that this second validation could be work slightly different in each of them, but always including this validation for the rest of the nodes)
  • And finally: what happen if one full-node start to rejects new blocks (he/she considers that are not valid), but the rest of the nodes says that is correct? Imagine a troll/hacker that starts to say that all the nodes are invalid, can that people be banned? Or will be that person just ignored?

S: Bitcoin – https://bitcoin.stackexchange.com/questions/80882/block-validation-who-does-it-how-much-it-costs-and-is-it-present-in-all-proto (last access: 28 January 2021)

N: 1. – block (n): “solid piece,” early 14c., blokblokke, “large solid piece of wood,” usually with one or more plane faces, from Old French bloc “log, block” of wood (13c.), which is from a Germanic source such as Middle Dutch bloc “trunk of a tree,” Old High German bloh, from PIE *bhlugo-, from *bhelg- “a thick plank, beam”.
– validation (n): “act of giving validity,” 1650s, noun of action from validate.
2. As with transactions, blocks are validated by every node on the network. The goal for this validation is that every block can independently be validated on any node, and is not depending on any external characteristics.
3. Every full node on the network receives the full Neo blockchain from its peers, and will independently validate every block it receives to ensure that the block received was not sent by a malicious or faulty node. This way, the nodes are not required to trust any other node, creating a secure and trustless system. For every block received, the node will validate all individual transactions in that block by means of using the Verification Script to validate the Invocation Script. This Invocation Script can be seen as the key to unlock the UTXO, proving that it has the right to spend it, and passing the Verification Script as a tool for every node to validate this. For more information on transaction validation, have a look at Transactions .
4. Apart from the Invocation Script and Validation Script on each individual transaction, every block itself also contains an Invocation Script and Validation Script. The Validation Script is sometimes referred to as the Witness as well.

S: 1. OED – https://www.etymonline.com/search?q=block+validation; https://www.etymonline.com/search?q=block+validation (last access: 28 January 2021). 2 to 4. Neo – https://docs.neo.org/tutorial/en-us/4-blocks/4-Block_validation_processing.html (last access: 28 January 2021).

SYN: validation of blocks

S: Neo – https://docs.neo.org/tutorial/en-us/4-blocks/4-Block_validation_processing.html (last access: 28 January 2021)

CR: blockchain