0

Some questions already adressed similar issues (preventing fraud in a mining pool, what prevents a pool miner for stealing an entire block) but my question is different from those, if I understand correctly the mechanism.

Here is my point: Let's say for simplification there are only three nodes in the blockchain:

  • Platform node, the only platform where you can exchange BTC for FIAT, in America
  • My node, in Europe
  • Bad guy's node, in Europe

My and bad guy's node are both mining, as well as Platform's node. Now, imagine I find the solution for a block at T time. At T + 1 second, my node sends the solution on the network. My solution is made of:

  • My public key where I'm getting the reward
  • Data = block with the solution
  • Signed Data with my key

At T+ 2 seconds, bad guy's node receives the solution. But bad guy has a special code snippet: he reads my candidate solution, steals it and writes a new candidate block that he sends on the network with his public key and his signature.

Because he has better connection, CPU or whatever network tricks, Bad Guy's candidate block arrives to platform's node at T+3 seconds and my candidate block arrives at T+4 secondes.

Question: So in this situation, the reward from mining would go to the bad guy's node from the point of view of the platform's node. And I would not be able to recover them in FIAT. What mechanism prevents such a stealing?

2
  • The block is not protected by the block author’s signature, it is protected by proof of work. Does bitcoin.stackexchange.com/q/95564/5406 answer your question?
    – Murch
    Sep 13, 2023 at 18:17
  • Interesting link, but this does not address my question. It would be interested though to integrate my question in this subject Sep 14, 2023 at 18:38

1 Answer 1

4

The first transaction in a block is the so-called coinbase transaction and it is this that pays block-reward and transaction fees to the miner's address.

Note that these details are contained within the block and are not external accompanying information.

This coinbase transaction's data affects the block hash, so changing the coinbase output to pay a bad guy would change the block hash to one that almost certainly fails to be less than the target and so is an invalid block.


he reads my candidate solution, steals it and writes a new candidate block that he sends on the network with his public key and his signature.

a block with (i.e. containing) a different public key or a different signature is a different block with a different hash - the "solution" is different and almost certainly invalid (hash > target).

1
  • 1
    Thanks you answered my question. I had not understood before that the cryptographic problem was different for each of the miner because each miner included his own public key in the transaction Sep 14, 2023 at 18:40

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.