0

In a blockchain there are miner nodes and validator nodes. The job of a validator node is to validate transactions to be included in the mempool, broadcast or propagate the transaction for the other nodes and then to validate the candidate blocks created by the miner nodes. So can a validator node be maliciously programmed and deployed on the network by an attacker to accept/validate tampered transactions(favoring the attacker such as by double spending) generated by the attacker? If yes then what happens if the attacker owns more than 50% of the nodes? (not >50% of the total hash power but >50% of the total validator nodes)

4

The number of nodes that perform validation is completely irrelevant, because there is no vote.

Validating nodes validate everything independently; they all have their own mempool with transactions they believe are valid. Who cares that an attacker spins up a gazillion nodes? It won't make your node (which you're presumably using to validate your payments, if any) accept these invalid things.

14
  • 4
    Nodes are free to relay a transaction or not, and they can certainly wreak havoc in the network if suddenly a huge portion of the network stops relaying. But they cannot ever make an honest node think an invalid transaction is valid. Which transactions your node considers valid or invalid is not determined at all by what its peers or other network nodes think about it. Dec 6 '21 at 16:01
  • 1
    There are hundreds of rules, and I can't go into detail for all of them, but the big picture is: doesn't steal someone's money without their signature, doesn't conjure up money out of nothing, doesn't spend the same coins twice. Every honest node validates all these rules for every transaction independently (it does not trust what other nodes think about it), for every transaction it sees separately (as a mempool tx) or in a block (in which case, if the transaction is invalid, the entire block it is in is considered invalid too). Dec 6 '21 at 16:16
  • 1
    Yes, every node has its own mempool. There are often small inconsistencies between nodes. Every node also has its own idea of which blocks are valid and accepted (e.g. they may not have heard about a new block that was recently mined), but due to the incentives around PoW, all nodes necessarily converge towards the same blockchain after some time. That convergence does not exist for the mempool. Dec 6 '21 at 16:24
  • 1
    They draw transactions to mine from their own mempool. That's the only one they know is honest. Dec 6 '21 at 16:34
  • 2
    That's hard to answer without context. Perhaps that statement is using the word "miner" to refer to hashing hardware, which generally outsources the block construction to a mining pool operator entirely (so hashers don't have a mempool, but they also don't select transactions for blocks at all). Perhaps the statement is referring to the theoretical possibility of having a miner that only produces empty blocks (which works without a mempool). But in practice: all miners (in the sense of nodes that produce block candidates for mining) have their own mempool. Dec 6 '21 at 16:43

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.