1
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 smilar), 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?
Hi Mike, pretty good answers over here! :)
Was interesting the statement "you dont have to trust anyone, you check yourself". What happen if your transaction is being confirmed (good validation, you have enough founds) by some nodes but rejected by others? (this should not happen since everyone is following the same rules, but imaging that this could happen), or in other words, how many "good" validations should get your transaction before going into the mempool? – 3Chicken – 2018-11-10T20:49:59.613
Every node has it's own mempool. As long as you are connected to one good node (i.e not one that is not relaying your valid transaction on purpose) your tx will eventually be propagated to the whole network and a miner will pick it up and put it in a block. Remember transactions are not considered final until they are in a block and have a few confirmation. – Mike D – 2018-11-11T12:35:47.073
The question was more focused to what happens when a transaction, TX1 for example, its being spreaded over the network and some nodes reject it (not valid) but others accept it (valid transaction). This should not be possible since all are following same rules, but imagine that happens: - Is there a minimum or "valid transaction" confirmations needed, so the miners can check it into a new block? – 3Chicken – 2018-11-11T18:48:32.060
@3Chicken nothing happens, it doesn't matter who rejects, it all it matters is if it's in a block or not. If it can reach a miner and he puts it in a block then there is no problem. – Mike D – 2018-11-11T21:18:35.773
Hi Mike. Knowing that a node that detects an invalid transaction does not "publish" it to the rest of them, can happen that an invalid transaction get into a block and no one detected as invalid (but some nodes did)? I would say that this is pretty improbable (since loads of nodes validate your transaction, and I think that also the miner that construct the new block with the TX) but...could happen? – 3Chicken – 2018-11-11T21:26:35.703