Just learned that the Gulden update is one big update, but activates in steps.
https://dev.gulden.com/a-peek-inside-the-development-process/Phase 1 – Gulden 2.0 will be released, it will function exactly like an upgraded 1.6 at this point with no PoW² functionality present yet. Upgraded miners will signal for an upgrade, when 75% of miners are signalling the software will activate phase 2.
(Expected to last at most a week or two – depending on miners)
Phase 2 – A new special backwards compatible transaction script type will become available to upgraded (2.0) users which will allow them to create witnessing addresses. Old (1.6) users will verify these scripts but won’t be able to create or use them.
Once a minimum threshold is reached (200 or more witnessing accounts with a combined weight of 20 million or more) we will enter
Phase 3.
(Expected to last at most a week or two – depending on coin holders)
Phase 3 – PoW² witnessing commences, with a few limitations that allow old (1.6) users to remain on the network (no transactions allowed yet in the witness portion of the block for instance). Witnesses and miners will automatically start signalling a percentage of how many upgraded users they are
seeing, when this percentage goes over an average of 95% for a fixed time period we will enter Phase 4.
(We anticipate that this may take several months)
Phase 4 – At this point our backwards incompatible changes trigger, new transaction format/rules activate, PoW² witnesses start to include transactions in their portion of the block, witness accounts start to switch over to a new improved backwards incompatible transaction format, new accounts using the old temporary format are no longer allowed, SegSig activates etc. The remaining 5% of 1.6.x users will no longer be able to participate in the network.
Phase 5 – After some time 2.1 will be released, code to support old witness accounts can/will be safely removed with affecting block validation – leaving us with a codebase free of technical debt. Checkpointing can also be safely removed at this point.
+
https://dev.gulden.com/august-development-update/SEGSIG – JUNE 2017While working on the optimal way to implement the new address type, it became obvious that many parts of the codebase that need to change to accommodate this are the same parts that are affected by SegWit.
At around about the same time after watching SegWit for some time, it become clear that though the Bitcoin team had still failed to activate SegWit there was now a clear determination to do so and that one way or another SegWit in its current form -will- eventually be activated,
we therefore had to at this point give up hope that the Bitcoin team might develop a better SegWit which makes the sort of changes we were hoping for and instead accept that if we wanted this it would have to be something we do ourselves.
And so the concept of SegSig was born, we were faced with two possible paths forward:
1) Release PoW² hardfork as originally planned. (including extensive testing)
Go through the work of having everyone including exchanges and mining pools upgrade to it.
Produce SegSig as a hardfork, which involves changing a lot of the same code as PoW²
Put our testers through extensive testing once again.
Go through the work of having everyone upgrade for a second time in a short time period.
2) Combine PoW² and SegSig together into one release, despite possible delays and release it all at once.
This was not an easy decision, I am not a fan of trying to do too many things in one release as this has the potential to get out of control and normally I would prefer to try and seperate things into multiple small releases. As a developer it would have been easier for me to take option 1.
Yes this is the Mother of all updates!