Can someone please shine some light on this and how it links to the analogy between honest node and attacker ?

also can attacker start mining 2 blocks ahead ? or 3 or 4 blocks ahead ? In the white paper it has only 1 block ?


What does it mean to have > 51% hashing power for mining a block?

Having more than 50% of the hashing power in the total network means that you are likely to produce more that 50% of the blocks at current difficultly. This alone is not bad at first.

How does this link to the analogy between honest node and attacker ?

However with more than 50% of the blocks produced you could also start mining blocks on another private chain. While mining you could buy something from a merchant with bitcoin. On your private chain you don't include the transaction to the merchant.

Once the merchant has send you the bought goods you could broadcast the private chain. Since you have more blocks (with more hashing work put into) all honest nodes would accept your (previously private) chain as a valid chain. You'd have double spend the coins. The merchant wouldn't have received any coins for the send goods.

Also can attacker start mining 2 blocks ahead? or 3 or 4 blocks ahead?

It only makes sense to mine a block on top of another valid block. You need block A to mine block B. However you don't have to broadcast A to mine B.

  • thanks but this doesn't answer why the attacker cannot mine 2 blocks in advance. How else is double spending possible ?
    – peter
    Jul 13 '18 at 14:01
  • You can mine block A but not broadcast it to the network, then mine B and have a two block advantage over the network.
    – 0xb10c
    Jul 13 '18 at 15:21
  • hold on. block A is mined privately and not broadcasted and followed up by mining block B silently and broadcasted ... but what are the assumptions ? The assumption is that the block A depends on what ? so as to keep the advantage before the attempt can be discarded.
    – peter
    Jul 13 '18 at 15:36
  • Block A depends on the current chain tip. With > 51% you might never lose the advantage over the other participants in the network, even if they mine a Block A'.
    – 0xb10c
    Jul 13 '18 at 15:57
  • 1
    @peter each block’s header includes a reference to the previous block, so you can’t just start mining two (or more) blocks into the future. If we are currently at blockheight N, you must first find blockheight N+1 (referencing N in it), and then you can use N+1 as reference for N+2, etc. Timestamps are included, but are not really relevant to your question.
    – chytrik
    Jul 13 '18 at 19:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.