0

How are malicious nodes prevented from, after getting the nonce of a new block found by someone else, broadcast it to the other nodes claiming it to be its?

Also, how does the bitcoin system solve the situation of an evil miner who has found the nonce of a block and then sends it with 2 different nodes, each one reaching 50% of the network, therefore having a problem of ownership of this work?

Finally, if all nodes have to check a broadcasted nonce to prove it's legit, how does the network defend against attacks in which thousands of ip adresses (e.g. botnet) start sending wrong nonces, causing a cpu DDoS because of all the peers hashing and checking these nonces.

Thanks for the answers.

Note: As the three questions are related I thought that putting them all in a single question was correct, if not told me and I will edit the text to only contain the first question, placing the other two in different questions.

1
  • 2
    Your questions indicate a misunderstanding of the mining process. Don't have time for a proper answer now, but take a step back and drop some of your assumptions, then read up on mining again. For example the none is specific for the block that was found, that block contains the address of the money that found the block. Nothing can be changed in the block without invalidating it completely.
    – Jannes
    Commented Mar 4, 2015 at 19:21

1 Answer 1

3

How are malicious nodes prevented from, after getting the nonce of a new block found by someone else, broadcast it to the other nodes claiming it to be its?

The nonce is found against a block which contains the coinbase transaction which claims the reward to the address of the person who found that nonce. So you can't claim it to be yours. You're incentivized to broadcast it to as many peers as possible to help it spread more quickly, but that nonce only works for the block which contains that specific coinbase transaction. Changing the coinbase transaction to claim the coins yourself would result in a different hash of the block and therefore you'd need to find a new nonce.

Also, how does the bitcoin system solve the situation of an evil miner who has found the nonce of a block and then sends it with 2 different nodes, each one reaching 50% of the network, therefore having a problem of ownership of this work?

Not sure I understand this question but if there's a node with more than 50% of the hashing power of the entire network combined, we're in for larger problems.

Finally, if all nodes have to check a broadcasted nonce to prove it's legit, how does the network defend against attacks in which thousands of ip adresses (e.g. botnet) start sending wrong nonces, causing a cpu DDoS because of all the peers hashing and checking these nonces.

Again, nonces work with the hash of a block. All you have to do to check the validity of the nonce is see whether the resulting hash is smaller than a specific value. If it is, you've found a valid block! So there's no problem in checking or DDoSing the nonces. In fact that's what mining is: a race for finding a valid nonce for the next block.

3
  • The idea is that, as to check a nonce yo have to spend cpu time, it would be possible to spam wrong nonces to waste the cpu time of all the peers in the network, therefore succeeding in a DDoS. Commented Mar 5, 2015 at 15:08
  • 1
    Checking the validity of a header is very quick, and nodes would drop peers that continously send false information. They would not be able to ddos anyone.
    – Murch
    Commented Mar 5, 2015 at 15:47
  • 1
    The crux of understanding why the DDoS attack won't work is to understand that checking a nonce is cheap, bad blocks won't get relayed, and consistently bad IP addresses will get blocked. So thousands are way, way less than you'd need to cause significant harm. Commented Mar 5, 2015 at 23:34

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.