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?

New contributor
sang oh is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
    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

      sang oh is a new contributor. Be nice, and check out our Code of Conduct.

      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.