1

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?

2

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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