<p>The proof-of-work is the fact that the hash of the block is a low number, when you interpret the hash as a long 256-bit number. If you change anything in the block then the hash changes and is very unlikely to be low enough (below the target), so the proof-of-work is gone. And quite right, you did not do any work to create that modified block.</p>

<p>So you can't modify the block after it is mined, which means you cannot change the bitcoin address that this block sends its miner income (new coins and transaction fees) to.</p>

<p>You cannot steal the miner income from a block after the block is mined.</p>

<p>However, if a mining pool server is insecure you could hack into it and make the mining pool mine blocks that pay your bitcoin address instead of their own.</p>

<p>You could also make individual miners in a pool mine for you instead of themselves. They wouldn't even need to have an insecure system. BGP routing attacks have been used to hijack miners before, making them connect to the hacker's server instead of the mining pool server they want to connect to. See <a href="https://www.wired.com/2014/08/isp-bitcoin-theft/" rel="nofollow noreferrer">https://www.wired.com/2014/08/isp-bitcoin-theft/</a> This could be mitigated by using TLS, just like web servers use TLS (https addresses).</p>

<p>So there are multiple ways to steal from miners, but doing something with a block that is already mined is not one of them.</p>

CC BY-SA 3.0
2017-09-26T14:28:53.960Z
@ Dr.Haribo, I do not mean "sealing block" but I mean "stealing nonce" i.e. the answer of pow for a "unique block".
Questioner
CC BY-SA 3.0
2017-09-26T14:51:28.480Z
Without the rest of the block the nonce is just some 32-bit number. Completely worthless. Sure you can call it the answer for a block. The answer for a block paying someone else, not you.
Dr.Haribo
CC BY-SA 3.0
2017-09-26T15:31:39.873Z
@ Dr.Haribo, But I have the rest of block. Consider me and you are lokking for related nonce for block "b" (so, both of us have block "b" and block "b" is the head of blockchain), then you can find correct nonce before me, but your machine is insecure and so I'm monitoring yout machine. As a result, I can broadcast your nonce in the entire network. (pow inequation is : if (hash of "b" + nonce) < T then pow succeeded)
Questioner
CC BY-SA 3.0
2017-09-26T15:33:02.857Z
You can't broadcast a nonce, only a whole block. And the block that the nonce works with says "pay DrHaribo". If you change the block to say "pay sas" then the block isn't valid anymore.
Dr.Haribo
CC BY-SA 3.0
2017-09-26T15:33:44.453Z
You can't steal your neighbor's key to rob a bank. Their key only works on their door, not the bank.
Dr.Haribo
CC BY-SA 3.0
2017-09-26T16:02:16.113Z
@ Dr.Haribo' I am stealing your nonce when you find it and when nonce is not signed. Please explain more clear your answers. I do change block "b" i.e. head of blockchain and your nonce is created based on hash of block "b".
Questioner
CC BY-SA 3.0
2017-09-26T16:02:51.207Z
Nonces are not signed, they are just 32-bit numbers
Dr.Haribo
CC BY-SA 3.0
2017-09-26T16:05:09.240Z
@ Dr.Haribo, I do change block "b" i.e. head of blockchain and your nonce is created based on hash of block "b".
Questioner
CC BY-SA 3.0
2017-09-26T16:06:56.200Z
Right. You change the block, the hash is no longer under the target. Invalid block. You broadcast it but noone wants it.
Dr.Haribo
CC BY-SA 3.0
2017-09-26T16:07:04.430Z
@  Pieter Wuille , Do you agree with me?
Questioner
CC BY-SA 3.0
2017-09-26T16:08:22.287Z
@  Dr.Haribo, Sorry, but I sense you're repeating your sentences. consider pow inequation is i.e. If hash of ("b" + nonce) < T then pow succeeded.
Questioner
CC BY-SA 3.0
2017-09-26T16:10:43.517Z
I build a block, putting together some transactions. In the first transaction (the coinbase) I specify that miner income should be paid to my bitcoin address. I try to modify parts of the block (the nonce or other parts) to get a hash that is below the target. I find one. I now have a valid block that pays me. If you get the block you can't do anything with it. If you change ANY part then the hash will be above the target, so the block is invalid.
Dr.Haribo
CC BY-SA 3.0
2017-09-26T16:11:43.710Z
So sure, you can steal my block data, but if you change the part where the block says where the miner income should go to, then it's not a valid block anymore. You now have to start over, change the nonce or other parts, try to find a hash below the target. You accomplished nothing.
Dr.Haribo
CC BY-SA 3.0
2017-09-26T16:15:00.793Z
@ Dr.Haribo, Thus, you mean : "for a unique blockchain that network has a consensus on it, there is not a unique nonce and everybody find a different answer" right?
Questioner
CC BY-SA 3.0
2017-09-26T16:16:55.307Z
Everyone are trying to build their own blocks, putting together the data they want to put in the block. They are trying many billions of variations of the block every second. Not just changing the nonce, that would only last a split second. They build billions of blocks per second and check to see if any of them have a hash below the current target on the bitcoin network. That's what mining is.
Dr.Haribo
CC BY-SA 3.0
2017-09-26T16:28:32.020Z
@ Dr.Haribo, So we must change inequation of PoW : If hash of ("b" + nonce) < T ?
Questioner
CC BY-SA 3.0
2017-09-26T16:31:19.457Z
The proof-of-work is the fact that I found a block where hash("pay drharibo" + nonce + other-stuff) < target. If you change ANY part of the hashed data, it will no longer be < target. So you no longer have a proof-of-work.
Dr.Haribo
CC BY-SA 3.0
2017-09-26T21:31:52.177Z
@sas - Dr. Haribo was quite clear in his explanations. Perhaps you should read some more about how Bitcoin works? The wiki is a good source for this - https://en.bitcoin.it/wiki/.
Meni Rosenfeld
CC BY-SA 3.0
2017-09-23T23:09:13.813Z
2017-09-23T23:09:13.813Z
Dr.Haribo
<p>Is it possible to steal proof-of-work answer from a miner who has insecure machine? Consider a miner who has insecure machine found correct answer of proof-of-work and an adversary steals this it and broadcasts to the whole of network to receive the related <strong>reward</strong>. Is it possible? and if so, what the solution? I do not mean "sealing block" but I mean "stealing nonce" i.e. the answer of pow for a "unique block". Consicer two miners (rational and honest) are working on a the same block. If honest miner can find correct nonce then rational steals this nonce and propagates it in entire network.</p>

