Author

Topic: Cheat mining two block in a row? (Read 1458 times)

legendary
Activity: 4256
Merit: 8551
'The right to privacy matters'
November 16, 2015, 12:34:17 AM
#6

1. Mining two block in a row
(If I do understand the mining process correctly, I can’t start mining for a block without knowing the previous one which give me the hashing « problem » to solve)
Let say I’m a Bitcoin miner with like 20% mining power. I find one block with a lot of luck so within 1 minute after the previous one. Would I be able to wait before broadcasting my block so I can start mining the next block after that while the others miners are still mining for the block I’ve found? If I bet that the next one to find it does not have a lot of luck, I can wait like 8 minutes without broadcasting my block and doing so I'm 8 minutes ahead of others which give me a huge advantage and a chance to repeat the process.
I sure there is a flaw in my argument but I don’t know where.
In the time that it takes for you to solve the second block, then someone else could have also found the first block. It could give you an advantage, but you would be fighting 80% of the mining power and hoping that they don't find two blocks before you. It relies too much on your luck. There is less risk and more reward if you broadcast the block than if you wait and then lose two block rewards and the time and power it took to try to find those two blocks.

2. Re-brodcasting a block
When I've found a block and I broadcast it, what is preventing an other miner to take my solution to the hashing problem and re-brodcasting it hopping (with better connection to the rest of the network?) that his block would be included and not mine.
My guess for this one would be that the solution is dependent of the address which would receive the reward so you can't just take the solution and change the reward address?
The address that receives the reward is part of the coinbase transaction, which is part of the transaction tree which becomes the merkle root. The merkle root is part of the header. If one of the transactions were to change, e.g. the coinbase with a different address, then the merkle root would change and thus the hash of the block would change and the whole thing would be invalidated.

I have to completely agree with that is said here.  Especially concerning having a valid first block before the second one is started.  By not broadcasting when you are completed, you are allowing someone else to swoop in and broadcast for you in turn collecting the reward and leaving you high and dry.  Stop trying to recreate the wheel.  The wheel is there for you, if anything, add to it to make it more reliable.

I am pretty sure the op is referring to f2pool as they are over 20%.

They can do what he is saying and while my math skills are okay I do not want to say that under 2 minute delay works to their advantage mathematically but it might give them an edge.

HERE is my logic a standard average time is 10 minutes.

they have 23% of the pool.

23% of 10 = 2 minutes 18 seconds.

So if they stay under that time I am really pretty sure the math works for them.

but if they go over  2 minutes and 18 seconds the math works against them.

If I am wrong please show the math as to why I am wrong.

I would further say f2pool  if they were doing it can do it 10 times a week.

they make 30 blocks every day on average which is 210 a week.

to keep it hard to detect they only need do it 10 to 20 times every 200 blocks made.

 It does work. It is hard to prove.  But there is a counter measure.  You can point defective (on purpose) 1ph at them using nicehash. / westhash proxies  and  a custom software with all solutions over 90 billion get tossed on your gear.

So the 1ph you point at them is not going to report every block  made but since you it is pointed at f2pool you get paid. in full for your hash from f2pool thus costing them btc.

I suspect this also gets done sometimes.  Hard to prove either one but both work. IMO
hero member
Activity: 588
Merit: 500
November 15, 2015, 09:45:44 PM
#5

1. Mining two block in a row
(If I do understand the mining process correctly, I can’t start mining for a block without knowing the previous one which give me the hashing « problem » to solve)
Let say I’m a Bitcoin miner with like 20% mining power. I find one block with a lot of luck so within 1 minute after the previous one. Would I be able to wait before broadcasting my block so I can start mining the next block after that while the others miners are still mining for the block I’ve found? If I bet that the next one to find it does not have a lot of luck, I can wait like 8 minutes without broadcasting my block and doing so I'm 8 minutes ahead of others which give me a huge advantage and a chance to repeat the process.
I sure there is a flaw in my argument but I don’t know where.
In the time that it takes for you to solve the second block, then someone else could have also found the first block. It could give you an advantage, but you would be fighting 80% of the mining power and hoping that they don't find two blocks before you. It relies too much on your luck. There is less risk and more reward if you broadcast the block than if you wait and then lose two block rewards and the time and power it took to try to find those two blocks.

