Suppose we have an malicious agent Bob with account balance of 100 units trying to double spend a coin by broadcasting two messages simultaneously:

A: Bob sends Alice 100 units

B: Bob sends Emily 100 units

Now some nodes in the transaction will receive message A first, and others B first. If a node receives both messages, it will only validate the first message (since Bob has only 100 units in his account).

Theoretically, we can figure out how many nodes consider each message to be valid, and add the transaction with the most number of validators to the blockchain.

So why exactly do we need PoW in such a scenario?

1 Answer 1


The beauty of PoW is that it requires work. If there was no PoW work required, like for example in your scenario, you could just spin up a million nodes and override any reasonable votes. But because each node needs to do actual processing to be able to participate in the rewards you can't just spin up a million effective nodes. And if there are no rewards there are no participants, except maybe for research purposes.

So in essence PoW makes sure that each (mining) node is a real node doing actual work.

Also I'm not sure how we could easily count how many nodes "vote" for what due to latency issues. Due to latency the network is all the time in a small inconsistent state when nodes receive data at different times.

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.