CC BY-SA 3.0
2017-09-26T14:31:56.040Z
I do not mean "sealing block" but I mean "stealing nonce" i.e. the answer of pow for a "unique block". Consicer two miners (rational and honest) are working on a the same block. If honest miner can find correct nonce then rational steals this nonce and propagates it in entire network.
Questioner
CC BY-SA 3.0
2017-09-26T14:39:25.910Z
@ Murch I do not mean "sealing block" but I mean "stealing nonce" i.e. the answer of pow for a "unique block". Consicer two miners (rational and honest) are working on a the same block. If honest miner can find correct nonce then rational steals this nonce and propagates it in entire network.
Questioner
CC BY-SA 3.0
2017-09-26T23:15:16.900Z
Same problem: The nonce is only the correct solution in the context of a specific block candidate. And the block candidate contains a coinbase transaction that is specific to the miner, as it pays out the reward to the miner. You cannot steal the nonce, because it won't solve your block candidate that would be sending the reward do yourself.
Murch
<mining-pools><proof-of-work><nonce>
Steal proof-of-work answer from a miner
Questioner
# Steal proof-of-work answer from a miner

(Asked by: username_0 on 2017-09-23)

Is it possible to steal proof-of-work answer from a miner who has insecure machine? Consider a miner who has insecure machine found correct answer of proof-of-work and an adversary steals this it and broadcasts to the whole of network to receive the related **reward**. Is it possible? and if so, what the solution? I do not mean "sealing block" but I mean "stealing nonce" i.e. the answer of pow for a "unique block". Consicer two miners (rational and honest) are working on a the same block. If honest miner can find correct nonce then rational steals this nonce and propagates it in entire network.

**Tags:** mining-pools, proof-of-work, nonce

> **Comments:**
> **username_0**: I do not mean "sealing block" but I mean "stealing nonce" i.e. the answer of pow for a "unique block". Consicer two miners (rational and honest) are working on a the same block. If honest miner can find correct nonce then rational steals this nonce and propagates it in entire network.  
> **username_0**: @ username_1 I do not mean "sealing block" but I mean "stealing nonce" i.e. the answer of pow for a "unique block". Consicer two miners (rational and honest) are working on a the same block. If honest miner can find correct nonce then rational steals this nonce and propagates it in entire network.  
> **username_1**: Same problem: The nonce is only the correct solution in the context of a specific block candidate. And the block candidate contains a coinbase transaction that is specific to the miner, as it pays out the reward to the miner. You cannot steal the nonce, because it won't solve your block candidate that would be sending the reward do yourself.  

