As far as I understood, on short timescales regularly a blockchain split happens, i.e. when two miners find a block concurrently. However just a few blocks later the chain with more work wins and all unconfirmed transactions re-enter the pool.

Assume following scenario: One miner with 51% of the hashrate decides to perform an attack, even if it is economically not feasible, by withholding their mined blocks for an extended period of time, let's say a month. What happens if they suddenly publish 4.320 blocks at once which contain more cumulative work than the current blockchain?

  1. Does the software running on nodes just blindly accept the new blocks? Even when it is able to detect obvious double-spends?
  2. or is there a threshold in the number of blocks after which the node software rejects the new chain even if it has more work?
  3. or is there some form of input prompt so in the end the owner of the node decides what they accept as the valid chain?

I think this question is not so much centered around the principles of the bitcoin network but rather how node software is implemented.

1 Answer 1


Bitcoin Core has no limit on how deep a reorg is accepted. The reasoning is that any introduction of a rule to reject a reorg is just trading a reorg attack for a network split attack: with a threshold, nodes will disagree about which is the valid chain depending on which one they saw first.

  • Thank you for your comment. So this basically means a 51% attack will be successful even it obvious for all network members. Isn't a chain split the better choice, this way the attacker would have to maintain the hashrate in the new chain in order to maintain the value of their double-spent bitcoin?
    – VoidStar
    Dec 21, 2021 at 23:13

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.