2. Re-brodcasting a block
When I've found a block and I broadcast it, what is preventing an other miner to take my solution to the hashing problem and re-brodcasting it hopping (with better connection to the rest of the network?) that his block would be included and not mine.
My guess for this one would be that the solution is dependent of the address which would receive the reward so you can't just take the solution and change the reward address?
The address that receives the reward is part of the coinbase transaction, which is part of the transaction tree which becomes the merkle root. The merkle root is part of the header. If one of the transactions were to change, e.g. the coinbase with a different address, then the merkle root would change and thus the hash of the block would change and the whole thing would be invalidated.

I have to completely agree with that is said here.  Especially concerning having a valid first block before the second one is started.  By not broadcasting when you are completed, you are allowing someone else to swoop in and broadcast for you in turn collecting the reward and leaving you high and dry.  Stop trying to recreate the wheel.  The wheel is there for you, if anything, add to it to make it more reliable.
full member
Activity: 140
Merit: 100
November 09, 2015, 11:08:19 AM
#4
This video answers your question perfectly: https://www.youtube.com/watch?v=sE7998qfjgk
hero member
Activity: 728
Merit: 500
November 08, 2015, 08:34:41 PM
#3

1. Mining two block in a row
(If I do understand the mining process correctly, I can’t start mining for a block without knowing the previous one which give me the hashing « problem » to solve)
Let say I’m a Bitcoin miner with like 20% mining power. I find one block with a lot of luck so within 1 minute after the previous one. Would I be able to wait before broadcasting my block so I can start mining the next block after that while the others miners are still mining for the block I’ve found? If I bet that the next one to find it does not have a lot of luck, I can wait like 8 minutes without broadcasting my block and doing so I'm 8 minutes ahead of others which give me a huge advantage and a chance to repeat the process.
I sure there is a flaw in my argument but I don’t know where.
In the time that it takes for you to solve the second block, then someone else could have also found the first block. It could give you an advantage, but you would be fighting 80% of the mining power and hoping that they don't find two blocks before you. It relies too much on your luck. There is less risk and more reward if you broadcast the block than if you wait and then lose two block rewards and the time and power it took to try to find those two blocks.

2. Re-brodcasting a block
When I've found a block and I broadcast it, what is preventing an other miner to take my solution to the hashing problem and re-brodcasting it hopping (with better connection to the rest of the network?) that his block would be included and not mine.
My guess for this one would be that the solution is dependent of the address which would receive the reward so you can't just take the solution and change the reward address?
The address that receives the reward is part of the coinbase transaction, which is part of the transaction tree which becomes the merkle root. The merkle root is part of the header. If one of the transactions were to change, e.g. the coinbase with a different address, then the merkle root would change and thus the hash of the block would change and the whole thing would be invalidated.
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
November 07, 2015, 10:24:59 AM
#2
1. There is not point in waiting to broadcast your solution simply because somebody else is very likely to find a solution in that timeframe and render your block invalid.  If your first block is invalid, your second one also is.  So, you got lucky and solved two blocks in a row, but neither of them is going to be added to the chain, so you lost 50BTC plus.

2. The solution you found for your block is unique to you.  For example if you're mining on pool 1 and find a block, that solution would not find a block on pool 2.
newbie
Activity: 1
Merit: 0
November 07, 2015, 10:03:24 AM
#1
Hi,
I have two questions about trying to "cheat" the mining system:

1. Mining two block in a row
(If I do understand the mining process correctly, I can’t start mining for a block without knowing the previous one which give me the hashing « problem » to solve)
Let say I’m a Bitcoin miner with like 20% mining power. I find one block with a lot of luck so within 1 minute after the previous one. Would I be able to wait before broadcasting my block so I can start mining the next block after that while the others miners are still mining for the block I’ve found? If I bet that the next one to find it does not have a lot of luck, I can wait like 8 minutes without broadcasting my block and doing so I'm 8 minutes ahead of others which give me a huge advantage and a chance to repeat the process.
I sure there is a flaw in my argument but I don’t know where.

2. Re-brodcasting a block
When I've found a block and I broadcast it, what is preventing an other miner to take my solution to the hashing problem and re-brodcasting it hopping (with better connection to the rest of the network?) that his block would be included and not mine.
My guess for this one would be that the solution is dependent of the address which would receive the reward so you can't just take the solution and change the reward address?


Thanks if you have any answers for me!
Jump to: