-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate how to enact hardforks in the Voltaire phase #60
Comments
The current state of CIP 1694 (which is not yet final!) specifies that there will be exactly one full epoch between a hard fork being decided aka ratified and it happening aka enacted. It also currently lists the following sequence of enactments.
Therefore, the Thus, the ratification check at the boundary between And so the safe zone is for Conway is technically the duration of one epoch, and actually an exactly tight bound (ie
Note that the block counting delay and the incrementalization delay can overlap without complication: the block counting can begin after the "deadline" (ie the ratification epoch boundary) even before the results of ratification are computed. |
@nfrisby could we close this one considering we also have this other issue, which is about integrating the Voltaire HF logic into Consensus, and considering you and Alex have a good understanding of how harforks work? |
The Ledger team confirmed:
Modulo any issues found in the spec, of course. |
Closing this issue in favour of #920 |
The way in which the consensus layer checks the ledger state to see if a hard fork should occur will be changing with the conway ledger era. For the full background, see CIP-1694.
The existing check has been unchanged (semantically) since the start of the shelley ledger era:
https://github.com/input-output-hk/ouroboros-network/blob/72863b0fc78abdc2b8e29f0dda96c06da3dd11d0/ouroboros-consensus-shelley/src/Ouroboros/Consensus/Shelley/Ledger/Inspect.hs#L121
In other words, it currently checks that quorum-many votes agree on a protocol parameter change, which implies a hard fork in the case when the major protocol version is changed.
(I had thought that the consensus code re-used the ledger function which does the same thing, namely votedValue, so perhaps the implementation details have changed.)
Starting in the conway ledger era, the new check will also inspect the ledger state, but it will instead look to see if a governance action to change the major protocol version has been staged for enactment. The exact details are still being decided.
The text was updated successfully, but these errors were encountered: