<p>The two thresholds enable two different rules.</p>

<p>If more than 750 of the last 1000 blocks are version 2, the network starts enforcing BIP34 - at this point, blocks that claim to be version 2 but do not comply with the requirements outlined in BIP34 are rejected. Version 1 blocks continue to be accepted.</p>

<p>Once more than 950 of the last 1000 blocks are valid version 2 blocks, all new version 1 blocks are deemed invalid.</p>

<p>This allows for a mostly graceful transition, and gives miners time to upgrade their systems in a rolling manner as opposed to requiring everyone to update at the same moment.</p>

CC BY-SA 4.0
2019-12-02T13:45:54.523Z
2019-12-02T13:45:54.523Z
Raghav Sood
<p>in bip 34, which change to bitcoin version 1 -&gt; 2, uses two step for network's consensus.</p>
<blockquote>
<p>step 1. check if 750 of the last 1000 blocks are version 2 or greater.</p>
<p>step 2. check if 950 of the last 1000 blocks are version 2 or greater.</p>
</blockquote>
<p>but in my opinion, step 1 is useless process in consensus step.</p>
<p>we just need :</p>
<pre><code>check if 950 of the last 1000 blocks are version 2 or greater.
 if blocks &lt; 950 :
   if block_height_limit &gt; current_height :
     accept()
 if blocks &gt; 950 :
     return accept_new_version();
     drop version_1_block
</code></pre>
<p>why step 1 is needed on MASF step?</p>

<consensus><soft-fork><bip-34><activation-mechanism>
why bip 34 uses two step on MASF(Miner Activated Soft Fork)?
sang oh
# why bip 34 uses two step on MASF(Miner Activated Soft Fork)?

(Asked by: username_0 on 2019-12-02)

in bip 34, which change to bitcoin version 1 -> 2, uses two step for network's consensus.

> step 1. check if 750 of the last 1000 blocks are version 2 or greater.
>
> step 2. check if 950 of the last 1000 blocks are version 2 or greater.

but in my opinion, step 1 is useless process in consensus step.

we just need :

```
check if 950 of the last 1000 blocks are version 2 or greater.
 if blocks < 950 :
   if block_height_limit > current_height :
     accept()
 if blocks > 950 :
     return accept_new_version();
     drop version_1_block

```

why step 1 is needed on MASF step?

**Tags:** consensus, soft-fork, bip-34, activation-mechanism


---

## 1 answers

### Answer by username_1 on 2019-12-02. Score: 3 | Accepted answer

The two thresholds enable two different rules.

If more than 750 of the last 1000 blocks are version 2, the network starts enforcing BIP34 - at this point, blocks that claim to be version 2 but do not comply with the requirements outlined in BIP34 are rejected. Version 1 blocks continue to be accepted.

Once more than 950 of the last 1000 blocks are valid version 2 blocks, all new version 1 blocks are deemed invalid.

This allows for a mostly graceful transition, and gives miners time to upgrade their systems in a rolling manner as opposed to requiring everyone to update at the same moment.


---

