<p>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.</p>

CC BY-SA 4.0
2021-12-21T23:13:42.730Z
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
CC BY-SA 4.0
2021-12-20T20:35:45.687Z
2021-12-20T20:35:45.687Z
Pieter Wuille
<p>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.</p>
<p>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?</p>
<ol>
<li>Does the software running on nodes just blindly accept the new blocks? Even when it is able to detect obvious double-spends?</li>
<li>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?</li>
<li>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?</li>
</ol>
<p>I think this question is not so much centered around the principles of the bitcoin network but rather how node software is implemented.</p>

<bitcoin-core><blockchain-fork>
How is a large chain split resolved?
VoidStar
# How is a large chain split resolved?

(Asked by: username_0 on 2021-12-20)

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.

**Tags:** bitcoin-core, blockchain-fork


---

## 1 answers

### Answer by username_1 on 2021-12-20. Score: 5

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.

> **Comments:**
> **username_0**: 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?  

---