---

## 1 answers

### Answer by username_2 on 2017-09-23. Score: 3

The proof-of-work is the fact that the hash of the block is a low number, when you interpret the hash as a long 256-bit number. If you change anything in the block then the hash changes and is very unlikely to be low enough (below the target), so the proof-of-work is gone. And quite right, you did not do any work to create that modified block.

So you can't modify the block after it is mined, which means you cannot change the bitcoin address that this block sends its miner income (new coins and transaction fees) to.

You cannot steal the miner income from a block after the block is mined.

However, if a mining pool server is insecure you could hack into it and make the mining pool mine blocks that pay your bitcoin address instead of their own.

You could also make individual miners in a pool mine for you instead of themselves. They wouldn't even need to have an insecure system. BGP routing attacks have been used to hijack miners before, making them connect to the hacker's server instead of the mining pool server they want to connect to. See <https://www.wired.com/2014/08/isp-bitcoin-theft/> This could be mitigated by using TLS, just like web servers use TLS (https addresses).

So there are multiple ways to steal from miners, but doing something with a block that is already mined is not one of them.

> **Comments:**
> **username_0**: @ username_2, I do not mean "sealing block" but I mean "stealing nonce" i.e. the answer of pow for a "unique block".  
> **username_2**: Without the rest of the block the nonce is just some 32-bit number. Completely worthless. Sure you can call it the answer for a block. The answer for a block paying someone else, not you.  
> **username_0**: @ username_2, But I have the rest of block. Consider me and you are lokking for related nonce for block "b" (so, both of us have block "b" and block "b" is the head of blockchain), then you can find correct nonce before me, but your machine is insecure and so I'm monitoring yout machine. As a result, I can broadcast your nonce in the entire network. (pow inequation is : if (hash of "b" + nonce) < T then pow succeeded)  
> **username_2**: You can't broadcast a nonce, only a whole block. And the block that the nonce works with says "pay username_2". If you change the block to say "pay sas" then the block isn't valid anymore.  
> **username_2**: You can't steal your neighbor's key to rob a bank. Their key only works on their door, not the bank.  
> **username_0**: @ username_2' I am stealing your nonce when you find it and when nonce is not signed. Please explain more clear your answers. I do change block "b" i.e. head of blockchain and your nonce is created based on hash of block "b".  
> **username_2**: Nonces are not signed, they are just 32-bit numbers  
> **username_0**: @ username_2, I do change block "b" i.e. head of blockchain and your nonce is created based on hash of block "b".  
> **username_2**: Right. You change the block, the hash is no longer under the target. Invalid block. You broadcast it but noone wants it.  
> **username_0**: @  Pieter Wuille , Do you agree with me?  
> **username_0**: @  username_2, Sorry, but I sense you're repeating your sentences. consider pow inequation is i.e. If hash of ("b" + nonce) < T then pow succeeded.  
> **username_2**: I build a block, putting together some transactions. In the first transaction (the coinbase) I specify that miner income should be paid to my bitcoin address. I try to modify parts of the block (the nonce or other parts) to get a hash that is below the target. I find one. I now have a valid block that pays me. If you get the block you can't do anything with it. If you change ANY part then the hash will be above the target, so the block is invalid.  
> **username_2**: So sure, you can steal my block data, but if you change the part where the block says where the miner income should go to, then it's not a valid block anymore. You now have to start over, change the nonce or other parts, try to find a hash below the target. You accomplished nothing.  
> **username_0**: @ username_2, Thus, you mean : "for a unique blockchain that network has a consensus on it, there is not a unique nonce and everybody find a different answer" right?  
> **username_2**: Everyone are trying to build their own blocks, putting together the data they want to put in the block. They are trying many billions of variations of the block every second. Not just changing the nonce, that would only last a split second. They build billions of blocks per second and check to see if any of them have a hash below the current target on the bitcoin network. That's what mining is.  
> **username_0**: @ username_2, So we must change inequation of PoW : If hash of ("b" + nonce) < T ?  
> **username_2**: The proof-of-work is the fact that I found a block where hash("pay username_2" + nonce + other-stuff) < target. If you change ANY part of the hashed data, it will no longer be < target. So you no longer have a proof-of-work.  
> **username_3**: @sas - Dr. Haribo was quite clear in his explanations. Perhaps you should read some more about how Bitcoin works? The wiki is a good source for this - https://en.bitcoin.it/wiki/.  

---

